再会,
抱歉,我的英语不是我的母语,而且最近我在分析性写作方面的练习不够。
我在裸机 HP Proliant 服务器上安装了 ESXi 6.0.0 Update 2。它使用 2 个外部 HDD 机箱(通过 2 个 P411 RAID 控制器连接)运行良好。除此之外,服务器的一些内部 2.5 英寸插槽被 SSD 占用(只有少数几个),由 HP 板载集成 P410 RAID 控制器提供服务(是的,我知道这很糟糕)。所有 HDD 和 SSD 都根据其大小和 RPM 分为几个数据存储区,并且所有数据存储区都配置为 RAID10。
自然,有多个虚拟机,每天都会传入大量的生产数据,并且突然需要一个备份解决方案,利用安装了适当软件的专用虚拟机,以及在廉价的 8 个 SATA 5400 RPM 驱动器(每个 3TB)上运行的专用数据存储,因此总共可以使用 12TB 的第一层现场备份。
有/曾经有第二层现场备份,即将最重要的 VM 的备份副本复制到位于外部供电机箱中的 4TB ST4000NM0055,并通过 PCI 直通 PCI-USB3.1 卡连接到备份 VM。
最近,PCI-USB3.1 卡出现故障(它未获得 VMWare 批准,但已运行了大约一年),我决定将备份副本移至更稳定、更安全的路径进行连接。这是通过利用现有的未占用 SATA 端口实现的,该端口直接位于此 HP Proliant 服务器的主板上。SATA 端口已通电,记录为 SSD SATA,似乎通过另一个控制器工作,与上述 P410 和 P411 无关。
因此,我找到了合适的电缆,并将 Seagate ST8000NM0055 连接到 SATA 端口。通过 7TB 的精简配置数据存储将新驱动器连接到备份 VM 后,我立即注意到文件移动性能不尽如人意:从旧 USB3.0 驱动器进行的备份移动开始时速度为 70-80MBps(兆字节每秒),但在 10 到 15 分钟内降至 10MBps 并在此水平上停留了数小时。3TB 文件移动操作预计从开始到结束需要 80 到 90 小时。
我认为,对于精简配置的 VMDK,大规模文件移动和底层磁盘空间分配基本上是针对同一数据卷的 2 个繁重操作,因此这可能是数据传输率如此低的原因。为了加快这一进程,我决定扩充精简配置的 VMDK从当时的 300GB 增加到目标 7TB。因此我关闭了备份虚拟机,然后右键单击膨胀在 VMWare vCenter 操作 Web 界面中。
这件事发生在 6 天前,现在驱动器还在膨胀……服务器没有承受任何重度 CPU 或磁盘负载,其所有容量的利用率在 15% 到 25% 之间。所以我认为这个时间超出了正常范围,但我别无选择,只能等待,因为如果取消,我将丢失已传输的 300GB 不重要但有纪念意义的数据。
在每天检查情况时,我注意到不仅写入 IOPS 很低,而且运行 3-4 天后,它们突然增加了近两倍。该介质上进行的唯一操作是磁盘膨胀。
发现并尝试了一些调整,例如在 ESXi 主机设置中打开和关闭数据存储硬件加速,即以下参数 - DataMover.HardwareAcceleratedInit 从 1 到 0 - DataMover.HardwareAcceleratedMove 从 1 到 0 - VMFS3.HardwareAcceleratedLocking 从 1 到 0 它们对 SATA 或 SAS 数据存储都没有影响。
我需要什么才能让这款硬盘有良好的性能?根据家用电脑的经验,我预计它至少可以轻松实现 100MBps 的运行速度,因此完全充气应该需要 20 小时,而不是我们目前所设定的 180 小时。
TL;DR:ESXI 6.0,似乎我直接连接的 SATA HDD 的写入性能停留在 10MBps。有时它会跳到惊人的 20MBps。请发送帮助来解释
答案1
性能如此糟糕的原因是 HP BIOS Drive Write Cache 默认设置为“禁用”。
更改为“启用”后(这里显然需要电源循环),性能恢复正常,正如该企业硬盘型号所预期的那样。