我们有三台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吧,它的速度要快得多,这也不算好笑。