ubuntu 16.04 nfs文件系统挂载

NFS用于Linux主机访问网络中其他Linux主机上的共享资源。NFS的原理是在客户端上通过网络将远程主机共享文件系统以挂载(Mount)的方式加入本机的文件系统,之后的操作就如同在本机上一样。仅记录自己安装使用过程中的问题。

1、安装nfs工具

sudo apt-get install nfs-kernel-server nfs-common portmap

2、创建 nfs 文件夹

建议在用户目录下创建,方便多用户;mkdir /home/用户名/nfs/nfs

3、修改nfs文件夹权限

chmod 777 /home/用户/nfs

4、修改nfs配置文件 /etc/exports

vim /etc/exports   

在最后添加

/home/用户名/nfs 192.168.1.0/24(rw,sync,no_subtree_check)

/home/用户名/nfs 表示共享目录,当然,你可以随便换成自己喜欢的目录。

192.168.1.0/24:是你主机(NFS客户端)的ip地址(本机终端ifconfig命令就可以获得本机的ip地址)网段。

此处我使用192.168.1.*或直接使用* 挂载时也会出错,特别要注意上面的IP的形式,以前是形如192.168.1.*,现在是IP/掩码为数的形式。用旧的格式可能会出问题

错误1:mount: 192.168.9.85:/home/xx/nfs failed, reason given by server: Permission denied

错误2:mount.nfs: access denied by server while mounting 192.168.9.85:/home/xx/nfs

rw:读/写权限,只读权限的参数为ro;

sync:数据同步写入内存和硬盘,也可以使用async,此时数据会先暂存于内存中,而不立即写入硬盘。

no_root_squash:NFS 服务器共享目录用户的属性,如果用户是 root,那么对于这个共享目录来说就具有 root 的权限。

错误: /etc/exports [1]: Neither ‘subtree_check’ or ‘no_subtree_check’ specified for export “*:/home/xx/nfs

5、重新导出 NFS 共享目录

每当修改了/etc/exports文件后,不需要重新启动NFS服务,使用exportfs命令就可以使设置立即生效

exportfs -rv  

6、重启nfs服务

sudo /etc/init.d/nfs-kernel-server start

7、使用虚拟机验证

mount -o nolock -t nfs 192.168.1.85:/home/xx/nfs /root 

挂载成功,此处可能出现以下错误

mount: mounting 192.168.0.1:/home/xx/nfs on /root failed: Connection refused

nfs mount 默认选项包括文件锁,依赖于portmap提供的动态端口分配功能。
解决方法:kill 文件锁(lockd)或者mount -o nolock

    原文作者:Mr_Jams_C
    原文地址: https://blog.csdn.net/MR_Zhan_C/article/details/114638593
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞