我正在运行两台虚拟机(Ubuntu 14.04.3 LTS)作为 NFSv4 服务器和客户端:
nfs4server 172.28.128.3
nfs4client 10.0.2.16
在 nfs4server 上,我已经nfs-kernel-server
安装nfs-common
了。挂载点是:
vagrant@nfs4server:~$ cat /etc/exports
/shares/wordpress 10.0.0.0/8(rw,sync,no_subtree_check)
在 nfs4client 上,我安装了nfs-utils
、rpcbind
和nfs-common
。我可以看到服务器的可用挂载点:
vagrant@nfs4client:~$ showmount -e 172.28.128.3
Export list for 172.28.128.3:
/shares/wordpress 10.0.0.0/8
我的客户端挂载目录的用户/组与服务器挂载目录的用户/组相同。
vagrant@nfs4server:~$ ls -l /shares
total 4
drwxr-xr-x 2 anyperk www-data 4096 Nov 24 10:52 wordpress
vagrant@nfs4client:~$ ls -l /mnt/
total 4
drwxrwxr-x 2 anyperk www-data 4096 Nov 24 10:36 wordpress_shared_content
但是,当我尝试挂载目录时,出现以下错误:
vagrant@nfs4client:~$ sudo mount -v -t nfs 172.28.128.3:/shares/wordpress /mnt/wordpress_shared_content/
mount.nfs: timeout set for Tue Nov 24 10:59:02 2015
mount.nfs: trying text-based options 'vers=4,addr=172.28.128.3,clientaddr=10.0.2.15'
mount.nfs: mount(2): Permission denied
mount.nfs: access denied by server while mounting 172.28.128.3:/shares/wordpress
我认为这是一个权限问题,但我尝试了多个与权限相关的修复方法但无济于事:
- 将网络访问设置为
/shares/wordpress
“*”而不是“10.0.0.0/8” -不工作 - 添加了“fsid=0”选项
/etc/exports
,运行exportfs -a
并重新尝试挂载 -不工作 - 明确设置“uid=anyperk”、“gid=www-data”选项以
/etc/exports
匹配挂载目录权限,运行exportfs -a
并重新尝试挂载 -不工作
答案1
由于 Vagrant 的网络问题,两台虚拟机无法在不同的网络上正常通信/验证身份。我将两台虚拟机移至同一个 DHCP 网络 (172.28.128.0/24),客户端能够毫无问题地挂载共享。