特定数据类型的 vSphere 数据存储:NFS 或 iSCSI

特定数据类型的 vSphere 数据存储:NFS 或 iSCSI

我正在研究如何提高 vSphere 环境的性能。我们使用 NetApp 设备,所有虚拟机都存储在通过 NFS 安装的数据存储中。

有人向我建议,对于某些特定的工作负载(例如 SQL 数据或文件服务器),使用 iSCSI 作为数据 vHD 可能会提高磁盘 IO 性能。

在我的示例中,启动盘将是存储在 NFS 附加数据存储中的普通 VMDK。D 盘(SQL 数据或文件服务器数据所在的磁盘)将是 iSCSI 附加卷。

C: - VMDK disk container -> VMFS datastore -> NFS -> NetApp
D: - iSCSI -> NetApp

我也在思考:iSCSI 是从 vSphere 级别启动的还是直接从 Windows 启动的?

有人有这方面的经验或想法吗?

答案1

首先,要对存储进行破坏,您应该 100% 确定您的瓶颈确实与磁盘/IO 配置有关。

在这种情况下,iSCSI 共享可能比 NFS 共享更快,但仅限于特定场景(小型随机读/写数据包)。SQL 服务器可能是这些情况之一,所以如果你当然您的问题是存储性能,您可以尝试使用 iSCSI 共享。

决定如何配置它取决于您的特定需求。为了获得最佳性能,您应该使用完全预分配的 RAW 卷,直接连接到客户操作系统。这具有使客户配置“自包含”的额外优势,即将该客户迁移到另一个虚拟化器(即使基于不同的技术),也不需要重新配置 iSCSI 共享。(或者,最多,重新配置将非常有限)。

另一方面,管理客户机连接的基于块的虚拟磁盘肯定比使用 ESX 实现相同目标更复杂,因此您应该不是如果不是确实需要,请使用此设置。

我建议你做一些测试,对每个配置进行基准测试,然后才能投入生产。

答案2

我还没有听说对于 SQL VM 来说 iSCSI 比 NFS 更好,但是如果您选择创建它们,我会在 ESX 级别创建数据存储,而不是在 VM 上安装 iSCSI 启动器。

您需要注意的一件事是 Netapp 上的精简配置。他们处理块设备的方式不同。如果您碰巧配置了 LUN,而没有为完美的厄运做好准备,您可能会发现自己拥有一个脱机 LUN。您想要的配置是:

  • 体积薄如月球
  • A单身的那卷里面的薄伦
  • 在卷上配置了卷自动增长

您要为卷自动增长设置的最大值取决于您是否要为此 LUN 拍摄快照。如果要拍摄,您需要估计变化率并允许卷增长到足够大,以便在删除快照之前处理您预期的最大增量。

您还需要非常小心 lun 和 igroup 设置 - 确保它们设置为 VMWare。此外,您还需要确保启用 VAAI,以便 VMWare 可以取消分配零。

答案3

首先:如果你想提高虚拟机的性能,你必须知道瓶颈在哪里。如果你的环境缺乏 CPU 性能,那么提高存储性能对你没有帮助。

我认为将存储协议从 NFS 更改为 iSCSI 不会对您有太大帮助。有几十个其他参数比协议更能影响您的存储性能。

如果你的存储确实存在性能问题,请谷歌搜索vmware netapp 最佳实践;这应该会给你足够的信息。

顺便说一句:就我个人而言,我不会在虚拟机中使用 iSCSI。如果您想将虚拟机移动到另一个存储阵列,则必须在 vSphere 和操作系统级别上执行此操作。使用 VMDK 可以让生活变得轻松很多。

相关内容