vSphere数据存储的特​​定数据types:NFS或iSCSI

我正在研究改进vSphere环境中的性能。 我们正在使用NetApp设备,将所有存储在通过NFS装入的数据存储中的虚拟机都存储在此虚拟机中。

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

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

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

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

有没有人有任何经验或想法呢?

首先, 破解存储之前 ,你应该100%确定你的瓶颈是与磁盘/ IOconfiguration真正相关的。

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

决定如何configuration取决于您的具体需求。 为获得最佳性能,应使用直接附加到来宾操作系统的完全预分配RAW卷。 这就使guest虚拟机configuration“独立”成为一个额外的优势,就是将guest虚拟机迁移到另一个virtualizer(甚至是基于不同的技术),不需要重新configurationiSCSI共享。 (或者至多,重新configuration将是非常有限的)。

另一方面,pipe理guest虚拟机连接的基于块的虚拟磁盘肯定会使用ESX来实现相同的目标,所以如果不是真的需要的话,不应该使用这个设置。

我build议你在投入生产之前做一些testing, 对每个configuration进行基准testing

我还没有听说iSCSI优于NFS的SQL虚拟机,但是如果select创build它们,我会在ESX级创build数据存储,而不是在虚拟机上安装iSCSI启动器。

有一点你需要小心的是在Netapp上进行自动精简configuration。 他们阻止设备的方式是不同的。 如果你恰好configuration了它,而没有准备好运气不好的风暴,你可以find一个离线的LUN。 你想要的configuration是:

  • 伦的大小很薄
  • 这个卷里面有一个瘦瘦的灵魂
  • 在卷上configuration卷自动增长

你想为你的vol autogrow设置的最大值取决于你是否想拍摄这个lun的快照。 如果这样做,则需要估计更改速率,并允许卷增长到足够大,以便在删除快照之前处理所期望的最大增量。

你也要对lun和igroup的设置非常小心,确保它们被设置为VMWare。 此外,您要确保VAAI已启用,以便VMWare可以取消分配零。

首先要做的事情是:如果你想提高VM的性能,你必须知道瓶颈在哪里。 如果您的环境缺乏CPU性能,提高存储性能不会对您有所帮助。

我不认为将存储协议从NFS更改为iSCSI将对您有所帮助。 有许多其他参数比协议更影响您的存储性能。

如果你的存储性能问题与谷歌的vmware netapp最佳实践有关 ; 这应该给你足够的信息。

顺便说一句:就个人而言,我不会使用虚拟机内的iSCSI。 如果您想将虚拟机移动到另一个存储arrays,则必须在vSphere和OS级别执行此操作。 使用VMDK使生活变得更容易。