nfs挂载:
人生真是一场修炼。
好好理解下服务端和客户端吧,服务端是被共享目录的那一端。
Ubuntu下配置nfs服务
- 在服务端安装nfs-kernel-server:
sudo apt install nfs-kernel-server
在本地目录下创建一个文件夹用于共享使用,例如/home/SENSETIME/long/Desktop/project
这个文件夹; - 修改配置文件:
sudo vim /etc/exports
,在文件后加入/home/SENSETIME/long/Desktop/project *(ro,sync,no_root_squash)
- 保存后重启服务:
feng@ubuntu:/$ sudo /etc/init.d/rpcbind restart
feng@ubuntu:/$ sudo /etc/init.d/nfs-kernel-server restart
-
命令解读:
修改配置文件时,括号中的内容对应给出的权限,(ro,sync,no_root_squash)
ro/rw : 只读/读写 sync:同步 no_root_squash:不降低root用户的权限
值得注意的是读写权限,开放读写权限后客户端可以直接往服务端上写入东西。 -
服务端执行:
showmount -e localhost
可以查看服务器开放了哪些共享目录;例如:showmount -e 10.4.43.11 -
在客户端执行挂载,在客户端根目录进行操作
mount -t nfs -o nolock [服务器IP地址]:[共享目录路径] [本机用于挂载的路径]
例如:mount -t nfs -o nolock 10.4.43.11:/home/SENSETIME/long/Desktop/project /root/long/share
即:挂载成功后,访问本地/mnt目录时即是访问服务端的/home/SENSETIME/long/Desktop/project
的目录。
- 如果出现挂载失败或者:permission denied
一般都是挂载的共享目录路径出错,注意路径应该是绝路径,如:/home/SENSETIME/long/Desktop/project,最好在要共享目录的路径下pwd,打印下要共享路径的绝对路径。 - 如果出现:Device or resource busy
问题在于:[本机用于挂载的路径]有问题,同样应该在该路径下通过pwd打印出绝对路径。