【博文推薦】OpenStack Neutron網(wǎng)絡(luò)連通性測試指導(dǎo)
【編者的話】
OpenStack項目的首要任務(wù)是簡化云的部署過程并為其帶來良好的可擴(kuò)展性。博文博主希望提供了一套測試openstack neutron的網(wǎng)絡(luò)連通性的指導(dǎo)信息,希望能夠幫助大家更好地管理自己的公共云或私有云。
本博文出自51CTO博客林夕博主,有任何問題請進(jìn)入博主頁面互動討論! 博文地址:http://lutaoxu.blog.51cto.com/4224602/1650104 |
測試openstack網(wǎng)絡(luò)連通性,方式如下:
1.openstack控制端執(zhí)行nova list 查看VM對應(yīng)的名稱和VM_UUID。
2.openstack控制端執(zhí)行nova show $VM_UUID,查看VM所在的openstack compute node信息和instance name.
3.登錄到openstack compute node,執(zhí)行virsh list 查看VM狀態(tài),執(zhí)行virsh dumpxml instance-XXXX查找文件中的關(guān)于“Bridge”信息,查找tap的ID和網(wǎng)橋 qbrXXXX.
VM系統(tǒng)里面的信息如下:
結(jié)合圖片可以看出:
eth0連接的目的設(shè)備是:tap162f6bda-36,別名為net0.
eth1連接的目的設(shè)備是:tap8d14e7bd-35,別名為net1.
ethX和tapXXX是TAP設(shè)備。
TAP設(shè)備橋接到網(wǎng)橋qbrXX上。qbr設(shè)備是因為不能在TAP設(shè)備上配置network ACL rules而增加的設(shè)備。
eth0對應(yīng)的tap162f6bda-36,橋接到的網(wǎng)橋為qbr162f6bda-36.
eth1對應(yīng)的tap8d14e7bd-35,橋接到的網(wǎng)橋為qbr8d14e7bd-35.
#p#
4.執(zhí)行brctl show查看網(wǎng)橋qbr上的接口信息,找到tap設(shè)備和qvbXXXX接口。
這里可以看到網(wǎng)橋qbr162f6bda-36,上面有接口qvb162f6bda-36和tap162f6bda-36.
網(wǎng)橋qbr8d14e7bd-35,上面有接口qvb8d14e7bd-35和tap8d14e7bd-35.
這里出現(xiàn)的qvbXXX和qvoXXX是一對veth pair devices,是一對虛擬的網(wǎng)卡設(shè)備,用來連接bridge device和switch。連接Linux bridge網(wǎng)橋和Open vSwitch的虛擬網(wǎng)卡設(shè)備。名字的涵義是q-quantum,v-veth,b-bridge,o-open vswitch.(quantum年代的遺留)。
5.lshw -class network|more 查看qvb設(shè)備的驅(qū)動是否是veth類型。
6.ethtool -S 查看qvb接口的對端peer_ifindex:number。
7.ip link找到number對應(yīng)的接口qvoXXX。
qvbXXX和qvoXXX是一對veth設(shè)備,成對出現(xiàn)的??梢愿鶕?jù)ethtool -S 查看對端的number,并且根據(jù)ip link|more查看到對應(yīng)的veth設(shè)備名稱。
qvb是quamtum veth bridge.
qvo是quamtum veth open vswitch.
qvoXXX設(shè)備連接到了Open vSwitch設(shè)備br-int.
#p#
8.通過Open vSwitch 中的命令ovs-vsctl port-to-br qvoXXX查看qvoXXX設(shè)備所屬的bridge。
這個ovs-vsctl port-to-br qvoXXX是列出所有掛載到qvoXXX的網(wǎng)橋。
9.可以通過ovs-vsctl list-br查看所有的網(wǎng)橋:
10.可以通過ovs-vsctl list-ports br-XX查看brXXX上面的端口。
ovs-vsctl list-ports br-int和ovs-vsctl list-port br-ethXXX.
int-br-ethX和phy-br-ethX是用來連接Open Vswitch設(shè)備br-int和br-ethX的。另外,VLAN ID的轉(zhuǎn)換是發(fā)生在br-int和br-ethX的端口int-br-ethX和phy-br-ethX上面的。從int-br-ethX進(jìn)來的數(shù)據(jù)包,其VLAN ID 會被轉(zhuǎn)換為內(nèi)部VLAN 的ID。同理,從網(wǎng)絡(luò)出去的數(shù)據(jù)包,經(jīng)過phy-br-ethX,VLAN ID會從內(nèi)部VLAN ID 轉(zhuǎn)化為外部VLAN ID。
11.通過ethtool -S 命令查看int-br-ethX的對端設(shè)備number,并且通過ip link |more |grep number查看int-br-ethX的對端設(shè)備。
12.查看phy-br-ethX連接到的虛擬網(wǎng)橋br-ethX.
13.看到虛擬網(wǎng)橋br-ethX上的端口:
關(guān)于本例子中的br-ethX和物理網(wǎng)口ethX的關(guān)系是:***數(shù)據(jù)包要到物理網(wǎng)絡(luò)中,必須依靠真正的物理網(wǎng)卡。所以必須ovs-vsctl add-port br-ethX ethX。
本例子中是ovs-vsctl add-port br-eth2 eth3。這樣,整個鏈路才能完全打通。
這樣,我看到從VM的端口到qvoXXX接口的信息及網(wǎng)橋和端口的連接情況,結(jié)合tcpdump -i 命令查看網(wǎng)絡(luò)流量。這種網(wǎng)絡(luò)的連接架構(gòu),能夠作為網(wǎng)絡(luò)故障分析的依據(jù)。