NFS基本概述

1.什么是NFS?
NFS是Network File System的缩写及网络文件系统。[通常我们称NFS为共享存储]

2.NFS能干什么?
NFS的主要功能是通过局域网络让不同主机系统之间可以共享目录。

为什么要使用NFS?
在网络集群架构中如果没有共享存储的情况如下:
1.A用户上传图片经过负载均衡,负载均衡将上传请求调度至WEB1服务器上。
2.B用户访问A用户上传的图片,此时B用户被负载均衡调度至WEB2上,因为WEB2上,因为WEB2上没有这张图片,所以B用户无法看到A用户传的图片NFS实践应用 nfs的主要作用是什么_服务器
在网络集群架构中如果有共享储存的情况如下:
1.A用户上传图片无论被负载均衡调度至WEB1还是WEB2,最终数据都被写入至共享存储
2.B用户访问A用户上传图片时,无论调度至WEB1还是WEB2,最终都会上共享存储访问对应的文件,这样就可以访问到资源了
NFS实践应用 nfs的主要作用是什么_客户端_02
4.使用NFS共享存储能解决集群架构的什么问题?
解决多台web静态资源的共享(所有客户端都挂载服务端,看到的数据都一样)
解决多台web静态资源一致性(如果客户端A删除了NFS服务上的test文件,客户端B上也会看不见test文件)
解决多台web磁盘空间上的浪费

NFS服务安装

1.环境准备
需要两台服务器系统为CentOS7.6 一台扮演NFS服务端,一台扮演NFS客户端 ,内外网双网卡要能ping并且知道ip (ip add)

2.关闭防火墙

#1.关闭Firewalld防火墙
]#	systemctl	disable	firewalld
]#	systemctl	stop	firewalld

#2.关闭selinux防火墙
]#	sed	-ri	'#^SELINUX=#cSELINUX=Disabled'	/etc/selinux/config
]#	setenforce 0

2.安装nfs-serverf服务

]#	yum	-y	install	nfs-utils

3.配置nfs服务

配置nfs服务,nfs 服务程序的配置文件为/etc/exports,需要严格按照共享目录的路径 允许访问的NFS客户端(共享极限参数) 格式书写,定义要共享的目录于相应的权限,具体书写方式如下NFS实践应用 nfs的主要作用是什么_运维_03
4.配置场景
将nfs服务端的 /data目录共享给172.16.1.0/24网段内的所有主机
1.所有客户端主机都拥有读写权限
2.在将数据写入到NFS服务器的硬盘中后才结束操作,最大限度保证数据不丢失
3.点所有用户映射为本地的匿名用户(nfsnobody)

#NFS客户端地址与权限之间没有空格
]#	vim	/etc/exports
/data       172.16.1.0/24(rw,sync,all_squash)	

#在NFS服务器上建立用于NFS文件的共享目录,并设置了对应权限
]#	mkdir /data
]#	chown -R nfsnobody.nfsnobody /data

#NFS共享目录会记录至/var/lib/nfs/etab,如果给目录不存在共享信息,请检查/etc/exports是否配置错误

4在使用NFS服务进行文件共享之前,需要使用RPC(Remote Procedure Call)远程过程调用服务将NFS服务器的IP地址和端口号信息发送给客户端。因此。在启动NFS服务之前,需要先重启并启用rpcbind服务程序,同时都加入开机自启动

#加入开机自启
]#	systemctl enable rpcbind nfs-server

#启动服务
]#	systemctl restart rpcbind nfs-server

NFS挂载卸载
NFS客户端的配置步骤也十分简单。 先使用showmount命令,查询NFS服务器的远程共享信息,其输出格式为“共享的目录名称 允许使用的客户端地址”。

1.安装客户端工具。安装nfs-utils即可、会自动启动rpcbind服务。

 ]# yum -y install nfs-utils

2.客户端使用 showmount -e 查看远程服务rpc提供的可挂载nfs信息

 ] # showmount -e 172.16.1.31
  Export list for 172.16.1.31:
  /data 172.16.1.0/24

3.在NFS客户端创建一个挂载目录,使用mount命令并结合-t参数,指定要挂载的文件系统的类型,并在命令后面写上服务器IP地址,以及服务器上的共享目录,最后需要写上要挂载到本地系统(客户端)的目录。

 ]# mkdir /nfsdir
 ]# mount -t nfs 172.16.1.31:/data /nfsdir	
 
 #查看挂载信息(mount也可以查看)
 ]# df –h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 62G	 845M 58G 2% /
tmpfs 244M 0 244M 0% /dev/shm
/dev/sda1 190M 26M 155M 14% /boot
172.16.1.31:/data 62G 880M 58G 2% /nfsdir

4.挂载成功后可以进行曾删改操作

#使用客户端往nfs存储写入
]#	echo	"nfs-client"	>>	/mnt/test.txt	

#检查nfs服务端是否存在客户端创建的新文件
]#	cat	/data/test.txt
nfs-client

5.如果希望nfs文件共享服务一直有效,则需要将其写入到fstab文件中

  ]# vim /etc/fstab
  172.16.1.31:/data /nfsdir nfs defaults 0 0

6.如果不希望使用NFS共享,可进行卸载

 ]# umount /nfsdir
 #注意:卸载的时候如果提示	”umount.nfs: /nfsdir: device is busy”
 #1.切换至其他目录,然后在进行卸载。
 #2.NFS server宕机,强制卸载umount -Lf /nfsdir