在AWS-EC2中,我build立了一个由NFS文件服务器和许多客户端组成的Linux虚拟机集群。 如果客户端数量大于20,在大量I / O下,我遇到了文件完整性的损失:例如客户端写入到服务器的gzip文件被破坏。
我想知道什么是最好的一组NFS参数来提高这个环境下数据传输的可靠性 。
现在挂载标志是:
Flags: rw,vers=3,rsize=262144,wsize=262144,hard,proto=tcp,timeo=600,retrans=2
MTU的大小是1500,NFS deamons的数量是8。
我应该减lessrsize&wsize低于MTU,并增加NFS deamons的数量?
还有什么可以改进的吗?
非常感谢。
对于正在使用的簇的大小,考虑转移到像gluster这样的并行文件系统可能是一个好主意。 或者,如果群集configuration正确,每个节点都应该通过DNS或通过查find/etc/hosts来了解每个其他节点,并且应该有相应的ssh密钥才能在没有密码的情况下访问它们。
如果是这种情况,每个节点可以简单地在完成计算/压缩时复制文件,这将否定NFS的需要。 虽然这个解决scheme可能不会提供最佳的性能,但是根据计算节点,networking和存储虚拟化的性质,这可能是一个不错的select。
你正在使用什么样的集群pipe理/供应系统? 通常在设置头节点的过程中,还要为计算节点设置合适的共享存储。 使用像Warewulf或ROCKS这样的工具可能有助于确保计算节点正确configuration,并且有很多指南和参考devise可用于在线提供这些工具。