我有一个关于我的测试实验室的问题。理解这个概念比将其应用到生产中更重要:
我有一个配置了几个虚拟机 linux/windows 的 ESXi,我想使用 VMWare 转换器来创建备份。
为了加快这个过程,我决定在我安装了 Windows 7 和 VMWare Converter 的同一 ESXi 主机上创建一个 Windows VM。
主机有一个千兆卡,但它当前连接到一个 100Mb FD 端口。Windows 7 看到连接了 1gb 卡。
当我使用 VMWare 转换器进行备份时,我将主机 IP 指定为源和目标,因此我认为复制速度可能比通过网络使用我的笔记本电脑更快。
好吧,长话短说:我得到了可怕的性能(4Mb/秒)。我对此感到困惑,因为尽管主机在虚拟机和主机之间运行 100Mb 通信,但不应该(如果我错了,请纠正我)有任何限制。
我确实调整了 Windows 7 以优化网络性能,但我只得到了一点改进。我仍然需要 4 小时来备份 50Gb(瘦)VM。
另外我想问:巨型帧对此有帮助吗?我知道必须端到端支持巨型帧,并且主机当前连接的网络交换机不支持这一点,但我想知道:
1) ESXi 主机是否完全支持巨型帧?
2)我可以以某种方式启用它吗?
3)如果我这样做,我猜虚拟机和主机之间的批量传输会改善,但这会影响通过真实交换机的通信,因为这不会做巨型?
谢谢阅读
巨型帧可能会有所不同,但您的吞吐量问题表明问题更为严重。您可以在 ESXi 中启用巨型帧,但它需要使用 vCLI 命令行工具 - 您可以在此VMware ESXi 配置文档中找到具体说明。
有一些可能的原因。
您的数据可能会进出 ESXi 主机 - 在这种情况下,Converter 会将数据从 ESXi 主机中的虚拟机内通过您的物理网络复制回管理界面。鉴于这是一个 100 兆位的上行链路,我仍然希望您获得几兆字节/秒,而不是您报告的 4 兆位/秒。
您的 ESX 主机 NIC 可能实际上并未与交换机正确协商 100Mbps/全双工设置 - 请确保正确设置 ESXi 主机上的交换机和 pNIC 设置。
转换器在吞吐量方面并不是非常有效,但如果您使用基于块的磁盘复制(而不是文件级别),它是可以的(传输速率将 > 链接带宽最大值的 50% - 例如 100Mbps 上的 4 Meg/sec网络,GigE 上 40Meg/秒)。如果您的副本使用文件级复制,那么事情会慢很多。
所有这些活动都在存储 VM 的磁盘子系统上增加了相当多的额外负载。如果您在相当慢的存储上运行所有这些(比如 RAID 5 中的少数 SATA 驱动器),那么磁盘可能会抖动,但对于健康的存储设置来说,这种事情不应该是压力。
我认为问题出在您的虚拟网络上-假设您应该考虑以下几点:
如果您的 ESXi 管理端口与 VM 的生产网络端口组位于同一虚拟交换机上,则流量应在虚拟交换机内部循环返回。如果这没有发生,那么我将开始检查是否在端口\端口组上配置了 VLAN,或者检查您的 IP 地址是否导致流量认为它必须在返回之前退出交换机(例如,如果您有管理与 VM 网络位于不同子网上的端口,并依赖外部路由器允许它们通信)。如果您怀疑您的网络没有正确执行上述操作,那么您可以将源虚拟机和目标虚拟机放在 s 在与管理端口相同的子网中,并将它们连接到与管理端口相同的 vSwitch 上的 VM 端口组,然后您应该在各个系统(源、转换器 VM 和 ESX 主机)之间获得流量以保持在vSwitch 的限制。移动虚拟机端口组,而不是弄乱管理端口——如果你犯了错误,你将不得不返回 ESXi 的物理控制台来修复问题,最好避免冒任何风险。
在开始之前尽可能多地关闭,以防备份过程占用所有管理端口网络带宽等。
关闭 SSL 加密是解决此问题的一种方法。这是如何完成的:
即它应该看起来像:
“重新启动“VMware vCenter Converter Standalone Worker”服务。”