【博文推荐】测试openstack neutron的网络连通性

网络 网络设备 OpenStack
关于本例子中的br-ethX和物理网口ethX的关系是:最后数据包要到物理网络中,必须依靠真正的物理网卡。所以必须ovs-vsctl add-port br-ethX ethX。本例子中是ovs-vsctl add-port br-eth2 eth3。这样,整个链路才能完全打通。

本博文出自51CTO博主 林夕的博客,有任何问题请进入博主页面互动讨论!

博文地址http://lutaoxu.blog.51cto.com/4224602/1650104

测试openstack网络连通性,方式如下:

1.openstack控制端执行nova list 查看VM对应的名称和VM_UUID。

wKioL1VPeliQt8qeAAEfFq_8vcI668.jpg

wKiom1VPeQvDLPxGAARxSfg-uhQ828.jpg

wKioL1VPes6gkGm8AAP5nJEadMA815.jpg

2.openstack控制端执行nova show $VM_UUID,查看VM所在的openstack compute node信息和instance name.

wKioL1VPeynB4LydAAL8WBgxuOE239.jpg

3.登录到openstack compute node,执行virsh list 查看VM状态,执行virsh dumpxml instance-XXXX查找文件中的关于“Bridge”信息,查找tap的ID和网桥 qbrXXXX.

wKioL1VPe16DaKPFAADlCgl6_iY216.jpg

 VM系统里面的信息如下:

wKiom1VPelTwCDFVAALezU5w7Mc366.jpg

wKioL1VPe9_idyXgAAKKqtLklt8190.jpg

wKioL1VPe_SSkqLUAAHmeAwwfE0106.jpg

 结合图片可以看出:

eth0连接的目的设备是:tap162f6bda-36,别名为net0.

eth1连接的目的设备是:tap8d14e7bd-35,别名为net1.

ethX和tapXXX是TAP设备。

TAP设备桥接到网桥qbrXX上。qbr设备是因为不能在TAP设备上配置network ACL rules而增加的设备。

eth0对应的tap162f6bda-36,桥接到的网桥为qbr162f6bda-36.

eth1对应的tap8d14e7bd-35,桥接到的网桥为qbr8d14e7bd-35.

4.执行brctl show查看网桥qbr上的接口信息,找到tap设备和qvbXXXX接口。

wKiom1VPesWii4JSAAJZ9O8sy1Q952.jpg

 这里可以看到网桥qbr162f6bda-36,上面有接口qvb162f6bda-36和tap162f6bda-36.

网桥qbr8d14e7bd-35,上面有接口qvb8d14e7bd-35和tap8d14e7bd-35.

这里出现的qvbXXX和qvoXXX是一对veth pair devices,是一对虚拟的网卡设备,用来连接bridge device和switch。连接Linux bridge网桥和Open vSwitch的虚拟网卡设备。名字的涵义是q-quantum,v-veth,b-bridge,o-open vswitch.(quantum年代的遗留)。

#p#

5.lshw -class network|more 查看qvb设备的驱动是否是veth类型。

wKiom1VPe0jAw3oOAALzIqU8yO8833.jpg

wKioL1VPfLKQpOPUAAMHqtkIynw184.jpg

 

6.ethtool -S 查看qvb接口的对端peer_ifindex:number。

wKioL1VPfQuRwS-LAACLUereS4c433.jpg

wKiom1VPe6SBfj1MAACGfLki08o392.jpg

7.ip link找到number对应的接口qvoXXX。

wKioL1VPfXCS7vm9AATr2nQjGMI303.jpg

wKiom1VPfAzScMU7AANivQr_nRI849.jpg

 qvbXXX和qvoXXX是一对veth设备,成对出现的。可以根据ethtool -S 查看对端的number,并且根据ip link|more查看到对应的veth设备名称。

qvb是quamtum veth bridge.

qvo是quamtum veth open vswitch.

qvoXXX设备连接到了Open vSwitch设备br-int.

8.通过Open vSwitch 中的命令ovs-vsctl port-to-br qvoXXX查看qvoXXX设备所属的bridge。

wKioL1VPfbzhc0iEAACt1PP98Fc710.jpg

 这个ovs-vsctl port-to-br qvoXXX是列出所有挂载到qvoXXX的网桥。

9.可以通过ovs-vsctl list-br查看所有的网桥:

wKiom1VPfGbxt25EAAB1lWSV1Lg212.jpg

10.可以通过ovs-vsctl list-ports br-XX查看brXXX上面的端口。

ovs-vsctl list-ports br-int和ovs-vsctl list-port br-ethXXX.              

wKioL1VPfg6yfJeSAAEL1i2Te_o508.jpg

 int-br-ethX和phy-br-ethX是用来连接Open Vswitch设备br-int和br-ethX的。另外,VLAN ID的转换是发生在br-int和br-ethX的端口int-br-ethX和phy-br-ethX上面的。从int-br-ethX进来的数据包,其VLAN ID 会被转换为内部VLAN 的ID。同理,从网络出去的数据包,经过phy-br-ethX,VLAN ID会从内部VLAN ID 转化为外部VLAN ID。

11.通过ethtool -S 命令查看int-br-ethX的对端设备number,并且通过ip link |more |grep number查看int-br-ethX的对端设备。

wKiom1VPfNTD8lV_AAFxNtShkkA355.jpg

12.查看phy-br-ethX连接到的虚拟网桥br-ethX.

wKioL1VPfoqB9vcJAABU5DLZ4NI452.jpg

13.看到虚拟网桥br-ethX上的端口:

wKiom1VPfT-zVq8QAAB2spAlX20958.jpg

关于本例子中的br-ethX和物理网口ethX的关系是:最后数据包要到物理网络中,必须依靠真正的物理网卡。所以必须ovs-vsctl add-port br-ethX ethX。

本例子中是ovs-vsctl add-port br-eth2 eth3。这样,整个链路才能完全打通。

这样,我看到从VM的端口到qvoXXX接口的信息及网桥和端口的连接情况,结合tcpdump -i 命令查看网络流量。这种网络的连接架构,能够作为网络故障分析的依据。

责任编辑:honglu 来源: 51CTO博客
相关推荐

2015-05-12 09:16:46

openstackneutron网络连通

2012-11-23 14:20:01

IBMdW

2012-11-27 09:39:14

JavaJava测试网络编程

2020-07-04 11:03:24

telne端口nmap

2010-07-13 14:47:08

AODV路由协议

2012-12-17 11:15:47

VDI共享存储桌面虚拟化

2013-01-23 10:08:45

2014-02-10 09:45:36

网络故障LinuxPing

2011-04-01 10:07:01

OSPF路由器

2020-07-14 10:53:39

物联网5G技术

2021-07-20 18:00:36

物联网IOT

2011-04-01 10:06:58

OSPF路由器

2013-04-17 15:34:32

锐捷出口网关

2015-03-19 09:35:36

OpenStack平台性能测试Rally功能测试Tempest

2019-03-28 08:20:06

端口连通性网络ping

2023-06-28 14:33:29

2015-07-29 13:46:27

OpenStackIcehouse私有云实战部署

2020-11-02 10:20:48

物联网安全技术

2016-11-03 14:06:23

硅光子数据连通性

2018-06-15 15:18:25

OpenstackNeutron网络虚拟化
点赞
收藏

51CTO技术栈公众号