nfs全称Network File System,即网络文件系统。
第一步:安装nfs服务端
sudo apt-get install nfs-kernel-server
第二步:创建目录
创建需要作为nfs的目录,例如mkdir -p /var/nfs 。
修改/var/nfs目录的权限为nobody,chown -R nobody:nobody /var/nfs 。
第三步:修改配置文件
需要修改的配置文件路径为/etc/exports ,例如添加如下内容。
/var/nfs *(rw,sync,no_root_squash)
第四步:重启nfs服务
sudo /etc/init.d/nfs-kernel-server start
到这里服务端就配置好了,接下来在客户端上挂载nfs目录。
第一步:安装nfs-common
sudo apt-get install nfs-common 。
第二步:创建客户端本地路径
mkdir -p /data/nfs 。
第三步:挂载
mount 192.168.188.102:/var/nfs /data/nfs 。
正常情况下挂载后就可以使用了,不过如果和我一样碰到下面这个错误,那么需要在修改下服务端的配置文件。
mount.nfs: access denied by server while mounting…
出现这个错误后,查看系统日志,应该是端口不合法的原因。
Sep 1 13:52:41 ubuntu rpc.mountd[23791]: refused mount request from 192.168.188.2 for /data/nfs (/data/nfs): illegal port 45377
Sep 1 13:52:53 ubuntu rpc.mountd[23791]: refused mount request from 192.168.188.2 for /data/nfs (/data/nfs): illegal port 52673
Sep 1 13:53:03 ubuntu rpc.mountd[23791]: refused mount request from 192.168.188.2 for /data/nfs (/data/nfs): illegal port 58593
Sep 1 13:54:12 ubuntu rpc.mountd[23791]: refused mount request from 192.168.188.2 for /data/nfs (/data/nfs): illegal port 50433
Sep 1 13:55:43 ubuntu rpc.mountd[23791]: refused mount request from 192.168.188.2 for /data/nfs (/data/nfs): illegal port 5154
Sep 1 13:59:56 ubuntu rpc.mountd[23791]: refused mount request from 192.168.188.2 for /data/nfs (/data/nfs): illegal port 63425
Sep 1 14:00:50 ubuntu rpc.mountd[23791]: authenticated mount request from 192.168.188.1:843 for /data/nfs (/data/nfs)
Sep 1 14:05:13 ubuntu rpc.mountd[23791]: refused mount request from 192.168.188.2 for /data/nfs (/data/nfs): illegal port 17025
Sep 1 14:09:20 ubuntu rpc.mountd[23791]: authenticated unmount request from 192.168.188.1:934 for /data/nfs (/data/nfs)
Sep 1 14:10:34 ubuntu rpc.mountd[23791]: refused mount request from 192.168.188.2 for /data/nfs (/data/nfs): illegal port 21409
Sep 1 14:12:36 ubuntu rpc.mountd[23791]: Caught signal 15, un-registering and exiting.
Sep 1 14:12:38 ubuntu rpc.mountd[24141]: Version 1.2.5 starting
所以解决的办法就是在/etc/exports配置文件中加入insecure选项。
/var/nfs *(rw,sync,no_root_squash,insecure)
再次重启nfs服务后挂载成功。
参考:
https://help.ubuntu.com/12.04/serverguide/network-file-system.html#nfs-configuration
http://www.itsprite.com/linux-the-way-to-resove-mount-nfs-access-denied-by-server-while-mounting/