存储服务器 - nfs

存储服务介绍

  NFS是 Network File System 的缩写, 中文意思是网络文件系统, 主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录
总结: 没有NFS共享存储时, 实现数据统一存储会非常复杂

工作原理

  NFS的工作原理是使用客户端/服务器架构, 由一个客户端程序和服务器程序组成. 服务器程序向其他计算机提供对文件系统的访问, 其过程称为输出. NFS客户端程序对共享文件系统进行访问时, 把它们从NFS服务器中“输送”出来. 文件通常以块为单位进行传输. 其大小是8KB(虽然它可能会将操作分成更小尺寸的分片). NFS传输协议用于服务器和客户机之间文件访问和共享的通信,从而使客户机远程地访问保存在存储设备上的数据

存储数据原理

a 在存储客户端创建本地存储数据目录
b 在存储服务端创建共享存储数据目录
c 实现客户端目录和存储目录建立挂载
客户端目录中操作数据等价于存储服务器目录中操作数据

存储服务器存在意义

1) 实现数据统一存储
2) 节省磁盘购买成本

存储服务部署过程

服务端部署过程

第一步: 安装软件程序
yum install -y rpcbind nfs-utils
rpm -qa rpcbind
	rpcbind-0.2.0-48.el7.x86_64
rpm -qa nfs-utils
	nfs-utils-1.3.0-0.65.el7.x86_64
第二步: 编写配置文件
vim /etc/exports
	/data   web*(rw)

配置文件样例

	/projects		proj*.local.domain(rw)
	/usr			*.local.domain(ro) @trusted(rw)
	①						 ②		③
① 设置定义数据存储目录
② 定义允许哪些主机存储数据
	1.定义网段信息	2.定义地址信息	3.定义主机名称信息
③ 定义存储数据参数
第三步: 创建存储目录
mkdir /data
chown nfsnobody.nfsnobody /data
第四步: 编写本地解析配置文件 ( 本步骤视情况而配置 )
vim /etc/hosts
172.16.1.7  web01
172.16.1.8  web02
172.16.1.9  web03

注:
  如果 /etc/exprots 配置文件中定义的主机名则需要进行编写本地解析配置文件

第五步: 启动服务程序
systemctl restart rpcbind
systemctl enable rpcbind
systemctl restart nfs
systemctl enable nfs

客户端部署过程

第一步: 安装软件程序
yum install -y  nfs-utils
第二步: 挂载应用存储服务
mount -t nfs 172.16.1.31:/data  /mnt
df -h 
172.16.1.31:/data   98G  1.7G   97G    2% /mnt

存储服务配置文件 ( 参数 )

rw		--- 是否允许向存储目录中存储数据  存储目录可读可写
ro		--- 是否允许向存储目录中存储数据  存储目录只读状态
async	--- 异步传输数据  客户端(存储数据)  ----  服务端 (内存) ---> 服务端(磁盘)
sync	--- 同步传输数据  客户端(存储数据)  ----  服务端 (磁盘)
root_squash		--- 是否将用户信息做映射转换  将root用户身份进行转换 (默认转换用户nfsnobody)
no_root_squash	--- 是否将用户信息做映射转换  将root用户身份不做转换 
all_squash		--- 是否将用户信息做映射转换  将普通用户身份进行转换 (默认转换用户nfsnobody)
no_all_squash	--- 是否将用户信息做映射转换  将普通用户身份不做转换
anonuid			--- 指定映射用户身份信息(uid 数值) 
anongid			--- 指定映射用户身份信息(gid 数值)	

总结
  配置存储服务常用参数: root_squash,no_all_squash,anonuid=xxx,anongid=xxx

cat /var/lib/nfs/etab	--- 记录nfs服务默认配置信息

在这里插入图片描述

存储服务常用命令

rpcinfo		--- 查看nfs服务注册信息
	rpcinfo -p 172.16.1.31
showmount --- 查看可用挂载目录信息
	showmount -e 172.16.1.31 
exportfs  --- 管理nfs服务运行状态
	exportfs  -rv

存储服务客户端操作

客户端挂载操作

临时挂载操作
mount -t nfs 存储服务器地址:存储目录  本地挂载点目录
永久挂载操作
方法一: 利用/etc/rc.local 
	mount -t nfs 存储服务器地址:存储目录  本地挂载点目录

方法二: 利用/etc/fstab
	172.16.1.31:/data    /mnt   nfs     defaults        0 0

客户端挂载参数

cat /proc/mounts
	172.16.1.31:/data /mnt nfs4 rw,relatime,vers=4.1,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=172.16.1.7,local_lock=none,addr=172.16.1.31 0 0

mount -o 挂载参数
rsize        提示数据存储效率,减缓存储服务器压力          在客户端内存中设置了缓存
wsize        提升数据读取效率,减缓存储服务器压力          在客户端内存中设置了缓冲
hard         实现长连接挂载操作                           (对于架构而言,配置hard容易造成耦合度过程)  架构师
soft         实现长连接挂载操作(具有超时时间timeo=600)  (对于架构而言,配置soft可以实现解耦)        架构师
proto        网络挂载时选择通讯协议 (tcp/udp) 
atime        访问存储数据时,会消耗磁盘IO, 影响磁盘性能    
noatime      访问存储数据时,不要更改atime属性信息, 不会消耗磁盘IO, 减少磁盘性能消耗   优化
diratime     访问存储目录时,会消耗磁盘IO, 影响磁盘性能
nodiratime   访问存储目录时,不要更改目录atime属性信息, 不会消耗磁盘IO, 减少磁盘性能消耗   优化

存储服务权限说明 *****

1)存储服务端配置文件参数没有设置正确
2) 存储服务端存储目录本身权限配置问题
3)存储客户端挂载参数配置问题
4)存储目录权限继承关系 ( 服务端配置文件中不要有目录层级配置 )

存储服务企业应用

弃用NFS案例: 如何解决NFS服务单点故障
读取数据时: 弃用NFS服务 ( 将存储数据和web服务器数据做同步), 让用户读取web服务器本地数据
写入数据时: 弃用NFS服务 ( 写入数据到本地 将数据进行恢复同步), 让用户写入web服务器本地数据
分布式存储

实时同步服务概述

A主机 新的数据  -实时同步- B主机 数据备份
如何实现数据实时同步:
1)发现数据变化  inotify(监控软件)
2)进行数据备份  rsync\

实时同步服务监控软件部署

存储服务器部署

第一个历程:按照监控数据变化软件
yum install -y inotify-tools

注: 确认 epel 源可以正常使用

第二个历程:监控命令使用
/usr/bin/inotifywait	--- 监控数据变化命令
/usr/bin/inotifywatch	--- 统计数据变化次数  添加 删除 修改

inotifywait	参数	目录

永久监控目录中数据变化: inotifywait -m 目录
	-m|--monitor	Keep listening for events forever. 
							保持永久监控	  


实现目录中数据递归监控: inotifywait -rm 目录
	-r|--recursive	Watch directories recursively.
						监控目录中子目录数据变化

利用脚本实现实时同步: inotifywait + rsync
利用实时同步软件实现: sersync

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值