架构之路企业级NFS网络文件共享服务
序言
任何强悍的单一服务器都满足不了小型网站持续下降的业务需求,网站发展到一定程序,应用服务器就要跟文件储存分离,创建文件服务器平摊应用服务器的压力。文件服务器是为网路上各工作站提供完整数据、文件、目录等信息共享,对网路文件推行统一管理的服务器。
常见的文件服务器实现方法有以下那么几种:NFS远程映射、分布式文件系统、第三方对象储存OSS以及自己使用代码手撸一个等等,明天主要为你们介绍的是NFS网路文件系统。
NFS简介
NFS(File)即网路文件系统。
NFS使用场景
无NFS文件共享储存
当用户A通过互联网上传文件时,经过负载均衡,随机或则定向分配到某个节点。并且当用户B去下载这个文件的时侯,并不确定会向那个节点发送恳求,这样会造成用户存在一定概率下载不到的情况。
有NFS文件共享储存
当用户A通过互联网上传文件时,经过负载均衡,无论发送到那个节点就会被储存到NFS文件服务器。并且当用户B去下载这个文件的时侯,任何节点都可以读取NFS文件服务器的文件。
NFS支持的功能十分多,不同的功能会有不同的服务来完成,好多服务都须要窃听在一些端口,其中的好多端口并不是固定的。这种服务在启动时,都须要向服务注册一个端口,服务随机选定一个未被使用的端口给以分配。服务窃听在111端口,所以的主要功能就是指定每位RPC对应的port,但是通知给顾客端,让顾客端联接到正确的端口起来。
注意:因为rpc在启动时须要向注册端口,所以要先启动。另外若重新启动,原先注册的数据也会不见,因而一但重新启动,让所管理的服务由于须要重新启动以重新向注册。
NFS服务器端配置
NFS服务器:192.168.1.180
检测并安装NFS
[root@iZ2ze74fkxrls31tr2ia2fZ ~]# rpm -qa rpcbind nfs-utils
nfs-utils-1.3.0-0.48.el7_4.1.X86_64
rpcbind-0.2.0-42.el7.x86_64
假如没有,安装NFS服务器所需的软件包,实际上须要安装两个包nfs-utils(nfs服务主程序)和(rpc主程序),不过当使用yum安装nfs-utils时会把一起安装上。
yum install -y nfs-utils
配置说明
/etc/的配置格式:
nfs共享目录nfs顾客端地址1(参1,参2.....)顾客端地址2(参1,参2...)
说明:
nfs共享目录:为nfs服务器要共享的实际目录,绝对目录。注意权限问题。
nfs顾客端地址:为nfs服务器授权可以访问的顾客端的地址,可以是单独的IP地址或主机名,域名。也可以是整个网关。
授权整个网关:eg:10.0.0.0/24
文件配置实例说明:
/data/fileserver 192.168.1.190(rw,sync,no_root_squash)
若服务器端对/etc/文件进行了更改,可以通过命令重新加载服务而不须要重启服务。若重启服务须要重新向注册,并且对顾客端的影响也很大,所以尽量使用命令来使配置文件生效。
exportfs:
exportfs -ar #重新导出所有的文件系统
exportfs -r #导出某个文件系统
exportfs -au #关闭导出的所有文件系统
exportfs -u #关闭指定的导出的文件系统
相关参数(man)
B.用户映射选项
C.其它选项
启动NFS服务端上nfs服务
1、先为和nfs做开机启动:
systemctl enable rpcbind.service
systemctl enable nfs-server.service
2、然后分别启动和nfs服务:
systemctl start rpcbind.service
systemctl start nfs-server.service
查看服务是否启动
[root@iZ2ze74fkxrls31tr2ia2fZ ~]# rpcinfo -p
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 47426 status
100024 1 tcp 35379 status
100005 1 udp 20048 mountd
100005 1 tcp 20048 mountd
100005 2 udp 20048 mountd
100005 2 tcp 20048 mountd
100005 3 udp 20048 mountd
100005 3 tcp 20048 mountd
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 3 udp 2049 nfs_acl
100021 1 udp 53046 nlockmgr
100021 3 udp 53046 nlockmgr
100021 4 udp 53046 nlockmgr
100021 1 tcp 38280 nlockmgr
100021 3 tcp 38280 nlockmgr
100021 4 tcp 38280 nlockmgr
使用查看本机上早已共享的目录:
exportfs
NFS顾客端配置
NFS顾客端:192.168.1.190
安装nfs,并启动服务。
yum install -y nfs-utils
systemctl enable rpcbind.service
systemctl start rpcbind.service
顾客端不须要启动nfs服务,只须要启动服务。
检测NFS服务器端是否有目录共享
0
yum install -y nfs-utils
挂载远程服务
1
yum install -y nfs-utils
查看挂载
2
yum install -y nfs-utils