NFS バージョン 3 をマウントできません。

NFS バージョン 3 をマウントできません。

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サーバーはこれらのすべてを実行する必要があり、システムサービスはそれについて知っている必要があります。statusmountdnlockmgrportmapper

コマンドが特定のファイルシステムタイプを内部的に処理できない場合、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知らせる方法はありません。これは、マウント操作が後で成功し、基本コマンドに「成功」​​結果コードが返される可能性があるためです。mountmount.nfsmount

/var/lib/test2        : successfully mounted

、sommountコマンドはNFSマウントプロセスの詳細を知らないので、「成功」結果コードはファイルシステムが正常にマウントされたことを意味すると仮定します。この特別なケースでは、結果コードは単にmount.nfs試みが停止されなかったことを意味します。


したがって、問題はホスト10.200.100.80にあります。この情報によると、portmapperNFSサーバーとして機能するために必要なサービスを実行していません。

残念ながら、このホストで使用されるオペレーティングシステムの名前とバージョンは指定されていません。 NFSサーバーサービスを開始する手順は、Linuxディストリビューションによって異なります。

NFSサーバーサービスが自動的に起動するように構成されていても、一部の展開では次のことを確認します/etc/exports。 NFS 共有が設定されていない場合、起動スクリプトは NFS サーバサービスの起動を無視できます。したがって、まず/etc/exportsホスト10.200.100.80のファイルが/var/lib/test2NFSv3共有として定義されていることを確認してから、そのホストでNFSサーバーサービスを開始する方法(および今後の起動時に自動的に起動するように構成する方法)を確認する必要があります。

通常、サービスnfsとカーネルのサーバーによって処理されるため、カーネルコンポーネントを構成nfs_aclするために一度だけ実行され、シャットダウンされます。およびサービスは、それぞれおよびを実行するユーザースペースプロセスによって処理されます。これらすべてを開始するスクリプト、サービス、またはターゲットがある場合があり、Linuxディストリビューションによっては個別に起動する必要があります。nlockmgr/usr/sbin/rpc.nfsdstatusmountd/usr/sbin/rpc.statd/usr/sbin/rpc.mountdsystemd

Debian / Ubuntuでは、systemctl start nfs-server.serviceこれはあなたが探しているコマンドかもしれません。 RHEL 7.xでは、2つのサービス、nfs-lockつまりnfsNFSv3サーバーをサポートするために両方を起動する必要があります。

おすすめ記事