NFS即网络文件系统,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。NFS最早由Sun公司开发,分2、3、4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本。
<a href="https://s1.51cto.com/wyfs02/M00/A0/C5/wKioL1mex8HQ3d6dAAHNz8Ij1eE455.png" target="_blank"></a>
搭建部署
服务端
1、安装软件
1
<code>[root@plinuxos ~]</code><code># yum install -y nfs-utils rpcbind</code>
2、编辑配置文件
2
3
<code>[root@plinuxos ~]</code><code># vim /etc/exports</code>
<code>/home/nfssharedir</code> <code>192.168.137.0</code><code>/24</code><code>(rw,</code><code>sync</code><code>,all_squash,anonuid=1000,anongid=1000)</code>
<code>##配置格式:共享目录 客户端IP(参数1,参数2,参数.......)</code>
▎参数说明:
rw:允许读写;
ro:只允许读;
sync:同步模式,内存数据实时写入磁盘,影响性能;
async:非同步模式,数据有丢失风险;
no_root_squash:客户端挂载NFS共享目录后,root用户不受约束,权限很大;
root_squash:与上面选项相对,客户端上的root用户收到约束,被限定成某个普通用户;
all_squash:客户端上所有用户在使用NFS共享目录时都被限定为一个普通用户;
anonuid/anongid:和上面几个选项搭配使用,定义被限定用户的uid和gid。
3、授权
<code>[root@plinuxos ~]</code><code># mkdir -p /home/nfssharedir</code>
<code>[root@plinuxos ~]</code><code># chown 777 /home/nfssharedir</code>
4、检查与启动
4
5
<code>[root@plinuxos ~]</code><code># netstat -ltnp</code>
<code>[root@plinuxos ~]</code><code># systemctl start nfs</code>
<code>[root@plinuxos ~]</code><code># ps aux | grep nfs</code>
<code>[root@plinuxos ~]</code><code># ps aux | grep rpc</code>
<code>[root@plinuxos ~]</code><code># systemctl enable nfs</code>
客户端
<code>[root@</code><code>test</code><code>-03 ~]</code><code># yum install -y nfs-utils</code>
<code>[root@</code><code>test</code><code>-03 ~]</code><code># showmount -e 192.168.137.100</code>
如果没有效果,先确认服务端服务已经启动,再确认服务端和客户端的防火墙已经关闭后,再次尝试。
也可以挂载:
<code>[root@</code><code>test</code><code>-03 ~]</code><code># mount -t nfs 192.168.137.100:/home/nfssharedir /mnt/</code>
exportfs
重启nfs服务时,需要把所有挂载点卸载掉。可以使用exportfs -arv命令。
1、编辑配置文件
<code>/tmp</code> <code>192.168.137.200(rw,</code><code>sync</code><code>,no_root_squash) </code><code>##新增该行</code>
2、执行exportfs -arv命令
<code>[root@plinuxos ~]</code><code># exportfs -arv</code>
<code>exporting 192.168.137.200:</code><code>/tmp</code>
<code>exporting 192.168.137.0</code><code>/24</code><code>:</code><code>/home/nfssharedir</code>
3、关闭服务端和客户端防火墙
4、检查效果
<code>[root@</code><code>test</code><code>-03 ~]</code><code># mount -t nfs 192.168.137.100:/tmp/ /mnt/</code>
▎NFS 4/6版本会有该问题(客户端文件属主属组nobody)
1、CentOS 7版本系统如果出现问题解决方案:
客户端挂载服务端共享目录到挂载点后,再重新挂载一次同时指定NFS的版本为3;
2、CentOS 6可以这样解决:
客户端和服务端都需要修改如下配置文件内容:
vim /etc/idmapd.conf
把“#Domain = local.domain.edu” 改为 “Domain = xxx.com” (这里的xxx.com,随意定义吧),然后再重启rpcidmapd服务。
本文转自Grodd51CTO博客,原文链接:http://blog.51cto.com/juispan/1959153,如需转载请自行联系原作者