Ubuntu 12.04 上的 NFS 挂载失败

Ubuntu 12.04 上的 NFS 挂载失败

我遇到了 NFS 挂载问题。我管理一个包含五个 Ubuntu 12.04 节点的集群。我需要 NFS 导出主节点中的一些路径来运行我的应用程序。如果我没有 NFS 共享启动,Ping 和 ssh 可以正常工作。

停止并重新启动系统后,辅助节点无法启动,因为它们无法获取 NFS 共享。在启动过程中,我收到以下错误消息:

开始阻止 NFS 文件系统的挂载事件,直到 statd 运行

启动时停止挂载文件系统

正在启动 NFSv4 id <-> 名称映射器

我尝试在恢复模式下启动节点,编辑 /etc/fstab 以删除共享,然后挂载,sudo mount -va但没有成功:

meteo@ventus2:~$ sudo mount -va
[sudo] password for meteo: 
mount: proc ya está montado en /proc
mount.nfs: timeout set for Fri Mar 28 09:30:01 2014
mount.nfs: trying text-based options 'vers=4,addr=192.168.1.1,clientaddr=192.168.1.2'
mount.nfs: mount(2): Connection refused
mount.nfs: trying text-based options 'vers=4,addr=192.168.1.1,clientaddr=192.168.1.2'
mount.nfs: mount(2): Connection refused
mount.nfs: trying text-based options 'vers=4,addr=192.168.1.1,clientaddr=192.168.1.2'
mount.nfs: mount(2): Connection refused

我也试过

meteo@ventus2:~sudo service statd restart
statd stop/waiting
statd start/running, process 3759

meteo@ventus2:~$ ps -ef | grep statd
statd     3544     1  0 09:24 ?        00:00:00 rpc.statd -L

然后安装但它不起作用。

在这里您可以看到辅助节点 ventus2 中的 /etc/fstab 和主机

文件系统

ventus:/home/meteo/镜像 /home/meteo/镜像 nfs

主办方

192.168.1.1 ventus.ceam.es ventus 192.168.1.2 ventus2.ceam.es ventus2

以及主节点 ventus 中的 /etc/exports

192.168.1.1 文图斯 192.168.1.2 文图斯2

有趣的是,自本周的停止和启动事件以来,该系统一直在运行。主节点是唯一具有互联网连接的节点,因此系统会定期更新,辅助节点仍使用其第一个 Ubuntu 12.04 系统。可能是版本冲突?mount -V给出相同的版本。

从 util-linux 2.20.1 挂载(支持 libblkid 和 selinux)

有什么想法或建议吗?我会继续浏览网页。

提前致谢

答案1

我终于找到了 NFS 挂载问题的解决方案。在 Stackoverflow 上寻找类似问题时,我找到了这个帖子

我按照建议安装并运行了 rcconf

sudo apt-get install rcconf dialog
sudo rcconf

rcconf我标记statd 已选定(未标记)并重新启动主节点(NFS 服务器)。然后我重新启动每个节点,进入恢复模式,修改 fstab 以便它们可以启动(注释任何 NFS 条目)。当节点启动后,我恢复了 fstab 并挂载了 NFS 文件系统。

进入恢复模式时,我必须在编辑 fstab 之前重新挂载文件系统,因为之前它是不可写的

mount -o remount,rw /

nano /etc/fstab

然后恢复正常启动。

在终端中,我取消注释了 /etc/fstab 中的 NFS 导入,然后运行sudo mount -va

现在,已安装的文件系统出现了,它们可以被列出,并且在节点中创建/编辑的文件会出现在所有节点上。

当然,应该有一个更好、更通用的解决方案来确保 NFS 正确启动,但这对我来说是有效的。

希望它能对某人有所帮助。

相关内容