我正在尝试在两台机器之间建立基本的 nfs4 工作(我们称它们为服务器和客户)我已关注本手册 通过信件无济于事。以下是我得到的结果:
root@server#: tail -n 2 /etc/exports
/export client-ip/24(rw,nohide,insecure,no_subtree_check,async,no_root_squash)
/export/users client-ip/24(rw,nohide,insecure,no_subtree_check,async,no_root_squash)
root@server#: showmount --exports
Export list for server-ip:
/export/users client-ip/24
/export client-ip/24
服务器端似乎没有问题。目录存在,其权限已授予 (775)。地址 (客户端 IP和服务器 IP) 是数字 - 出于显而易见的原因,这里用首字母缩写词代替。接下来,客户端:
root@client#: mount -v -t nfs4 server-ip:/export /opt/nfstest
mount.nfs4: timeout set for Thu Apr 14 15:52:31 2011
mount.nfs4: text-based options: 'clientaddr=client-ip,addr=server-ip'
mount.nsf4: mount(2): No such file or directory
mount.nfs4: mounting server-ip:/export failed, reason given by server:
No such file or directory
它只是不接受远程文件夹。除了上面的一个,我还尝试了server-ip:/export/users
,server-ip:/
- 得到相同的结果。客户端确实可以访问服务器:
root@client#: telnet server-ip 2049
Trying server-ip...
Connected to server-ip.
Escape character is '^]'.
root@client#: showmount -e server-ip
Export list for server-ip:
/export/users client-ip/24
/export client-ip/24
本地目录/opt/nfstest
存在。模块nfs
已加载到 nfs 客户端。服务器和客户端之间没有防火墙。我还应该检查什么?
附加信息:Ubuntu Lucid (10.04.2),在 Amazon ec2 框上运行。NFS 版本 ( nfs-common
、nfs-kernel-server
) 为 1:1.2.0-4ubuntu4.1。
答案1
值 0 在与 NFSv4 一起使用时具有特殊含义。NFSv4 具有整个导出文件系统的根的概念。使用 fsid=0 导出的导出点将用作此根。
因此将 fsid=0 包含到 /etc/exports 中,然后执行以下操作:
mount -t nfs4 <serverip>:/ /localmount/point
和不是
mount -t nfs4 <serverip>:/exports /localmount/point
就是这样。
答案2
我的经验是 NFSv4 区分大小写,因此当我被迫从 nfsv3 切换到 nfsv4(客户端 linux,服务器 wintel)时,我必须更正从服务器导出的路径