- nfs简介
- 一.环境准备
- 二.搭建NFS服务器
- 三.客户端nfs安装配置
- 四.nfs服务端使用固定端口并启用防火墙开放
nfs简介
NFS就是Network File System的缩写,它的功能就是可以通过网络,让不同的机器、不同的 *** 作系统可以共享彼此的文件。
NFS服务器可以将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当便利。
比如我们在192.168.56.101上建立了一个目录/home/nfs/data/,在这个目录下的文件,在192.168.56.102机器上能通过nfs挂载磁盘的方式挂载到192.168.56.102的某个目录,比如/home/nfssharedata/,这样在192.168.56.102上 *** 作/home/nfssharedata/目录就和在192.168.56.101上 *** 作/home/nfs/data/的效果是一样的,达到了文件共享与维护的目的。
一.环境准备192.168.56.101:服务器
192.168.56.102:客户端
在服务器192.168.56.101进行nfs的搭建,步骤如下:
#服务器节点安装nfs(192.168.56.101) yum -y install nfs-utils #创建nfs共享数据目录 mkdir -p /home/nfs/data/ #修改权限(可选) chmod -R 777 /home/nfs/data/ #编辑export文件,并设置共享目录/home/nfs/data/,任意ip可以访问和读写,root登录时拥有root权限,如果需要设置固定的ip才能访问,看后面的补充说明部分。 vi /etc/exports /home/nfs/data/ *(rw,no_root_squash,sync) #配置生效 exportfs -r #查看生效 exportfs #启动rpcbind、nfs服务 systemctl restart rpcbind && systemctl enable rpcbind systemctl restart nfs && systemctl enable nfs #查看 RPC 服务的注册状况 rpcinfo -p localhost #showmount测试 showmount -e 192.168.56.101
补充说明:/home/nfs/data/ *(rw,no_root_squash,sync)这一行的*表示提供给任意ip的客户端能访问,如果更精细的权限控制,可以改成具体的ip,限制只有在ip中的客户端机器才能挂载,比如:
#编辑export文件,并设置共享目录/home/nfs/data/,指定ip为192.168.56.102才能访问和读写,root登录时拥有root权限 vi /etc/exports /home/nfs/data/ 192.168.56.102(rw,no_root_squash,sync) #如果需要多个ip都支持,复制多行配置即可,权限也可以配置成不同,比如102可读写rw,103只读ro。 vi /etc/exports /home/nfs/data/ 192.168.56.102(rw,no_root_squash,sync) /home/nfs/data/ 192.168.56.103(ro,no_root_squash,sync)三.客户端nfs安装配置
先在客户端192.168.56.102进行nfs的安装
yum -y install nfs-utils
接着在客户端机器新建一个用于挂载的目录,比如(两种方式,视你的情况采用)
#此目录用于挂载服务器上共享出来的目录,与共享目录/home/nfs/data/相同也可以不同,我建了不同的 mkdir -p /home/nfssharedata/
然后进行共享目录挂载如下:(两种方式,视你的情况采用)
######第1种:临时挂载(系统重启后会消失)###### mount -t nfs 192.168.56.101:/home/nfs/data/ /home/nfssharedata/ ######第2种:永久挂载(系统重启后将自动挂载)###### ####注:如果只是改了/etc/fstab需要重启系统才会挂载。 ####因此线上正式环境可以考虑临时和正式方式一起执行,达到第一次配置不用重启,系统重启能自动挂载的效果。 ##修改/etc/fstab文件 vi /etc/fstab 192.168.56.101:/home/nfs/data/ /home/nfssharedata/ nfs defaults,rw 0 0
如果不想挂载了,执行umount即可
umount /home/nfssharedata/四.nfs服务端使用固定端口并启用防火墙开放
nfs通信是使用udp或tcp协议进行的,上面的nfs环境是建立在nfs服务器防火墙关闭的情况下的搭建,即需要已经放通相关的端口,一般线上环境要求较高,会开启防火墙并授权一些策略来控制访问,由于nfs默认除了用111(portmapper使用,客户端向服务器发出NFS文件存取功能的询问请求)和2049(nfs使用)端口是固定的,其他的几个端口是随机的,因此需要在nfs服务器(192.168.56.101)上配置成固定的端口,再通过防火墙进行开放,步骤如下:
- 修改配置文件
vi /etc/sysconfig/nfs
vi /etc/sysconfig/nfs,在最后加上以下配置 RQUOTAD_PORT=30001 LOCKD_TCPPORT=30002 LOCKD_UDPPORT=30002 MOUNTD_PORT=30003 STATD_PORT=30004
- 重启服务
systemctl restart rpcbind systemctl restart nfs
- 重新查看端口情况
rpcinfo -p localhost,可看到端口已经使用固定的端口
- 接下来进行相关的防火墙开放,授权在客户端机器192.168.56.102上能访问
#nfs之防火墙 firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.56.102" port protocol="tcp" port="111" accept" firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.56.102" port protocol="udp" port="111" accept" firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.56.102" port protocol="tcp" port="2049" accept" firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.56.102" port protocol="udp" port="2049" accept" firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.56.102" port protocol="tcp" port="30001-30004" accept" firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.56.102" port protocol="udp" port="30001-30004" accept" firewall-cmd --reload firewall-cmd --list-all
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)