動かざることバグの如し

近づきたいよ 君の理想に

UbuntuでNFSマウントが繋がらなくなったときの対処法

環境

  • Ubuntu 24.04

状況

nfs mountできなくなった。

mount -t nfs server01:/path/to/mount /mnt/server01

してもずっと実行中のままでマウントできない。

--verbose つけてみると変なログがずっと出続けていた。なにかがおかしいっぽい。

mount --verbose -t nfs server01:/path/to/mount /mnt/server01
mount.nfs: timeout set for Wed Apr 1 09:52:23 2026
mount.nfs: trying text-based options 'vers=4.2,addr=192.168.16.100,clientaddr=192.168.16.2'
mount.nfs: mount(2): Connection refused
mount.nfs: trying text-based options 'addr=192.168.16.100'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: portmap query retrying: RPC: Program not registered
mount.nfs: prog 100003, trying vers=3, prot=17
mount.nfs: portmap query failed: RPC: Program not registered
mount.nfs: trying text-based options 'vers=4.2,addr=192.168.16.100,clientaddr=192.168.16.2'
mount.nfs: mount(2): Connection refused
mount.nfs: trying text-based options 'addr=192.168.16.100'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: portmap query retrying: RPC: Program not registered
mount.nfs: prog 100003, trying vers=3, prot=17
mount.nfs: portmap query failed: RPC: Program not registered
mount.nfs: trying text-based options 'vers=4.2,addr=192.168.16.100,clientaddr=192.168.16.2'
mount.nfs: mount(2): Connection refused
mount.nfs: trying text-based options 'addr=192.168.16.100'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: portmap query retrying: RPC: Program not registered
mount.nfs: prog 100003, trying vers=3, prot=17
mount.nfs: portmap query failed: RPC: Program not registered

解決策

エラーログを見ると、原因は大きく2点に絞られる。 NFSv4.2への接続で Connection refused、NFSv3へのフォールバックでは RPC: Program not registered が発生している。 つまり、サーバー側でNFSサービスが正常に動作していない、またはrpcbind/portmapが機能していない可能性が高い。

エラー 原因
Connection refused(NFSv4.2) nfs-serverが停止 or ポート2049がブロック
RPC: Program not registered(NFSv3) rpcbindが停止 or NFSがrpcbindに未登録
portmap query retrying rpcbindは応答しているがNFSサービス未登録

サーバー側の確認

まずサービスの状態を確認するのが先決だ。

# NFSサービスの状態確認
systemctl status nfs-server rpcbind

# RPCに登録されているサービス一覧
rpcinfo -p

rpcinfo -p の結果に nfs(prog 100003)や mountd(prog 100005)が表示されていなければ、サービスが止まっている。

今回の場合はこの確認をしたところ、nfs-serverサービスが停止していた。

サーバー側で/etc/exportsを設定していたが、そのディレクトリが削除されていてサービスが停止してしまっていた。修正してサービスを再起動したら無事にマウントできるようになった。