NFS概述
NFS是Network File System的缩写,中文意思是网络共享文件系统,主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录。
在企业中实现数据存储的其它软件:
- FTP服务器(windows--server-U) 部署安装麻烦 / 权限设置
- samba软件,部署安装麻烦 windows linux系统都支持
- 分布式存储 Moosefs(mfs)、GlusterFS、FastDFS
NFS存储服务器架构中的作用:
实现数据统一存储,保证数据唯一性;降低公司架构服务器成本
NFS原理说明
NFS网络共享文件系统原理说明
服务端设置好共享目录;
客户端进行挂载;
数据存储在客户端,会同步到服务端当中。-
分布式存储文件的原理
说明:当用户有10G文件要上传到某网站的服务器时,会先发送到存储服务管理主机上面,存储服务管理主机设定的硬盘容量可以少量,默认是100G左右,然后由存储服务管理主机向后方的存储网站服务器保存数据。存储服务管理主机相当于做了raid阵列,后面的存储服务器只是硬盘而已。
NFS存储部署过程
- 服务端部署
Rpc说明:Remote Procedure Call远程过程调用程序,类似于中介。
第一步:检查软件是否安装
[root@nfs01 ~]# rpm -qa | grep nfs
libnfsidmap-0.25-19.el7.x86_64
nfs-utils-1.3.0-0.61.el7.x86_64
[root@nfs01 ~]# rpm -qa | grep rpcbind
rpcbind-0.2.0-47.el7.x86_64
第二步:修改配置文件/etc/exports
[root@nfs01 ~]# cat /etc/exports
/data 172.16.1.0/24(rw,sync)
第三步:在服务端创建目录,修改目录权限
[root@nfs01 ~]# ll /data/ -d
drwxr-xr-x 2 nfsnobody nfsnobody 24 Aug 14 12:01 /data/
chown -R nfsnobody.nfsnobody /data
第四步:启动服务程序
systemctl start rpcbind.service
systemctl enable rpcbind.service ** 要先启动,因为它是中介
Systemctl start nfs
systemctl enable nfs
3.3.2 客户端部署
第一步:安装nfs软件
yum install -y nfs-utils
第二步:检查是否有共享的目录
Showmount -e 172.16.1.31
第三步:进行挂载
[root@backup ~]# mount -t nfs 172.16.1.31:/data /mnt/
[root@backup ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 20G 1.6G 18G 9% /
devtmpfs 476M 0 476M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 7.7M 479M 2% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda2 729M 33M 697M 5% /swap
/dev/sda1 187M 104M 83M 56% /boot
tmpfs 98M 0 98M 0% /run/user/0
172.16.1.31:/data 20G 2.6G 17G 14% /mnt
企业中NFS配置方式
- 常规配置
/data 172.16.1.0/24(rw,sync) - 只读配置
/data 172.16.1.0/24(ro,sync)
只是限制开发人员的权利,在公司中,只有运维人员有操作线上服务器的权利。 - 特殊配置
/data 172.16.1.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)
问题说明
- 平滑重启的概念
restart: 不管有没有数据传输,关闭之后再启动,启动时nfs会重新向rpcbind注册端口信息,有90S的延时时间。
reload: 将数据传输完成之后再重启启动,当服务开启时,nfs不会再向rpcbind再注册端口信息。 - NFS常见问题
防火墙开启;
NFS启动顺序颠倒,先启动NFS,后启动rpcbind;
文件句柄错误,客户端挂载的存储目录在服务端已经删除。
[root@backup ~]# df -h
df: ‘/mnt’: Stale file handle ** 文件句柄错误**
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 20G 2.0G 18G 11% /
devtmpfs 476M 0 476M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 7.7M 479M 2% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda2 729M 33M 697M 5% /swap
/dev/sda1 187M 104M 83M 56% /boot
tmpfs 98M 0 98M 0% /run/user/0
NFS尽量使用平滑重启
全网备份项目部署说明
第一个里程: 对工作任务进行确认(笔记,录音)
第二个里程: 根据需求编写文档资料
1. 部署步骤规划
2. 时间规划
3. 人员规划
4. 简单部署方案
第三个里程: 和领导开会(相关人员进行召集)
第四个里程: 根据规划完成任务
阶段汇报
第五个里程: 任务完成后项目文档总结
1. 项目总结会议
2. 人员培训