我正在使用 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 机器,它们不再存在。
有什么想法可以让我弄清楚这个设备是什么以及如何将其从我的配置中删除?
答案1
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