NFS 协议与 iSCSI 协议

NFS 协议与 iSCSI 协议

我读了一些关于 VMware ESXi 存储的文章。其中提到了使用 vMotion、DRS 等实现高可用性的优势。我一直看到的是“共享存储”这个词。

这是什么意思?

现在我正在运行带有 iSCSI 后端(单个 Linux 服务器)的 ESXi 服务器。

这是否被视为共享存储,即使只有一台服务器可以连接到单个目标。

考虑到 NFS 允许对同一数据进行多条连接,它是否比 iSCSI 有优势?

有人能给我一个主意吗?

我正在考虑将我的 iSCSI 服务器转换为 NFS。

ESXi(4.0+)是否也支持 NFSv4?

答案1

这里没有提到的是,VMFS 文件系统而非 iSCSI 本身才是实现存储共享的关键。并非所有文件系统都允许同时从多个系统进行访问。显然 NFS 可以。需要注意的一点是,iSCSI 是基于 IP 的块级协议,而 NFS 是文件级协议/文件系统。NFS 有很多优势,而 iSCSI 则不具备这些优势。我在 Nexenta 工作,我们每天都要花几个小时讨论哪个更好。最终,这取决于您的环境需要什么,以及支持它的员工对 iSCSI 和 NFS 的了解程度。

多个 iSCSI 启动器可以连接到同一个目标,并且假设配置允许多个客户端访问同一个 LUN。VMFS 允许这样做,这就是 DRS 群集的工作方式。如果没有这种能力,您就无法实现群集提供的许多功能,例如 Vmotion 等。

NFS 默认为共享文件系统。当您在 NFS 上构建数据存储时,假设您将 NFS 导出到 DRS 群集中的所有节点,则群集中的所有主机都可以访问存储在 NFS 数据存储上的所有文件。

再次强调,区别在于 NFS 是一种文件系统。iSCSI 是一种通过 IP 传输的 SCSI-3 协议。并非所有通过 iSCSI 传输的文件系统都具有共享能力。NFS 本质上是一种共享文件系统。

答案2

如果目标配置为允许,则多个启动器可以连接到单个 iSCSI 目标。

ESXi 中共享存储的所有优势在 iSCSI 和 NFS 中均可实现。除此之外,使用哪种“更好”是主观的,不属于本文讨论范围。

答案3

另一方面,您无法减少 SAN 上 iSCSI/VMFS 分区的大小,但是您可以根据您拥有的 SAN 减少 NFS 分区的大小。Netapp 可以减少 NFS 分区(当然,如果有可用空间)。

对您的 VM 来说,有一个小的副作用,当您使用 NFS 时,您将无法看到 VM 的磁盘性能。

答案4

我每天都在 NetApp 故障排除环境中工作,这里我想添加一些注释,这些注释可能会影响人们最终决定哪种连接后端存储的方法最适合他们。

iSCSI 可以显著减少开销,因为它是一种基于块的协议(文件系统的主机端管理),并且可以与其一起使用 MPIO(如前所述),这是它的一大吸引力。

但还必须注意的是,如果您计划在环境中使用精简配置(存储上没有空间保证),您可能还需要实施一些策略,以便在从主机 lun 释放块后再次在存储端释放块(使用 VAAI、UNMAP API -http://blogs.vmware.com/vsphere/2012/04/vaai-thin-provisioning-block-reclaimunmap-in-action.html)。此外,我确实认为 VMware 可能出于某些性能考虑,在某些版本中暂时禁用了 VAAI UNMAP(http://blogs.vmware.com/vsphere/2011/09/vaai-thin-provisioning-block-reclaimunmap-issue.html)。

如果使用 NFS,那么块将由存储设备本地管理,因此一旦块被释放,就不需要进行打洞清理。

这只是从大局考虑的另一个因素……

相关内容