Ubuntu下配置nfs服务

nfs挂载:
人生真是一场修炼。
好好理解下服务端和客户端吧,服务端是被共享目录的那一端。

Ubuntu下配置nfs服务

  1. 在服务端安装nfs-kernel-server:sudo apt install nfs-kernel-server
    在本地目录下创建一个文件夹用于共享使用,例如/home/SENSETIME/long/Desktop/project这个文件夹;
  2. 修改配置文件:sudo vim /etc/exports,在文件后加入/home/SENSETIME/long/Desktop/project *(ro,sync,no_root_squash)
  3. 保存后重启服务:
feng@ubuntu:/$ sudo /etc/init.d/rpcbind restart
feng@ubuntu:/$ sudo /etc/init.d/nfs-kernel-server restart
  1. 命令解读:
    修改配置文件时,括号中的内容对应给出的权限,(ro,sync,no_root_squash)
    ro/rw : 只读/读写 sync:同步 no_root_squash:不降低root用户的权限
    值得注意的是读写权限,开放读写权限后客户端可以直接往服务端上写入东西。

  2. 服务端执行:showmount -e localhost可以查看服务器开放了哪些共享目录;例如:showmount -e 10.4.43.11

  3. 在客户端执行挂载,在客户端根目录进行操作

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的目录。

  1. 如果出现挂载失败或者:permission denied
    一般都是挂载的共享目录路径出错,注意路径应该是绝路径,如:/home/SENSETIME/long/Desktop/project,最好在要共享目录的路径下pwd,打印下要共享路径的绝对路径。
  2. 如果出现:Device or resource busy
    问题在于:[本机用于挂载的路径]有问题,同样应该在该路径下通过pwd打印出绝对路径。

原文