我在 /media/hdd 上安装了一个外部硬盘,我想与另一个客户端共享它,具体来说是在文件夹 /mnt/archive 中。我想将客户端的一些文件保存到这个硬盘中
我已经遵循的步骤是https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nfs-mount-on-ubuntu-16-04
IP 如下:
IP 服务器:69.112.130.223 IP 客户端:69.112.130.130
我已经尝试过这个命令:
sudo mount -v 69.112.130.223:/media/proton /mnt/archive
但是我收到了以下错误:
mount: no type was given - I'll assume nfs because of the colon
mount.nfs: timeout set for Mon Oct 29 19:08:13 2018
mount.nfs: trying text-based options 'vers=4,addr=69.112.130.223,clientaddr=69.112.130.130'
mount.nfs: mount(2): Permission denied
mount.nfs: access denied by server while mounting 69.112.130.223:/media/proton
客户端是 UBUNTU 14.04,服务器是 18.04
我的服务器端的 /etc/exports 如下所示:
# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients. See exports(5).
/media/proton 69.112.130.130(rw,sync,no_root_squash,no_subtree_check)
我在服务器端的 rpc 信息是:
rpcinfo -p
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
100005 1 udp 57154 mountd
100005 1 tcp 48817 mountd
100005 2 udp 50301 mountd
100005 2 tcp 52587 mountd
100005 3 udp 52789 mountd
100005 3 tcp 57659 mountd
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049
100003 3 udp 2049 nfs
100227 3 udp 2049
100021 1 udp 44354 nlockmgr
100021 3 udp 44354 nlockmgr
100021 4 udp 44354 nlockmgr
100021 1 tcp 39665 nlockmgr
100021 3 tcp 39665 nlockmgr
100021 4 tcp 39665 nlockmgr
在客户端:
rpcinfo -p
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 34223 status
100024 1 tcp 36796 status
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 2 tcp 2049
100227 3 tcp 2049
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 2 udp 2049
100227 3 udp 2049
100021 1 udp 2002 nlockmgr
100021 3 udp 2002 nlockmgr
100021 4 udp 2002 nlockmgr
100021 1 tcp 2001 nlockmgr
100021 3 tcp 2001 nlockmgr
100021 4 tcp 2001 nlockmgr
100005 1 udp 2000 mountd
100005 1 tcp 2000 mountd
100005 2 udp 2000 mountd
100005 2 tcp 2000 mountd
100005 3 udp 2000 mountd
100005 3 tcp 2000 mountd
我在服务器端的 /etc/hosts.allow 中添加了以下行
rpcbind mountd nfsd statd lockd rquotad : 69.112.130.130
我很确定错误与服务器端以及权限配置方式有关,但我到处都找过了,却找不到解决方案
我可以从客户端和服务器端 ping 和 ssh,并且可以使用 ssfhs 安装硬盘,但我想使用 nfs
答案1
当我的驱动器安装为 /media/xxxx 时,我遇到了类似的问题。
我必须在服务器上安装其中一个文件夹,然后共享该文件夹。对我来说,这很有效。
例子:
$ sudo mount -o bind /mnt/MyRebindPath /media/mysdadrive/Myfolder
在 /etc/exports
/mnt/MyRebindPath **(rw,sync,no_subtree_check)
并在客户端机器上
$ sudo mount -t nfs SERVERIP:/mnt/MyRebindPath /mn
答案2
我也遇到了这个错误(与 OP 相同):
mount.nfs: mount(2): Permission denied
我按照以下两个步骤来消除它:
确保服务器和客户端导出(和挂载)目录的所有者相同,并且它们的
gid
和uid
是两端相同。确保
/etc/exports
具有以下格式:/home/foo/dir_to_export_to_client client_name_or_ip(options)
然后运行exportfs -rav
:
-a: Export or unexport all directories.
-r: Reexport all directories
-v: Verbose.
注意:如果您运行的是使用 systemd 的 Linux 发行版,那么每次对服务器端进行修改时重新启动 nfs-server.service 可能会给您带来一些好处:
sudo systemctl restart nfs-server.service