Permissions
systemd 下的 NFS v4 日誌在哪裡?
我的錯誤是:
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 中。
我需要在 Arch linux 伺服器上找到更詳細的錯誤資訊。但是,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
對於客戶端和伺服器 Arch linux,我遇到了完全相同的問題。解決方案是使用主機名
/etc/exports
而不是 IP 地址。我改變了這個:/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