构建NFS远程共享存储

112 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

构建NFS远程共享存储

因为NFS有很多功能,不同的功能需要使用不同的端口。因此NFS无法固定端口。而RPC会记录NFS端口的信息,这样我们就能够通过RPC实现服务端和客户端的RPC来沟通端口信息。

那RPC和NFS之间又是如何之间相互通讯的?

首先当NFS启动后,就会随机的使用一些端口,然后NFS就会向RPC去注册这些端口。RPC就会记录下这些端口。并且RPC会开机111端口,等待客户端RPC的请求,如果客户端有请求,那服务端的RPC就会将记录的NFS端口信息告知客户端。

NFS 
项目名称: 为集群中的 Web Server 配置后端存储
​
NFS:Network File System 网络文件系统,Unix系统之间共享文件的一种协议
NFS 的客户端主要为Linux
支持多节点同时挂载以及并发写入
nfs           192.168.1.2
web1          192.168.1.3
centos7(服务端和客户端都关闭防火墙和selinux内核防火墙)
​
# systemctl stop firewalld# systemctl disable firewalld   # setenforce 0
​
防火墙开启nfs服务
firewall-cmd --add-service=nfs --permanent
firewall-cmd --reload
​
​
firewall-cmd --add-service=rpc-bind --permanent
​
permanent       #永久性的
# vim /etc/hosts [可选](服务端和客户端都操作)
​
192.168.1.2  nfs
192.168.1.3  web1
NFS(此步为说明)
1.安装软件
​
•    yum -y install rpcbind(提供rpc协议)
​
•    yum -y install nfs-utils(主包提供文件系统)
​
2.启动服务------>这两个服务必须同时启用
•        systemctl start nfs
•        systemctl start rpcbind
一、nfs(存储端/服务端)
[root@nfs ~]# yum -y install rpcbind
[root@nfs ~]# yum -y install nfs-utils
[root@nfs ~]# mkdir /zhengzhou                                            //存储网站代码
[root@nfs ~]# echo "nfs test..." > /web/index.html
​
[root@nas ~]# vim /etc/exports
/web        192.168.1.0/24(rw,no_root_squash)    //不限制root(当client端使用root挂载时,也有root权限)  挂载是root ,同样保持root权限
/web          *(insecure,rw,async,no_root_squash)
​
注意:如果再次修改配置文件。记得重新启动(重新加载)服务
​
[root@nfs ~]# systemctl restart nfs-server
[root@nfs ~]# systemctl enable nfs-server
二、web1  客户端
以web1为例:
[root@web1 ~]# yum -y install rpcbind
[root@web1 ~]# yum -y install nfs-utils 
​
​
手动挂载 [可选]
[root@web1 ~]# mkdir /web
[root@web1 ~]# mount  -t  nfs  192.168.1.2:/web  /web
[root@web1 ~]# umount /wev
​
自动挂载到网站主目录
[root@web1 ~]# vim /etc/fstab
192.168.1.2:/web      /web          nfs     defaults        0 0
[root@web1 ~]# mount -a
​
查看挂载
[root@web1 ~]# df   -Th
192.168.1.2:/web    123 123   123  1% /web
[root@web1 ~]# ls /web
index.html
[root@web1 web]# cat index.html 
nfs test...