追加情報:

追加情報:

私のエラーは次のとおりです。

mount.nfs4: access denied by server while mounting fileserver:/export/path/one

私の質問は次のとおりです

サーバー(systemdの下)の詳細なログ情報はどこにありますか?

追加情報:

私は尋ねたエマルジョンAskUbuntuのUbuntuクライアントの観点から。私の質問の焦点はArch Linuxサーバーです。特に問題を理解するのに役立つサーバーのログを探しています。

背景は次のとおりです。

私たちの小規模LANはArch Linux NFS v4ファイルサーバーを実行しています。 Ubuntu 15.10と16.04を実行している複数のクライアントがあります。 Ubuntu 14.04を実行しているクライアントがあります。 14.04 クライアントはファイルサーバーに接続できません。他のすべての接続は正常です。設定はすべてのクライアントで同じです。すべてのクライアントはサーバーの/ etc / exportsにリストされています。

ArchiLinuxサーバーでより詳細なエラー情報を探す必要があります。ただし、Journalctl は nfs に関連するコンテンツを表示せず、nfs アクセス拒否エラーに関連するエントリも含めません。

14.04クライアントはファイルサーバーをpingしてSSH経由でログインできます。ユーザー名/ IDとグループの一致。 (クライアントとサーバーで同じユーザーアカウント/ uidを使用しています。uid 1000です。)

追加情報:

$ sudo mount -a (on client)
mount.nfs4: access denied by server while mounting fileserver:/export/path/one
mount.nfs4: access denied by server while mounting fileserver:/export/path/two

クライアントはファイルサーバーにpingを送信できます(またはその逆)。

$ ping fileserver
PING fileserver (192.168.1.1) 56(84) bytes of data.
64 bytes from fileserver (192.168.1.1): icmp_seq=1 ttl=64 time=0.310 ms

クライアントがLANベースのファイルサーバーに正常にログインしました。

$ ssh fileserver
Last login: Tue Aug 16 14:38:26 2016 from 192.168.1.2
[me@fileserver ~]$ 

ファイルサーバーのマウントがエクスポートされ、rpcinfoクライアントに公開されます。

$ showmount -e fileserver    # on client
Export list for fileserver:
/export/path/one/ 192.168.1.2
/export/path/two/ 192.168.1.2,192.168.1.3

$ rpcinfo -p fileserver (on client)
    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
    100024    1   udp  58344  status
    100024    1   tcp  58561  status
    100005    1   udp  20048  mountd
    100005    1   tcp  20048  mountd
    100005    2   udp  20048  mountd
    100005    2   tcp  20048  mountd
    100005    3   udp  20048  mountd
    100005    3   tcp  20048  mountd
    100003    4   tcp   2049  nfs
    100003    4   udp   2049  nfs

エクスポートを直接マウントするときに発生するエラーは次のとおりです。

$ sudo mount -vvv -t nfs4 fileserver:/export/path/one /path/one/

    mount: fstab path: "/etc/fstab"
    mount: mtab path:  "/etc/mtab"
    mount: lock path:  "/etc/mtab~"
    mount: temp path:  "/etc/mtab.tmp"
    mount: UID:        0
    mount: eUID:       0
    mount: spec:  "fileserver:/export/path/one"
    mount: node:  "/path/one/"
    mount: types: "nfs4"
    mount: opts:  "(null)"
    mount: external mount: argv[0] = "/sbin/mount.nfs4"
    mount: external mount: argv[1] = "fileserver:/export/path/one"
    mount: external mount: argv[2] = "/path/one/"
    mount: external mount: argv[3] = "-v"
    mount: external mount: argv[4] = "-o"
    mount: external mount: argv[5] = "rw"
    mount.nfs4: timeout set for Tue Aug 16 16:10:43 2016
    mount.nfs4: trying text-based options 'addr=192.168.1.1,clientaddr=192.168.1.2'
    mount.nfs4: mount(2): Permission denied
    mount.nfs4: access denied by server while mounting fileserver:/export/path/one

答え1

@pgoetzは根本的な問題を解決したようですが、後でNFSログをキャプチャする方法に関する元の質問に対処します(同様の問題に遭遇しましたが、ロギングに対する答えも見つかりませんでした!)。


NFSサーバーとそのクライアントの詳細なログ記録は、カーネルログを生成することを使用して取得できます(たとえば、ディストリビューションに従ってなどとして表示されますrpcdebug)。/var/log/messages/var/log/syslog

一般的な形式は次のとおりですrpcdebug -m [module] -s [flags]

  • -m [module]:ログするモジュールを指定します。これはnfs、、、nfsdまたはrpcですnlm。 - サーバーの一般的なNFSログの場合nfsdクライアントの一般的なNFSログの場合。nfs
  • -s [flags]:カーネルが書き込むデバッグフラグを設定します。使用可能なフラグはモジュールによって異なります。

man rpcdebug詳細は参照)

したがって、すべてのフラグのロギングを開始するコマンドの例は次のとおりです。

  • NFSサーバー:rpcdebug -m nfsd -s all
  • NFSクライアント:rpcdebug -m nfs -s all

注:これは次のとおりです。非常に長い。正しいロギングレベルを得るためにフラグを調整することができますが、allフラグから始めると問題の範囲を絞り込むのに役立ちます。

ログエントリの数を減らすには、allフラグを消去してから追跡する特定のフラグを設定します。たとえば、次のようになります。

$ rpcdebug -m nfsd -c all    # clear all flags to stop logging them
$ rpcdebug -m nfsd -s auth proc  # set the auth and proc flags instead of logging all flags

答え2

クライアントとサーバーのArch Linuxの両方で同じ問題が発生しました。解決策は、/etc/exportsIPアドレスの代わりにホスト名を使用することです。私はこれを変更しました:

/srv/nfs 192.168.10(rw,fsid=root,no_subtree_check)
/srv/nfs/media 192.168.10(rw,no_subtree_check)
/srv/nfs/share 192.168.10(rw,no_subtree_check)

これに関して:

/srv/nfs iguana(rw,fsid=root,no_subtree_check)
/srv/nfs/media iguana(rw,no_subtree_check)
/srv/nfs/share iguana(rw,no_subtree_check)

これはわずかに異なる問題を引き起こします。

[root@iguana data]# mount -t nfs4 frog:/srv/nfs/media /data/media
mount.nfs4: Protocol not supported

私はNFS4の経験はあまりありません。明らかに、mountコマンドにNFSルートパスを含めないでください。これはついに効果があり、ボリュームをマウントしました。

[root@iguana data]# mount -t nfs4 frog:/media /data/media

関連情報