centos7部署NFS实践
一、部署vmware虚拟机
1、在centos7网站下载https://www.centos.org/download/(使用centos7是它是社区版的redhat,企业级的服务器一般部署的是redhat,方便与工作相联系)
2、共安装3台虚拟机,分别为original、node1、node2,实验其实只用两台,为了后续部署分布式mysql实验,所以安装了2个node节点。其中original安装nfs的服务,使用node1挂载进行测试。这里有一个技巧,可以使用vmvare的复制功能,只需要安装一台original服务器,node1与node2可以克隆出来,如图:
3、配置服务器网络,使用NAT功能,由于要确定IP地址做NFS,所以取消掉DHCP功能,并配置每台服务器的IP地址。
打开虚拟机-》编辑-》虚拟网络编辑器,找到NAT模式配置,取消DHCP,并点开NAT设置,记下来局域网的网关。
4、打开虚拟机,配置IP地址(以一台举例,其他类似配置)
进入/etc/sysconfig/network-scripts中查看现有的配置文件,如果网卡运行正常,应该有ifcfg-eno***的文件
# cd /etc/sysconfig/network-scripts
打开并编辑,如图
红线:第一行表示静态、第二行表示启动时启动,下面就是配置网关和IP地址,这里IP地址要与第二步对应。我的网关是192.168.81.2,分配original是192.168.81.3,node1是192.168.81.4,node2是192.168.81.5
5、测试网络,ping www.baidu.com如果能返回ip地址,说明网络ok了,可以安装nfs服务了。
二、部署NFS服务端
1、安装 NFS 服务器所需的软件包:
yum install -y nfs-utils
2、编辑exports文件,添加需要暴露的文件夹
vi /etc/exports,如果没有该文件,请检查是否安装成功,输入下面的:
/data/是我在根目录使用mkdir data建立的
*表示可以被任意ip地址访问
rw表示允许读写,
sync表示同步方式,
后面两个表示的是客户端使用root的角色和root组进行文件操作,如果使用更严格的权限控制,可能导致客户端写的时候报无写权限的错误,这里实验,我就不考虑安全性了,有兴趣后面可以根据需要进行优化。
3、启动nfs服务
先为rpcbind和nfs做开机启动:(必须先启动rpcbind服务)
systemctl enable rpcbind.service
systemctl enable nfs-server.service
然后分别启动rpcbind和nfs服务:
systemctl start rpcbind.service
systemctl start nfs-server.service
确认NFS服务器启动成功:rpcinfo -p
4、确认服务启动成功
使用showmount -e 127.0.0.1命令,就能看到自己挂载的文件夹了
5、关闭防火墙或开通防火墙相应端口
这里实验,所以简单粗暴,直接关闭防火墙,将端口全部开放。放出防火墙的命令,我们只需要关闭和开机禁用就可以了。
启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld
开机禁用 : systemctl disable firewalld
开机启用 : systemctl enable firewalld
三、部署客户端NFS
1、同理安装NFS服务
yum install -y nfs-utils
2、启动rpc服务
先为rpcbind做开机启动:
systemctl enable rpcbind.service
然后启动rpcbind服务:
systemctl start rpcbind.service
3、查看NFS的状态
showmount -e 【服务端IP地址】
4、挂载文件夹
在根目录也建立一个data目录,执行
mount -t nfs 【服务器端IP地址】:/data /data
5、测试
touch testfile1.txt
echo 1>>testfile1.txt