搭建OpenStack平臺(tái)或者維護(hù)OpenStack平臺(tái)會(huì)用到一些交叉性的網(wǎng)絡(luò)知識(shí),一部分和Linux操作系統(tǒng)的配置有關(guān)、一部分和交換機(jī)、路由器、網(wǎng)橋等網(wǎng)絡(luò)設(shè)備有關(guān)。當(dāng)然,和網(wǎng)絡(luò)有關(guān)的部分并不會(huì)涉及的特別深入,仍以基本操作為主,畢竟OpenStack平臺(tái)本質(zhì)上仍舊是一個(gè)以軟件為中心的OS級(jí)底層平臺(tái)。
成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司是一家服務(wù)多年做網(wǎng)站建設(shè)策劃設(shè)計(jì)制作的公司,為廣大用戶提供了成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站,成都網(wǎng)站設(shè)計(jì),廣告投放平臺(tái),成都做網(wǎng)站選成都創(chuàng)新互聯(lián)公司,貼合企業(yè)需求,高性價(jià)比,滿足客戶不同層次的需求一站式服務(wù)歡迎致電。在使用OpenStack平臺(tái)時(shí),我們會(huì)在日常維護(hù)過(guò)程中頻繁使用到這幾個(gè)概念:網(wǎng)卡接口、網(wǎng)橋、VLAN、VXLAN、命名空間與名字空間、GRE。
網(wǎng)卡,指的是Linux系統(tǒng)中的 Ethnet,是一個(gè)物理接口,也可以通過(guò)虛擬軟件模擬生成。
網(wǎng)卡管理工具 ethtool
安裝:
Ubuntu:apt-get install -y ethtool
CentOS:yum install -y ethtool
操作:
ethtool -s DEVICENAME autoneg off speed NUMBER duplex full /設(shè)置網(wǎng)卡以某個(gè)速度開(kāi)啟全雙工/
Ubuntu:網(wǎng)卡配置文件是 /etc/network/interfaces
ethtool eth0 /查看網(wǎng)考eth0的信息/
/etc/init.d/networking restart /重啟網(wǎng)絡(luò)服務(wù)/
配置網(wǎng)卡eth3 的子接口 eth3:0 ,編輯eth3的配置文件如下{
auto eth3
iface eth3 inet static
address 12.7.2.2
netmask 255.0.0.0
auto eth3:0
iface eth3:0 inet static
address 12.7.2.21
netmask 255.0.0.0
}
ifconfig /查看本機(jī)網(wǎng)卡信息/
CentOS:網(wǎng)卡配置文件是 /etc/sysconfig/network-scripts/ifcfg-網(wǎng)卡名稱
ethtool em1 /查看網(wǎng)卡em1的信息/
service network restart /重啟網(wǎng)絡(luò)服務(wù)/
配置網(wǎng)卡 em2 的子接口 em2:0 ,編輯配置文件 /etc/sysconfig/network-scripts/ifcfg-em2:2 如下{
DEVICE=em2:0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATWAY=192.168.1.1
ONPARENT=yes
}
網(wǎng)橋是什么?網(wǎng)橋作為一個(gè)物理設(shè)備出現(xiàn)時(shí),是指一種只有輸入和輸出連個(gè)端口的、工作在數(shù)據(jù)鏈路層對(duì)幀進(jìn)行轉(zhuǎn)發(fā)的硬件產(chǎn)品,他用于鏈接兩個(gè)同質(zhì)網(wǎng)絡(luò),即采用同一網(wǎng)絡(luò)協(xié)議的LAN,并依賴緩存的MAC地址根據(jù)設(shè)定條件轉(zhuǎn)發(fā)或丟棄數(shù)據(jù)。在OpenStack環(huán)境中,網(wǎng)橋指的是Linux內(nèi)核模塊虛擬的以太網(wǎng)接口橋接技術(shù),同時(shí)具備了交換機(jī)的功能,可以有多個(gè)端口,所有加入到網(wǎng)橋的網(wǎng)卡共享網(wǎng)橋的IP,效果相當(dāng)于在物理交換機(jī)的端口上接了一根網(wǎng)線,用于解決虛擬機(jī)網(wǎng)卡連接問(wèn)題。橋接,就是把一臺(tái)機(jī)器上的多個(gè)端口連接起來(lái),其中一個(gè)端口收到的報(bào)文會(huì)被賦值給其他端口。
在OpenStack虛擬環(huán)境下,Linux宿主系統(tǒng)中的虛擬網(wǎng)橋會(huì)與宿主機(jī)的物理網(wǎng)卡連接,寄宿系統(tǒng)中的網(wǎng)卡則加入到虛擬網(wǎng)橋上。
網(wǎng)橋是出現(xiàn)在宿主系統(tǒng)中的,我們選擇CentOS作為宿主系統(tǒng):
1 安裝網(wǎng)橋的管理工具 bridge-utils
Yum install -y brodge-utils
2 創(chuàng)建網(wǎng)橋 br1 并將物理網(wǎng)卡 em1 加入 br1,并配置 br1 的 IP 為 172.21.1.3
brctl addbr br1
brctl addif em1
ifconfig em1 0.0.0.0
ifconfig br1 172.21.1.3 netmask 255.255.0.0
3 查看網(wǎng)橋信息
brctl show br1
4 物理網(wǎng)卡em1的配置文件 ifcf-em1:
DEVICE=”em1”
HWADDR=”d4:ae:52:64:04:06”
#NM_CONTROLLED=”yes”
ONBOOT=”yes”
BRIDG=”br1”
5 虛擬網(wǎng)橋br1的配置文件 ifcfg-br1:
DEVICE=”br1”
TYPE=Bridge
BOOTPROTO=static
IPADDR=172.21.1.3
NETMASK=255.255.0.0
NETWORK=172.21.0.0
GATEWAY=172.21.1.1
DNS1=61.139.2.69
ONBOOT=”yes”
配置了網(wǎng)橋的IP后,即可使用此IP遠(yuǎn)程訪問(wèn)宿主系統(tǒng)。
與網(wǎng)橋相連接的寄宿系統(tǒng)IP,可以與本網(wǎng)橋IP處于同一網(wǎng)段,也可以處于不同網(wǎng)段。
在實(shí)驗(yàn)環(huán)境中我們統(tǒng)一配置寄宿系統(tǒng)的IP段為 192.168.1.0/24,外部交換機(jī)設(shè)網(wǎng)關(guān)地址 192.168.1.1 ,宿主系統(tǒng)中網(wǎng)橋br1的IP為 172.21.1.3 。
我們的寄宿系統(tǒng)是Ubuntu,Ubuntu的網(wǎng)卡eth0需要加入到宿主系統(tǒng)的網(wǎng)卡br0上。Ubuntu的網(wǎng)卡、網(wǎng)橋等配置都在文件 /etc/network/interfaces 中完成:
auto eth0 iface
eth0 inet manual
auto br0
iface br0 inet static
address 192.068.1.3
netmask 255.255.255.0
gateway 192.168.1.1
bridge_ports eth0
關(guān)于寄宿系統(tǒng)的網(wǎng)卡與宿主系統(tǒng)的網(wǎng)橋鏈接:
創(chuàng)建寄宿系統(tǒng)時(shí),在宿主系統(tǒng)CentOS 中可以通過(guò)GUI工具 virt-manager將寄宿系統(tǒng)的網(wǎng)卡掛載到指定網(wǎng)橋上。
VLAN即 802.1Q 協(xié)議,用于限制因廣播風(fēng)暴引起的網(wǎng)橋通信能力下降,可以隔離不同的網(wǎng)絡(luò)。習(xí)慣上,我們將虛擬網(wǎng)橋與VLAN對(duì)應(yīng)起來(lái)。一個(gè)局域網(wǎng)中可以有4096個(gè)VLAN 。
VLAN的工作機(jī)制是給每個(gè)寄宿機(jī)發(fā)出包都加上一個(gè)tag,每個(gè)寄宿機(jī)只能接收同一VLAN tag的包。
給包標(biāo)記tag的端口叫做接入端口,只轉(zhuǎn)發(fā)數(shù)據(jù)包的端口叫中繼端口。各寄宿機(jī)在虛擬網(wǎng)橋上的接口就是接入端口,宿主機(jī)上的物理網(wǎng)卡接口及交換機(jī)上的端口則是中繼端口。
Linux下VLAN的管理工具是 vconfig。
在寄宿系統(tǒng)Ubuntu下,安裝vconfig并載入8021q模塊:
apt-get install vlan
modprobe 8021q 【將該模塊加入到配置文件 /etc/modules 中】
多個(gè)VLAN的數(shù)據(jù)可以通過(guò)一個(gè)物理網(wǎng)卡對(duì)外轉(zhuǎn)發(fā),每個(gè)VLAN以獨(dú)立的接口出現(xiàn)。可以為每個(gè)VALN接口分配不同的IP,讓這個(gè)IP成為某個(gè)VALN對(duì)外訪問(wèn)的網(wǎng)關(guān)。
在寄宿系統(tǒng)Ubuntu的eth3上創(chuàng)建VALN 2、3、4并賦予各VALN IP,而后將之添加到寄宿系統(tǒng)路由表中:
vconfig add eth3 2
vconfig add eth3 3
vconfig add eth3 4
ifconfig eth3.2 192.168.2.1 netmask 255.255.255.0 up
ifconfig eth3.3 192.168.3.1 netmask 255.255.255.0 up
ifconfig eth3.4 192.168.4.1 netmask 255.255.255.0 up
ip route add 192.168.1.0/24 dev eth3.2
ip route add 192.168.2.0/24 dev eth3.3
ip route add 192.168.3.0/24 dev eth3.4
【vconfig rem VALN接口 表示刪除某個(gè)VLAN接口】
在宿主機(jī)CentOS 中,我們只創(chuàng)建虛擬網(wǎng)橋和VLAN,VALN的網(wǎng)關(guān)設(shè)置在交換機(jī)中,不同VLAN間的互訪通過(guò)交換機(jī)中的路由表完成。若要限制不同VALN間的互訪,則應(yīng)在交換機(jī)中配置訪問(wèn)控制列表。
用多塊網(wǎng)卡連接不同網(wǎng)段,需要用路由表來(lái)處理網(wǎng)絡(luò)路徑。
Open vSwitch 是創(chuàng)建在宿主系統(tǒng)CentOS中的虛擬交換機(jī)。
虛擬交換機(jī)的使用:
ovs-vsctl add-br br0 /添加虛擬網(wǎng)橋br0/
ovs-vsctl add-port br0 eth0 /將網(wǎng)卡eth0加入到虛擬網(wǎng)橋br0/
ovs-vsctl add-port br0 vlan1 tag=1 /**在虛擬網(wǎng)橋br0上創(chuàng)建屬于VLAN1的端口vlan1/
ovs-vsctl add-port br0 vlan2 tag=2 /**在虛擬網(wǎng)橋br0上創(chuàng)建屬于VLAN2的端口vlan2/
ovs-vsctl set Interface vlan1 type=internal /設(shè)置端口vlan1/
ifconfig vlan1 192.168.1.1 netmask 255.255.255.0 /設(shè)置vlan1端口的IP為192.168.1.1/
ovs-vsctl set Interface vlan2 type=internal /設(shè)置端口vlan2/
ifconfig vlan2 192.168.2.1 netmask 255.255.255.0 /設(shè)置vlan2 端口的IP為192.168.2.1/
【我們將eth0的IP配置為0,則應(yīng)給其所屬虛擬網(wǎng)橋br0配置IP及網(wǎng)關(guān),通過(guò)虛擬網(wǎng)橋的IP訪問(wèn)服務(wù)器】
關(guān)于保存OVS的配置:一是將配置指令寫入 /etc/rc.local ;二是將配置寫入網(wǎng)絡(luò)配置文件。
一個(gè)VXLAN管理域可有1600萬(wàn)個(gè)VIN,每個(gè)VIN可以有4096個(gè)VLAN。運(yùn)行在同一個(gè)VIN上的寄宿機(jī)間可以通信。
可以在宿主系統(tǒng)CentOS上創(chuàng)建一個(gè)VXLAN接口,將之加入虛擬交換機(jī)的一個(gè)橋中,這樣OVS便具備了組播功能。
在Linux中 命名空間 提供了一種資源虛擬隔離機(jī)制,從而實(shí)現(xiàn)多個(gè)進(jìn)程間的互不干擾。在OpenStack華景中,我們更關(guān)注網(wǎng)絡(luò)命名空間,相同命名空間內(nèi)的網(wǎng)絡(luò)設(shè)備可以互訪、不同命名空間內(nèi)的網(wǎng)絡(luò)設(shè)備不可互訪。命名空間和系統(tǒng)的通信是通過(guò)VETH實(shí)現(xiàn)的,命名空間內(nèi)的veth-in接口的數(shù)據(jù)會(huì)被轉(zhuǎn)發(fā)到系統(tǒng)空間的veth-out端口,veth-out和宿主機(jī)的網(wǎng)卡eth0加入到同一個(gè)虛擬網(wǎng)橋后,veth-in接口的數(shù)據(jù)就可以通過(guò)宿主機(jī)的網(wǎng)卡eth0與外部通信了。
GRE,全稱為Generic Routing Encapsulation,通用路由封裝,針對(duì)某些網(wǎng)絡(luò)協(xié)議的報(bào)文進(jìn)行封裝、并使封裝后的報(bào)文能在另一網(wǎng)絡(luò)協(xié)議中傳輸。GRE本質(zhì)上是一種支持點(diǎn)對(duì)點(diǎn)連接的tunnel技術(shù),在OpenStack中由OVS進(jìn)行封包和解包,這是現(xiàn)今主要使用的 Overlay 網(wǎng)絡(luò)技術(shù)之一,由Cisco 等公司提出。
VXLAN,是一種新的網(wǎng)域管理設(shè)計(jì)理念,是一種交換機(jī)上的功能,每個(gè)管理域可容納1600個(gè)VIN、每個(gè)VIN又可容納4096VLAN,使得整個(gè)OpenStack的租戶容量大大得到擴(kuò)展,同事也使得一個(gè)租戶的VM實(shí)例可以跨數(shù)據(jù)中心部署。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。