KVM QEMU 客户虚拟机随机丢失网络连接

KVM QEMU 客户虚拟机随机丢失网络连接

我正在设置一台带有 KVM/QEMU 和所有 Linux 服务器的服务器。我们将使用此服务器进行 Web 开发、git、VoIP PBX 等。(我们使用的是 XenServer 和 Windows Server 2016,但我是 Linux 粉丝。)我遇到了一些问题,虚拟机似乎会随机丢失网络连接或进入睡眠状态或类似情况。我似乎无法确定问题是什么。

我浏览了很多论坛和帖子,甚至在 Server Fault 上也如此,但没有什么能完全符合我的要求。我将在下面附上一张我们的网络设置图片。我们有 2 个位置,它们之间有一个带防火墙的 VPN。有问题的机器是 Dell PowerEdge R710。我已成功在其上安装了 Ubuntu 18.10 和 KVM/QEMU 作为主机操作系统(18.10 是因为 Virtual Manager 存在问题,无法在 18.04 中显示所有网络连接)。我使用 Virtual Manager 通过 ssh 从我的笔记本电脑(开发计算机 1)管理安装/监控新虚拟机。

我有 6 个客户虚拟机,都安装了 Ubuntu 18.04 或 Debian 9(我们的 VoIP PBX),除了偶尔出现网络故障外,它们都运行良好。所有虚拟机都通过主机中的绑定桥连接(包括主机本身)。共有 4 个 NIC 都已绑定,我已将绑定用作桥的接口。我使用 netplan 进行网络配置,我将在下面发布配置 yaml。我为所有客户虚拟机使用静态 IP 配置,只需通过 netplan 为默认“ens3”接口设置一个 IP,但如果有帮助,我也可以发布它。

我注意到一些有趣的事情:

  1. 我总是可以通过 ssh 进入主机,它似乎从未失去连接。
  2. 当 6 台机器中的一台失去网络连接时,我仍然可以从主机通过 ssh 进入它,但它有时会在重新建立连接时挂起一段时间。
  3. 如果我从主机通过 ssh 进入有问题的虚拟机并对网关(防火墙)执行 ping 操作,它就会退出并我们可以再次连接到它。
  4. 有时,客户虚拟机将无法互相看到对方,但如果我通过 ssh 进入无法看到对方的虚拟机并运行 ping,它通常会在出现一些“目标主机无法访问”消息后开始工作。

我可以得到进一步诊断此问题所需的任何其他命令输出或日志,我非常感谢任何对此有更多了解的人对此进行研究。我是 Linux 的忠实粉丝,希望它能按照我所知道的方式工作,但这些随机断开连接并没有让这个解决方案看起来非常好。感谢花时间阅读本文的任何人!

网络图

主机netplan配置:

network:
    version: 2
    renderer: networkd
    ethernets:
        eno1:
            dhcp4: false
            dhcp6: false
        eno2:
            dhcp4: false
            dhcp6: false
        eno3:
            dhcp4: false
            dhcp6: false
        eno4:
            dhcp4: false
            dhcp6: false
    bonds:
        bond0:
            interfaces:
                - eno1
                - eno2
                - eno3
                - eno4
            addresses: [192.168.5.20/24]
            dhcp4: false
            gateway4: 192.168.5.1
            nameservers:
                addresses: [192.168.1.6,1.1.1.1]
    bridges:
        br0:
            addresses: [192.168.5.21/24]
            dhcp4: false
            gateway4: 192.168.5.1
            nameservers:
                addresses: [192.168.1.6,1.1.1.1]
            interfaces:
                - bond0

答案1

我有一个几乎目前生产中的配置相同。R710 上的 Ubuntu 18.04+KVM/QEMU 我没有遇到过此问题。

虽然这可能是 Ubuntu 版本的差异,因为你使用的是 18.10,或者你遇到了实际的硬件问题,但我在这个配置中看到的唯一显着差异是绑定 - 我没有使用它。我的桥接配置如下所示:

    bridges:
        br0:
            dhcp4: yes
            interfaces:
                - eno1

它只使用 eno1,因为这是唯一一个有电缆连接的接口。出于故障排除的目的,尝试使用类似的配置看看是否能解决问题可能是值得的。

如果这就是问题所在,那么我认为您的配置中可能存在缺陷的地方就是绑定/网桥中的冗余参数。据我所知,地址、网关和名称服务器等参数应该从正在使用的接口中固有继承。可以尝试在网桥或绑定中设置所有这些设置,但不能同时设置两者。

最后,考虑到我们使用的是几乎相同的硬件,在 VM 主机上运行某种测试以确认网卡本身没有问题。

希望这可以帮助!

相关内容