NFS的基本架构,如下图所示:
NFS服务是基本RPC协议的,所以安装NFS的前提要安装RPC协议,就像java语言一定要基于jdk一样!
下面的搭建centos-1作为服务端模拟A服务器,centos-2模拟B和C的服务器!!现在的NFS安装的时候好像已经自动安装了rpcbind的包了。安装服务的时候我们只要安装nfs-utils就可以了
安装nfs:yum -y install nfs-utils 安装完成后配置他的权限文件,注意:权限文件是要自己编写的。且他的文件名为exports。且在/etc下 vim /etc/exports /data/logs/nginx/ 192.168.1.232(rw,sync,all_squash,anonuid=1000,anongid=1000) #共享的目录,允许的客户端,权限 配置文件没错误的话,这样我们就可以启动nfs的服务了.我们的nfs服务端就搭建完成了。 systemctl start nfs
nfs的权限详解
rw 读写 ro 只读 sync 同步模式,内存数据实时写入磁盘 async 非同步模式 no_root_squash 客户端挂载NFS共享目录后,root用户不受约束,权限很大 root_squash 与上面选项相对,客户端上的root用户收到约束,被限定成某个普通用户 all_squash 客户端上所有用户在使用NFS共享目录时都被限定为一个普通用户 anonuid/anongid 和上面几个选项搭配使用,定义被限定用户的uid和gid
下面是客户端的安装:同样的安装nfs-utils这个包。然后我们可以把服务端共享出来的目录挂载到客户端的机子上
yum -y install nfs-utils
# 可以把showmount命令安装上,这个命令是查看服务端的挂载目录的:yum -y install showmount
安装后无需启动服务,我们可以直接把查看到的目录挂载到本机来。比如我要把他挂载到我的/tmp目录下
mount -t nfs 192.168.1.130:/var/log /tmp # -t是指定他的类型。
![](https://i-blog.csdnimg.cn/blog_migrate/10d50000b5bbac53a32ed5931c9b1f8e.png)
exportfs必须与nfs的命令一起使用。这个命令是用来重启nfs的。注意:不能随便使用systemctl restart nfs命令。这样会导致客户的挂载点变成D状态,D状态很难杀死,且有可能使你的机器在挂机。
常用选项 -a 全部挂载或者全部卸载 -r 重新挂载 -u 卸载某一个目录 -v 显示共享目录
假如我修改了/etc/exports的配置文件。配置文件加多了一个共享条件,我们重启服务就可以用exportfs这一条命令了
exportfs -arv 这条命令非常的重要,如果不小心用到systemctl restart nfs的命令了。会导致你的客户端产生D状态。你会死的很惨的!
【end】