在排查虚拟机的网络问题前,我们先了解虚拟机跟外部的数据流通信原理。
如上图所示,虚拟机跟外部通信,首先数据流先从虚拟机虚拟机内部的网卡转发出去,然后经过虚拟机交换机,然后再从物理口(虚拟交换机桥接的物理网口),然后到外部通信。
配置界面如下图所示
每台主机都有一份虚拟交换机的配置文件,具体的路径/cfs/nodes/host-fefcfe23cb45/vsw.ini,图1.2。
其中,每个字段的意思如下。
[br_eth0] 代表虚拟交换机的名字
owner=admin@vtp 代表虚拟交换机的拥有者,这个可以不用管
brenable=1 是否连接物理网络
desc=xxx 描述信息
host0-if=eth0 虚拟交换机连接的物理网口
id=v29b175b69b4d 虚拟机交换机的ID,后台使用ID进行一系列的标记操作
vlan=100 虚拟交换机的VLAN
当在前台新建一个虚拟机交换机后,就可以上在上面的路径找到对应的配置文件。当虚拟交换机激活后,使用brctl show命令就可以看到虚拟交换机的ID对应的linux网桥了,如图1.3。
bridge_name:对应的就是虚拟交换机的ID
bridge id: 是系统分配的linux网桥的ID,这个可以不用关注
STP enabled: 是否开启生成树协议,我们默认不开的
interfaces:连接在这个虚拟交换机网口的接口名字(可以类比于物理的交换机的网口),其中下图的eth0.100就是代表物理网口的VLAN子网口eth0.100连接到了该虚拟交换机,还有一些数字就是虚拟机的vmid。
在vmp的后台,我们看虚拟机桥接所在的交换机,我们执行brctl show命令就可以看到虚拟机的ID对应的跟虚拟机交换机,但是,执行这个命令只能看到当前主机的桥接情况,而且只需虚拟机开机在运行这里才会显示虚拟机的vmid。