
私のサーバーには、/etc/exportsで同じように構成された2つのNFSエクスポートがあります。私のNFSクライアントでは、1つは常にNFS-3自動マウントを使用し、もう1つはNFS-4を使用します。私はnfs-4が欲しい。どうすればいいですか?
サーバー(「nina」)から:
# cat /etc/exports
/home 192.168.0.0/24(rw,no_all_squash,anonuid=1545,anongid=501)
/misc/fedora-backup 192.168.0.0/24(rw,no_all_squash,anonuid=1545,anongid=501)
# exportfs -arv
exporting 192.168.0.0/24:/misc/fedora-backup
exporting 192.168.0.0/24:/home
クライアント側から:
$ ls /net/nina/home /net/nina/misc/fedora-backup
/net/nina/home:
bhepple data guest lost+found nina watched-files
/net/nina/misc/fedora-backup:
backup-copy lost+found media
$ mount |grep nfs
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
nina:/home on /net/nina/home type nfs4 (rw,nosuid,nodev,relatime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.0.104,local_lock=none,addr=192.168.0.19)
nina:/misc/fedora-backup on /net/nina/misc/fedora-backup type nfs (rw,nosuid,nodev,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.0.19,mountvers=3,mountport=20048,mountproto=udp,local_lock=none,addr=192.168.0.19)
これは最新のfedora-37システムです。
編集する手動マウントにもエラーが表示されます。
sudo mount -t nfs4 nina:/misc/fedora-backup ~/tmp/mnt
mount.nfs4: mounting nina:/misc/fedora-backup failed, reason given by server: No such file or directory
省略すると-t nfs4
うまくインストールされますが、nfs-3だけです。
答え1
nfs4は別のディレクトリをエクスポートできないようです。すべて一緒に入れ子にする必要があり、おそらくバインドマウントを使用して目的の場所を指すことができます。
https://superuser.com/questions/362736/cant-mount-nfs4-share
答え2
クライアントオプションを見つけますvers
。vers=4.2
自宅にインストールしてバックアップできますvers=3
。
また、ifまたはそのエイリアスは指定されておらず、type nfs4
バージョンtype nfs
を確認するためにも使用できます。vers
nfsvers
答え3
私はDebianを使用していますが、特に次の安定版で同じ問題が発生します。「トリックシー」(現在のDebian13 / test)クライアントと現在の安定版「読書光」(Debian12 / stable)サーバー。この問題を理解することがフェドラにも役立つと思います。
私のインストールではKerberosを使用します。デフォルトで使用されるNFSプロトコルはバージョン4.2です。 Debian12のNFSクライアントは、バージョン4との接続を確立できない場合、自動的にプロトコルバージョン3に置き換えられます。これを使用してテストできますmount
。コマンドプロンプトserver12:~$
、client12:~$
またはを参照してくださいclient13:~$
。
これらのエクスポートは、ネストされたディレクトリのみをエクスポートするためのルートディレクトリをエクスポートするNFS4の要件に準拠していません。ただし、NFS3としてマウントできます。
server12:~$ cat /etc/exports
/home 192.168.24.0/24(sec=krb5p,rw,async,no_subtree_check)
/srv/nfs 192.168.24.0/24(sec=krb5p,rw,async,no_subtree_check,fsid=0,crossmnt)
server12:~$ sudo exportfs -rv
exporting 192.168.24.0/24:/home
exporting 192.168.24.0/24:/srv/nfs
client12:~$ sudo showmount --exports server
Export list for server:
/home 192.168.24.0/24
/srv/nfs 192.168.24.0/24
client12:~$ sudo mount -vvv -t nfs4 -o sec=krb5p server:/srv/nfs /mnt/server
mount.nfs4: timeout set for Mon Jan 1 14:38:33 2024
mount.nfs4: trying text-based options 'sec=krb5p,vers=4.2,addr=192.168.24.125,clientaddr=192.168.24.65'
mount.nfs4: mount(2): No such file or directory
mount.nfs4: trying text-based options 'sec=krb5p,addr=192.168.24.125'
mount.nfs4: prog 100003, trying vers=3, prot=6
mount.nfs4: trying 192.168.24.125 prog 100003 vers 3 prot TCP port 2049
mount.nfs4: prog 100005, trying vers=3, prot=17
mount.nfs4: trying 192.168.24.125 prog 100005 vers 3 prot UDP port 51678
図は、mount
接続試行がデフォルトの方法で開始され、vers=4.2
正常に返されることを示しています。vers 3
次のリンクが表示されますvers=3
。
client12:~$ findmnt /mnt/server
/mnt/server server:/srv/nfs nfs rw,relatime,vers=3,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp, ...
ただし、Debian13では、NFSクライアントはNFS3に置き換えられなくなりました。これにより、アップグレード時に問題が発生しました。「トリックシー」。今すぐ使用するNFSのバージョンを指定する必要があります。
client13:~$ sudo mount -vvv -t nfs4 -o sec=krb5p server:/srv/nfs /mnt/server
mount.nfs4: timeout set for Mon Jan 1 16:21:13 2024
mount.nfs4: trying text-based options 'sec=krb5p,vers=4.2,addr=192.168.24.125,clientaddr=192.168.24.83'
mount.nfs4: mount(2): No such file or directory
mount.nfs4: mounting server:/srv/nfs failed, reason given by server: No such file or directory
client13:~$ # But specifying vers=3 as additional option then it connects:
client13:~$ sudo mount -vvv -t nfs4 -o sec=krb5p,vers=3 server:/srv/nfs /mnt/server
mount.nfs4: timeout set for Mon Jan 1 16:29:31 2024
mount.nfs4: trying text-based options 'sec=krb5p,vers=3,addr=192.168.24.125'
mount.nfs4: prog 100003, trying vers=3, prot=6
mount.nfs4: trying 192.168.24.125 prog 100003 vers 3 prot TCP port 2049
mount.nfs4: prog 100005, trying vers=3, prot=17
mount.nfs4: trying 192.168.24.125 prog 100005 vers 3 prot UDP port 51678
NFS サーバーが正常に構成されたと仮定すると、完全性のために有効な NFS4 構成をエクスポートしてマウントします。
server12:~$ cat /etc/exports
# Only for testing fallback to NFS3
#/home 192.168.24.0/24(sec=krb5p,rw,async,no_subtree_check)
#/srv/nfs 192.168.24.0/24(sec=krb5p,rw,async,no_subtree_check,fsid=0,crossmnt)
#
# Valid NFS4 configuration
/srv/nfs gss/krb5p(rw,async,no_subtree_check,fsid=0,crossmnt)
/srv/nfs/home gss/krb5p(rw,async,no_subtree_check)
server12:~$ cat /etc/fstab
PARTLABEL=rootfs / ext4 errors=remount-ro 0 1
PARTLABEL=swap none swap sw 0 0
/dev/vdb /media ext4 errors=remount-ro 0 1
/media /srv/nfs/media none bind 0 0
/home/ingo /srv/nfs/home/ingo none bind 0 0
/home/mary /srv/nfs/home/mary none bind 0 0
/home/common /srv/nfs/home/common none bind 0 0
client13:~$ cat /etc/fstab
# Your local mounts ..., then for NFS4 mounts
server:/ /mnt/srv nfs4 sec=krb5p 0 0
server:/home /mnt/home nfs4 sec=krb5p 0 0
client13:~$ ls /mnt/srv
home/ media/
client13:~$ ls /mnt/home
common/ ingo/ mary/