NFSバージョン3のみを使用してNFS共有をマウントしようとしています。 2つのサーバークラスタがありますが、一方は機能し、もう一方は機能しません。働く場所があります。
10.100.30.81:/var/lib/test /var/lib/test nfs hard,bg,intr,vers=3,noatime 0 0
そしてそれは素晴らしい作品です。私が使用すると、rpcinfo
これを取得します。
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100005 1 udp 20048 mountd
100005 1 tcp 20048 mountd
100005 2 udp 20048 mountd
100024 1 udp 43989 status
100005 2 tcp 20048 mountd
100024 1 tcp 44845 status
100005 3 udp 20048 mountd
100005 3 tcp 20048 mountd
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 3 udp 2049 nfs_acl
100021 1 udp 56714 nlockmgr
100021 3 udp 56714 nlockmgr
100021 4 udp 56714 nlockmgr
100021 1 tcp 44307 nlockmgr
100021 3 tcp 44307 nlockmgr
100021 4 tcp 44307 nlockmgr
You have new mail in /var/spool/mail/root
[root@test1 ~]#
設定したシステムが動作しない場合
10.200.100.80:/var/lib/test2 /var/lib/test2 nfs soft,bg,intr,vers=3,noatime 0 0
インストールしようとすると
[root@mon2 ~]# mount -avvvvvvvv
/ : ignored
/boot : already mounted
swap : ignored
mount.nfs: trying text-based options 'soft,bg,intr,vers=3,addr=10.200.100.80'
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: backgrounding "10.200.100.80:/var/lib/test2"
mount.nfs: mount options: "rw,noatime,soft,bg,intr,vers=3"
/var/lib/test2 : successfully mounted
[root@mon2 ~]
走るとrpcinfo
戻ってきます。
[root@mon2 ~]# rpcinfo -p 10.200.100.80
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
[root@mon2 ~]#
私の問題は、NFSサーバーで何かを再構成したことです。確認してみると、rpcbind
他のサービスも両方とも同じように実行されるようです。また何が見えますか?
答え1
[root@mon2 ~]# rpcinfo -p 10.200.100.80
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
サービスによると、10.200.100.80でportmapper
実行されているnfs
、、、またはサービスはありませんnfs_acl
。NFSv3サーバーはこれらのすべてを実行する必要があり、システムサービスはそれについて知っている必要があります。status
mountd
nlockmgr
portmapper
コマンドが特定のファイルシステムタイプを内部的に処理できない場合、mount
コマンドは他のユーティリティを呼び出します。 NFSには、NFSマウントを処理する特定の/sbin/mount.<filesystem type>
ユーティリティがあります。/sbin/mount.nfs
NFSv3共有をマウントするときにユーティリティが最初に行うことは、NFSサーバーシステムのサービスに使用可能なプロトコルと使用するポートを要求することmount.nfs
です。portmapper
mount.nfs: prog 100003, trying vers=3, prot=6
これはmount.nfs
、NFSサーバーサービスに「TCP経由のサービスバージョン3がありますか?」(それぞれおよびファイルでprog番号とprot番号を確認できます)を尋ねるportmapper
ユーティリティです。nfs
/etc/rpc
/etc/protocols
mount.nfs: portmap query retrying: RPC: Program not registered
サーバーは「申し訳ありません。対応するサービスはありません」と返信します。
mount.nfs: prog 100003, trying vers=3, prot=17
「では、UDP経由のNFSバージョン3はありますか?」
mount.nfs: portmap query failed: RPC: Program not registered
「すみません、私もそうでした」
mount.nfs: backgrounding "10.200.100.80:/var/lib/test2"
bg
ここでは、マウントオプションにより、mount.nfs
後でサーバーがNFSサービスを開始したときにNFSマウントを継続的に再試行するようにバックグラウンドプロセスが設定されます。再試行を続けるので、実際に基本コマンドが失敗したことをmount.nfs
知らせる方法はありません。これは、マウント操作が後で成功し、基本コマンドに「成功」結果コードが返される可能性があるためです。mount
mount.nfs
mount
/var/lib/test2 : successfully mounted
、sommount
コマンドはNFSマウントプロセスの詳細を知らないので、「成功」結果コードはファイルシステムが正常にマウントされたことを意味すると仮定します。この特別なケースでは、結果コードは単にmount.nfs
試みが停止されなかったことを意味します。
したがって、問題はホスト10.200.100.80にあります。この情報によると、portmapper
NFSサーバーとして機能するために必要なサービスを実行していません。
残念ながら、このホストで使用されるオペレーティングシステムの名前とバージョンは指定されていません。 NFSサーバーサービスを開始する手順は、Linuxディストリビューションによって異なります。
NFSサーバーサービスが自動的に起動するように構成されていても、一部の展開では次のことを確認します/etc/exports
。 NFS 共有が設定されていない場合、起動スクリプトは NFS サーバサービスの起動を無視できます。したがって、まず/etc/exports
ホスト10.200.100.80のファイルが/var/lib/test2
NFSv3共有として定義されていることを確認してから、そのホストでNFSサーバーサービスを開始する方法(および今後の起動時に自動的に起動するように構成する方法)を確認する必要があります。
通常、サービスnfs
とカーネルのサーバーによって処理されるため、カーネルコンポーネントを構成nfs_acl
するために一度だけ実行され、シャットダウンされます。およびサービスは、それぞれおよびを実行するユーザースペースプロセスによって処理されます。これらすべてを開始するスクリプト、サービス、またはターゲットがある場合があり、Linuxディストリビューションによっては個別に起動する必要があります。nlockmgr
/usr/sbin/rpc.nfsd
status
mountd
/usr/sbin/rpc.statd
/usr/sbin/rpc.mountd
systemd
Debian / Ubuntuでは、systemctl start nfs-server.service
これはあなたが探しているコマンドかもしれません。 RHEL 7.xでは、2つのサービス、nfs-lock
つまりnfs
NFSv3サーバーをサポートするために両方を起動する必要があります。