误删除 KVM 虚拟机 virbr0 接口解决
重新创建 virbr0 接口
今天清理机器上不需要的虚拟网络接口,一不小心把 KVM 虚拟机的 virbr0 接口删除了,试了一下果然不能 SSH 登录虚拟机了,于是需要将 virbr0 接口恢复。
-
拷贝接口定义文件:
cp /usr/share/libvirt/networks/default.xml /tmp/default.xml -
重新创建网络:
sudo virsh net-destroy default # 关闭旧网络 sudo virsh net-undefine default # 删除旧网络 sudo virsh net-define /tmp/default.xml # 创建新网络 sudo virsh net-start default # 启动网络 rm /tmp/default.xml # 清理
参考:What is the virbr0 interface used for? | Ask Ubuntu
Troubleshooting
启动网络失败
$ sudo virsh net-start default
error: Failed to start network default
error: internal error: Child process (VIR_BRIDGE_NAME=virbr0 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/lib/libvirt/libvirt_leaseshelper) unexpected exit status 2:
dnsmasq: failed to create listening socket for 192.168.122.1: Address already in use
可以看到网络无法启动是由于 dnsmasq 绑定 IP 192.168.122.1 失败:地址已经在使用。
解决方法:
-
停止旧的
dnsmasq进程:sudo pkill dnsmasq -
重新启动网络:
sudo virsh net-start default

浙公网安备 33010602011771号