NFS写入性能

我们有三台VMware ESXi 4主机为OpenFiler NFS共享服务器提供虚拟机。 每台主机都有直接的千兆连接到NAS。 尽pipe读取性能很好,但是在VM guest虚拟机中写入文件却很困难。

推荐的数据完整性configuration是使用sync选项导出NFS共享,并使用data=journal挂载ext3

我想比较最大完整性configuration与最大I / O性能configuration的行为。 为了configuration性能,我将NFS共享导出为

/mnt/raided/main/vm 10.0.0.0/255.255.0.0(rw,anonuid=96,anongid=96,secure,root_squash,wdelay,async)

而ext3是与安装

/dev/raided/main /mnt/raided/main ext3 defaults,usrquota,grpquota,acl,user_xattr,data=writeback,noatime

这些configuration选项是否会为我提供最佳的I / O性能? 如何改变文件系统? XFS能够显着改善性能吗?

除了NAS崩溃或电源故障之外,使用此configuration会导致数据完整性问题的原因是什么?

我会认真考虑使用同步。 我想起了肮脏的哈里'你感到幸运'的演讲。

NFS v2和v3被devise成当写入从服务器到客户机时,数据在磁盘上。 这允许NFS是无状态的,因此服务器可以在每个请求之间重新启动。 人们不希望,但可能会发生。

这意味着如果客户端在写入时看到ACK,那么就不必再在意磁盘上的数据了。

如果你使用asynchronous,那么这是不正确的了。 这将是更快的方式。 基本上,如果你使用async,并且服务器崩溃,那么你可能应该重新启动客户端,除非你确切地知道他们做了什么,因为如果他们期望保持多个文件同步,客户端可能会认为它们是同步的, , 他们不是。

我的理解是,OpenFiler基于CentOS / RedHat系列操作系统版本。 Linux的nfs服务器并不是以*开头的最佳select,而CentOS / RedHat则比平均值差。

* =与NetApp文件pipe理器,* bsd或Solaris服务器相比*。

(奇迹,如果我要下调了。)

是的,“同步”绝对是一个巨大的写性能杀手。 除非数据完整性要求高,否则我不会考虑它。 如果你没有电池供电的RAID和UPS,不要担心,因为它无论如何几乎没有影响。

'ext3 data = journal'也没有帮助。 如果你渴望写性能的话,那就换个ext3,换个xfs吧,它的速度要快得多,这也不算好笑。