我们有一个设置,涉及在同一个物理 NFSv3 服务器上安装各种共享的单独的网络和电子邮件服务器。
Web 服务器使用共享来存储 apache vhost 文件,邮件服务器使用共享来存储用户邮件。(Maildir 格式,courier-imap)
由于 nfs 共享失去响应,邮件服务器突然毫无预警地随机“锁定”。当“df”到达已安装的 nfs 共享时会挂起。任何试图从系统内部访问共享的行为都会挂起该进程。
到目前为止,Web 服务器仍未受到影响,因此我想我们可以排除 NFS 服务器上的问题。Web 和电子邮件都使用相同的安装选项,我尝试了几种组合,但都无济于事。有时它可以连续运行数周而没有问题,然而,在增加服务器上的 NFS 线程数量并重新安装共享后不到 24 小时,它就被锁定了。
有什么意见或建议吗?
rpcinfo 输出:
rpcinfo -p localhost
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 32768 status
100024 1 tcp 60949 status
100021 1 udp 32769 nlockmgr
100021 3 udp 32769 nlockmgr
100021 4 udp 32769 nlockmgr
100021 1 tcp 41693 nlockmgr
100021 3 tcp 41693 nlockmgr
100021 4 tcp 41693 nlockmgr
rpcinfo -p $nfs_server
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 752 status
100024 1 tcp 755 status
100011 1 udp 613 rquotad
100011 2 udp 613 rquotad
100011 1 tcp 616 rquotad
100011 2 tcp 616 rquotad
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100021 1 udp 37709 nlockmgr
100021 3 udp 37709 nlockmgr
100021 4 udp 37709 nlockmgr
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100021 1 tcp 54549 nlockmgr
100021 3 tcp 54549 nlockmgr
100021 4 tcp 54549 nlockmgr
100005 1 udp 651 mountd
100005 1 tcp 654 mountd
100005 2 udp 651 mountd
100005 2 tcp 654 mountd
100005 3 udp 651 mountd
100005 3 tcp 654 mountd
答案1
根据我的经验。NFS 因此类问题而臭名昭著。这可能与您的网络交换机问题有关吗?
Web 服务器和邮件服务器是否访问同一个 NFS 服务器?如果不是,请尝试将电子邮件的 NFS 服务器移动到不同的网络端口,看看是否有帮助。
否则,请在 fstab 文件中尝试以下一些选项。增加超时。设置 soft 选项。您可能还想尝试 fsc(文件系统缓存)选项。我希望它可以缓存写入操作并解决您的问题。
看:http://linux.die.net/man/5/nfs
附言一下,你的网络服务器大部分时间都在读取数据。你的邮件服务器大部分时间都在执行写入操作。
如果所有这些都失败了,我会考虑放弃 nfs 并改用 iSCSI。