一、问题和根因
宿主机概率性出现连不上虚机的情况,查看网桥接口后发现接口断开。
通过查找后发现是由于nmcli conn up br-mng命令导致port不绑定在br-mng
二、解决方法
1、手动解决方法
brctl show br-mng
ip a | grep vnet
这里vnet数量与virsh list --all 中虚机的数量相同
brctl addif br-mng vnetx
一直把所有的vnet口加完
2、自动化解决方法
解决思路:
在部署时,将脚本放进定时器crontab中,小时级的调用脚本。脚本中通过virsh domiflist xxx获取接口,固化配置。
解决方案:
1、获取网桥的接口列表
brctl show $bridge | awk 'NR>1{print $NF}'
2、获取虚机名称列表
vm_list=$(virsh list --name)
3、遍历虚机列表,根据虚机名称得到虚机的管理口
virsh domiflist $vm_name | grep br-mng | awk '{print $1}'
4、遍历虚机列表,比较虚机管理口是否在网桥的接口列表中?不存在则添加
if ! echo "$brctl_interface" | grep -q "$vm_interface"; then
brctl addif $bridge $vm_interface
echo "interface $vm_interface is already added"
fi
5、将上述思路写进脚本,定时运行检查。