目前,我们使用iSCSI SAN作为多个VMware ESXi服务器的存储。 我正在研究在Linux服务器上使用NFS目标以用于其他虚拟机。 如果能够提供显着的优势,我也愿意使用其他操作系统(如OpenSolaris)。
什么Linux文件系统支持非常大的连续文件(如VMware的磁盘映像)? 另外,人们如何在OpenSolaris上findZFS来处理这种工作负载?
(这个问题最初是在SuperUser上提出的,如果你知道如何,可以随意迁移答案)。
我真的build议你看看ZFS,但为了获得不错的performance,你需要select一个专用设备作为ZFS意向日志(ZIL)。 基本上这是一个可以写入速度非常快(20-100K IOPS)的小型设备(几GB),让ZFS能够立即确认写入已经同步到存储器,但是等待高达30秒才能实际写入到硬盘中你的游泳池。 在发生崩溃/中断的情况下,ZIL中的任何未提交的事务将在安装后重播。 因此,除了UPS之外,您还可能需要一个带有内部电源/超级电容的驱动器,以便任何待处理的IO在掉电的情况下将其永久存储。 如果您select不使用专用的ZIL设备,则写入操作可能会导致各种问题。 假设你对Sun的18GB写入优化固态硬盘“Logzilla”不感兴趣,价格约为8200美元,有一些更便宜的select:
一旦你有了OpenSolaris / Nexenta + ZFS设置,在OpenSolaris和ESX boxen之间移动块的方法有很多, 什么对你来说很大程度上取决于你现有的基础设施(L3交换机,光纤卡)和你的优先级(冗余,延迟,速度,成本)。 但是由于您不需要专门的许可证来解锁iSCSI / FC / NFSfunction,因此您可以评估任何硬件设备,并挑选您喜欢的设备:
如果您不能花费500美元进行评估,那么在禁用ZIL的情况下进行testing,以查看ZIL是否是瓶颈。 (这可能是)。 不要在生产中这样做 。 不要乱用ZFS重复数据删除,除非你还有很多内存和L2ARC的SSD。 一旦你安装了它,这绝对是一件好事,但是在玩重复数据删除之前,你一定要尝试做一些NFS调整 。 一旦你获得了1-2Gb的链接,8Gb FC,10gigE和infiniband就有了增长的机会,但是即使对于评估,每一个都需要大量的投资。
我不会这样做。 根据我的经验,Linux(特别是CentOS 3/4/5)对NFS服务器来说通常是一个糟糕的select。 我已经有了几个,发现在负载下,延迟和吞吐量往往会下降,原因是我们永远无法摆脱困境。
在我们的案例中,我们将Linux的背靠背性能与Solaris(在Ultra-SPARC上)和NetApp进行了比较; 两者都以苹果对苹果的performance以及“工程师在服务器负载下几乎不抱怨延迟”的模糊表述返回了结果。 有多次尝试调整Linux NFS服务器; NetApps和Solaris系统都是按原样运行的。 而且由于涉及的Solaris和NetApp系统都比较老,所以Linux服务器可能会被认为拥有各种优势并且仍然没有说服力。
如果你有时间的话,在OpenSolaris(现在Solaris实际上使用起来太昂贵了),Linux,也许是一个BSD变种或者两个变种,build立相同的硬件并且竞争它们是值得的。 如果您能够想出一些性能指标(例如,在商店托pipe的虚拟机中的磁盘I / O数量),则可能会出现一篇有趣的白皮书或Internet文章。 (如果你有时间的话)
对于一般的NFS,NetApp的人多次告诉我,他们的基准testing表明,NFS对VM的性能只有5%到10%的成本 – 如果你的应用足够敏感,这是一个问题,你不应该虚拟化它在第一个地方。
但我应该承认,经过这么多时间和眼泪,我们的非本地生产VM商店都是由iSCSI提供的,主要来自NetApp。
我们使用OpenSolaris 2009/06和RAID 10 ZFSconfiguration为我们的VMWare ESXi服务器提供NFS。 到目前为止,它对我们的需求非常有效。 我们使用的是SATA Raid型硬盘(希捷ES.2 1TB硬盘)。 不过我们仍然有一些调整。
我是VMware的NFS数据存储的忠实粉丝,NetApp具有出色的实施。
TR-3808比较了NetApp FC,iSCSI和NFS连接共享数据存储的扩展,这是一个很好的阅读。
您可能要考虑ZFS ARC 3年以上的bug,在ZFS跳得太深之前仍然存在。
http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6522017
(这个是令人讨厌的,因为它也会超出虚拟机pipe理程序的虚拟机界限!)