NFS远程共享存储

构建储NFS远程共享存

 因为NFS有很多功能,不同的功能需要使用不同的端口。因此NFS无法固定端口。而RPC会记录NFS端口的信息,这样就能够通过RPC实现服务端和客户端的RPC来沟通端口信息。
 ​
 那RPC和NFS之间又是如何之间相互通讯的?
 ​
 首先当NFS启动后,就会随机的使用一些端口,然后NFS就会向RPC去注册这些端口。RPC就会记录下这些端口。并且RPC会开启111端口,等待客户端RPC的请求,如果客户端有请求,那服务端的RPC就会将记录的NFS端口信息告知客户端。
 NFS 
 NFS:Network File System 网络文件系统,NFS 和其他文件系统一样,是在 Linux 内核中实现的,因此 NFS 很难做到与 Windows 兼容。NFS 共享出的文件系统会被客户端识别为一个文件系统,客户端可以直接挂载并使用。是Unix系统之间共享文件的一种协议
 NFS 文件系统仅支持基于 IP 的用户访问控制,NFS 的客户端主要为Linux。
 实验环境准备两台机器
 支持多节点同时挂载以及并发写入
 服务端:nfs-server 192.168.246.160
 客户端:web1 192.168.246.161
 centos7(服务端和客户端都关闭防火墙和selinux内核防火墙)
 ​
 #systemctl stop firewalld
 ​
 #systemctl disable firewalld    
 ​
 #setenforce 0

实战

 NFS-server操作
 [root@nfs-server ~]# yum -y install rpcbind  #安装rpc协议的包
 [root@nfs-server ~]# yum -y install nfs-utils #安装nfs服务,提供文件系统
 启动服务
 [root@nfs-server ~]# systemctl start nfs
 [root@nfs-server ~]# systemctl start rpcbind
 [root@nfs-server ~]# mkdir /nfs-dir   #创建存储目录
 [root@nfs-server ~]# echo "nfs-test" >> /nfs-dir/index.html  #制作test文件
 [root@nfs-server ~]# vim /etc/exports   #编辑共享文件
 /nfs-dir        192.168.246.0/24(rw,no_root_squash,sync)
 ​
 可选参数注释:
 ro:只读
 rw:读写
 *:表示共享给所有网段。
 sync:所有数据在请求时写入共享
 root_squash: 对于使用分享目录的使用者如果是root用户,那么这个使用者的权限将被压缩成为匿名使用者,只读权限。
 no_root_squash:使用分享目录的使用者,如果是 root 的话,那么对于这个分享的目录来说,他就具有 root 的权限。
 all_squash: 这个选项对于公共访问的 NFS 卷来说非常有用,它会限制所有的使用者将权限压缩为匿名用户。缺省设置是 no_all_squash。

 [root@nfs-server ~]# systemctl restart nfs-server #重启服务。
 [root@nfs-server ~]# systemctl enable nfs-server #制作开机启动
 ​
 [root@testpm-server ~]# exportfs -v   #确认 NFS 服务器启动
 /nfs-dir        192.168.246.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)
 web1  客户端操作
 [root@web1 ~]# yum -y install rpcbind
 [root@web1 ~]# yum -y install nfs-utils
 [root@web1 ~]# mkdir /qf #创建挂载点
 [root@web1 ~]# mount -t nfs 192.168.246.160:/nfs-dir /qf  #挂载
 [root@web1 ~]# df -Th
 Filesystem               Type      Size  Used Avail Use% Mounted on
 /dev/mapper/centos-root  xfs        17G  1.1G   16G   7% /
 tmpfs                    tmpfs      98M     0   98M   0% /run/user/0
 192.168.246.160:/nfs-dir nfs4       17G  1.4G   16G   8% /qf
 [root@web1 ~]# ls /qf
 index.html
 [root@web1 ~]# umount /qf  #取消挂载
 ​
 ​
 制作开机挂载
 [root@client.qfedu.com ~]# vim /etc/fstab
 192.168.246.160:/nfs-dir    /qf          nfs     defaults        0 0
 [root@client.qfedu.com ~]# mount -a
已标记关键词 清除标记