質問: 3」を明示的に指定した場合にのみマウントされます。その構文を使用しないと、「mount.nfs:nat149app:/ var/fea/jobsのマウント中にサーバーによってアクセスが拒否されました」というエラーが発生します。どちらのボックスもrhel6.1です。サーバー上:[root@nat149app fea]# cat /etc/exports # /var/fea/jobs -rw,async,no_root_squash xxx.xxx.1.0/24 # /usr/local -ro,async,no_root_squash xxx.xxx.1.0/24 /var/fea/jobs xxx.xxx.1.0/24(rw,async,no_root_squash) /usr/local xxx.xxx.1.0/24(ro,async,no_root_squash) クライアントの場合:[root@nat145app ~]# mount /dev/sda4 on / type ext4 (rw) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) devpts on /dev/pts type devpts (rw,gid=5,mode=620) tmpfs on /dev/shm type tmpfs (rw) /dev/sda1 on /boot type ext4 (rw) /dev/sda5 on /home type ext4 (rw) /dev/sda3 on /usr type ext4 (rw) /dev/sda6 on /var type ext2 (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw) [root@nat145app ~]# mount nat149app:/usr/local /usr/local [root@nat145app ~]# mount nat149app:/var/fea/jobs /var/fea/jobs mount.nfs: access denied by server while mounting nat149app:/var/fea/jobs [root@nat145app ~]# ll /var/fea total 20k drwxrwx--t 4 root feausers 4.0k nov 29 13:25 ./ drwxr-xr-x. 22 root root 4.0k nov 29 13:25 ../ drwxrwx--t 2 root feausers 4.0k nov 29 13:25 jobs/ drwxrwx--t 2 root feausers 4.0k nov 29 13:26 temp/ [root@nat145app ~]# mount -o vers=3 nat149app:/var/fea/jobs /var/fea/jobs [root@nat145app ~]# mount /dev/sda4 on / type ext4 (rw) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) devpts on /dev/pts type devpts (rw,gid=5,mode=620) tmpfs on /dev/shm type tmpfs (rw) /dev/sda1 on /boot type ext4 (rw) /dev/sda5 on /home type ext4 (rw) /dev/sda3 on /usr type ext4 (rw) /dev/sda6 on /var type ext2 (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw) nat149app:/usr/local on /usr/local type nfs (rw,vers=4,addr=139.69.1.149,clientaddr=139.69.1.145) nat149app:/var/fea/jobs on /var/fea/jobs type nfs (rw,vers=3,addr=139.69.1.149) 私はこれをrwとroの両方で試しました。また、ディレクトリの「o + t」許可なしで試してみました。また、/ etc/fstabのエントリを使用してこれを試しました。違いはありません。
回答: 私の知る限り、nfs v4では、エクスポートされたすべてのディレクトリが単一の「ルート」(/ etc/exportsにfsid=0が設定されている)内にある必要があります。例えば:/srv/nfs xxx.xxx.1.0/24(ro,root_squash) /srv/nfs/usr-local xxx.xxx.1.0/24(ro,root_squash) /srv/nfs/fea-jobs xxx.xxx.1.0/24(rw,root_squash) 次に、次のようにマウントされます。mount -t nfs4 nat149app:/usr-local /usr/local mount -t nfs4 nat149app:/fea-jobs /var/fea/jobs 通常、バインドマウントは、/srv/nfs(または/exportsなど)を設定するために使用されます。例えば:mount --bind /usr/local /srv/nfs/usr-local mount --bind /var/fea/jobs /srv/nfs/fea-jobs (fstabの場合、/usr/local /srv/nfs/usr-local none bind 0 0)現在の構成では、/usr/localがnfsルートとして使用されており(nat149app:/usr/localは互換性のためにのみ受け入れられます。実際のアドレスはnat149app:/です)、サーバーはその外部のすべてへのアクセスを拒否します。 セクション7-nfsサーバー名前空間 of rfc 3530-nfsバージョン4 。