我的客户设置如下。
两台 Dell Poweredge 服务器,运行 ESXi,上面分布着 3 个虚拟机。每台服务器的 SAS 磁盘空间约为 2TB,用于托管虚拟机。这些服务器通过千兆以太网连接到 NAS,并使用 ghettoVCB 运行虚拟机的夜间备份。如果一台 Dell 服务器发生故障,虚拟机将从 NAS 上的备份启动到另一台服务器上,最多会丢失 20 小时的数据。
我的 NAS 是 Thecus N5500,有 4 个 1TB 磁盘,采用 RAID5 结构。它可以配置为使用 iSCSI 或 NFS,文件系统为 XFS、ZFS 或 Ext3。
在网上查看,我看到一些关于 ESXi 上的 iSCSI 的负面评论,有些人抱怨性能太差,而且由于其中一个虚拟机是终端服务服务器,因此需要相当快的速度。iSCSI/vmfs 是否比 NFS 更好,您会使用哪种文件系统作为它的后端?有没有人使用过这款 NAS,以及在其上进行任何配置时是否遇到过性能问题?
谢谢,
~丹特拉西
编辑:ESXi 正在通过 MB 上的内部端口上的 USB 记忆棒运行。
答案1
我敢打赌,大多数包含关键词 ESXi 和 iSCSI 的搜索结果都假设在 SAN 上托管 VM。
在您的情况下,VM 托管在 DAS 上,iSCSI 存储仅用于备份流量。通过 iSCSI 运行 VM 和通过 iSCSI 备份的运行时要求完全不同。您不会找到很多描述 ESXi 通过 iSCSI 文件共享的性能的文章。
情况很复杂。
我会选择最简单的解决方案:NFS. 几乎没有任何性能负面影响。配置、故障排除和测试更加容易。
但这不仅仅是数字的问题,对吧? IP 上的 SCSI 太酷了。
答案2
我有一个客户在两个与您类似的 VMware 集群节点之间使用 iSCSI SAN。我没有参与制定解决方案,因此我无法评论他们在决定购买什么产品时考虑了哪些因素(尽管我认为他们实际上并没有做太多功课)。他们使用的是运行 Windows Server 2003 统一存储管理版的 Dell NX1950 和 DASD Dell MD3000 机柜。
我的客户看到了足够的性能(25 - 28MB/秒的持续吞吐量到 iSCSI SAN),我们还没有竭尽全力来加快速度。在投入的网络绝对是关键。
这是一篇关于优化的好文章VMware 3.X 和 iSCSI它能为您提供一些有关 iSCSI 和吞吐量注意事项的详细信息。
与内置 ESX iSCSI 启动器相比,可以为您提供更好的性能和多路径能力的一个选项是在虚拟机内部运行软件启动器。
答案3
您是否正在使用嵌入式(例如,从内部 USB 密钥启动)或完整/磁盘版本的 ESXi?
我听说 ESXi 上的 iSCSI 性能不佳是因为嵌入式版本使用了类似 Busybox 的环境,据说该环境实现了较差的 iSCSI 软件/驱动程序。我听说提高性能的唯一方法是在本地磁盘上安装完整版 ESXi。
答案4
由于 VMWare 重写 SCSI 命令的方式,SAN 上的 VMWare 总体上性能较差(相对于真实情况而言)。但是,您仍然可以获得比文件共享更好的性能,但需要进行适当的调整。这对于 Windows VM 来说尤其重要,以便正确地将磁盘分区与底层物理 RAID 对齐。
如果分区边界与实际 RAID 设备块边界不匹配,则 VM 中的每次读写都会变成 RAID 上的两次读写:性能立即减半……
基本上,您必须正确创建 VMDK:
- 从 VMWare 创建 VMDK
- 将其附加到一些现有的 Windows VM
- N00b 走开:这是真正的男人,即使在 Windows 上,这也意味着命令行:启动你的 DISKPART.EXE
选择驱动器,并使用足够大的对齐因子对其进行分区,例如
创建分区主对齐=64
断开 VMDK。复制它并使用它们来安装您的虚拟机和所有虚拟驱动器。
- 利润!