我正在使用 RHEL 7.4 并且有 virbr0 和 virbr1。我想同时删除它们。
我可以通过停止和禁用默认的虚拟 kvm 来删除 virbr0。
libvirtd 没有运行,但我仍然有 virbr1。最初,我关注了 setaoffice.com/2015/01/06/remove-virbr0-interface-in-linux,它删除了 virbr0,但没有删除 virbr1。
当我运行 ifconfig 时,我看到以下内容:
ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.27 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::b675:d8a3:7535:216d prefixlen 64 scopeid 0x20<link>
ether 3c:97:0e:96:36:a5 txqueuelen 1000 (Ethernet)
RX packets 2649 bytes 529358 (516.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1315 bytes 230578 (225.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 20 memory 0xf3a00000-f3a20000
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1 (Local Loopback)
RX packets 10 bytes 840 (840.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 10 bytes 840 (840.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr1: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.123.1 netmask 255.255.255.0 broadcast 192.168.123.255
ether 00:16:3e:14:cb:4c txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
如果我 ping 192.168.123.1 我会收到响应,因此该地址上的某些东西处于活动状态
我想弄清楚为什么我有一个virb1?我需要吗?据我所知,我已经禁用并销毁了默认的 libvirt virth 机器,它们不再存在。
有什么想法可以弄清楚这个设备是什么以及如何从我的配置中删除它?
这是一个
libvirt
通常支持“默认”基于 NAT 的网络的桥接设备。即使您没有使用任何虚拟机,只要
libvirt
正在运行,该接口就会存在(前提是您完全定义了默认网络)。它自己不会做任何事情,而且通常是无害的。但是,如果您想删除它,您可以执行以下操作之一(如果您有创意,可能更多):
完全删除
libvirt
。小心并记下libvirt
正在管理的资源。它有自己的卷管理服务,可以挂载文件系统、创建卷组、建立其他网络等。这可以通过以下方式完成:# yum remove libvirt*
完全停止并禁用 libvirt。这将使它即使在重新启动时也无法管理所有资源,因此您需要确定它实际使用的是什么(如上所述)。在 Cent/RHEL 7 中,可以这样做:
# systemctl stop libvirtd
# systemctl disable libvirtd
销毁“默认”
libvirt
网络。这将停止已创建的网络并拆除相关的网桥。此更改是短暂的,并且此网络将在管理程序节点重新启动或libvirt
守护程序重新启动后重新联机。可以使用单个命令(在相关的虚拟机管理程序上)完成临时禁用“默认”网络:# virsh net-destroy default
如果您想完全永久删除“默认”网络,您可以取消定义它:
# virsh net-undefine default
但是,简单地阻止该网络启动而不是取消定义它可能更明智(以防您将来想在不必定义新的默认网络的情况下使用它)。这可以通过禁用“默认”的网络自动启动来实现:
# virsh net-autostart --disable default