D33-综合架构存储服务

2019-08-19  本文已影响0人  荆俊玮

一、网站存储服务配置文件参数信息

1.存储配置文件格式信息

格式:挂载目录 白名单 (参数)
如:
/data 172.16.1.0/24(rw,sync)
配置多个网段信息
格式
/data 172.16.1.0/24(rw,sync) 10.0.0.0/24(rw,sync)
建议格式
data 172.16.1.0/24(rw,sync)
/data 10.0.0.0/24(rw,sync)
注:白名单的设置就是因为存储服务器没有认证过程,所以设置白名单用,指定网络地址可以进行挂载

2. 存储配置文件参数说明

rw --- 让存储共享目录权限为读写权限
ro --- 让存储共享目录权限为只读权限
sync --- 同步传输数据信息
async --- 异步传输数据信息
all_squash --- 让所有用户都做映射,都映射为默认的nfsnobody
no_all_squash --- 让所有用户都不做映射,原来是什么用户,数据传输过来还是什么用户信息(默认配置/企业常见配置)
root_squash --- 让root用户做映射,将root用户映射为默认的nfsnobody(默认配置/企业常见配置)
no_root_squash --- 让root用户不做映射
anonuid --- 修改默认映射用户信息
anongid --- 修改默认映射用户组信息

补充:

同步与异步区别:区别在于存储数据的方式不同,同步是将数据通过服务器直接存储在磁盘上,而异步传输是数据通过服务器存储在内存的缓冲区中,再存储到磁盘中
同步传输数据特点:安全性高,存储效率低
异步传输数据特点:安全性低,存储效率高
存储数据过程:
同步传输:用户存储数据 =通过=>负载均衡服务器 =分配=>web服务器 =挂载=>存储服务器 ==>直接存储到nfs存储服务器的磁盘中
异步传输:用户存储数据 =通过=>负载均衡服务器 =分配=>web服务器 =挂载=>存储服务器 ==>先存储到nfs存储服务器的内存中 ==>再存储到nfs存储服务器的内存中

保持存储数据属主属组身份信息不变方法

修改配置文件参数(no_all_squash)
修改目录权限:chmod o+w /data


image.png

总结: 影响数据存储因素

  1. 配置文件参数信息
  2. 存储目录本身权限(共享目录权限应为755,属主权限是否为nfsnobody)
  3. 父级目录权限到子集目录权限继承关系
  4. 客户端挂载参数
image.png

测验练习题:

nfs服务端要求:
/data/r 权限只读 同步方式传输数据 所有用户都做映射
/data/w 权限读写 异步方式传输数据 所有用户都做映射
配置文件编辑

vim  /etc/exports   
data/r 172.16.1.0/24(ro,sync,all_squash)
/data/w 172.16.1.0/24(rw,async,all_squash)

PS: 服务端配置文件中, 共享目录设置尽量不要有父级和子级关系
nfs客户端要求:
web01 挂载点 /data/r --- 共享目录/data/r
backup 挂载点 /data/w --- 共享目录/data/w
实现挂载

nfs服务端
mkdir  -p  /data/r
mkdir  -p  /data/w
chown  nfsnobody.  /data/r
chown  nfsnobody.  /data/w
web01客户端
mkdir  -p  /data/r
mount  -t nfs 172.16.1.31:/data/r  /data/r  
backup客户端
mkdir  -p  /data/w
mount  -t nfs 172.16.1.31:/data/w  /data/w  

二、 服务端重要文件信息说明:

/etc/exports --- nfs服务端配置文件信息
/usr/sbin/showmount --- 检查是否存在共享目录信息==>showmount命令
命令用法:showmount -e 存储服务器私网IP地址:共享目录
/usr/sbin/rpcinfo --- 确认服务端nfs服务是否向rpc服务进行注册==>rpcinfo命令
命令用法:rpcinfo -p nfs服务器私网IP地址
/usr/sbin/exportfs --- 重启nfs服务(平滑重启)==>exports命令
命令用法:exportfs -rv
/var/lib/nfs/etab --- 记录nfs默认配置参数信息
/proc/mounts --- 记录客户端挂载参数信息

补充: 平滑重启/普通重启

普通重启:
普通重启就是立即强制关闭再启动,不考虑是否有数据正在传输


image.png

平滑重启:

  1. 链路中没有数据传输, 会将链路进行断开,重新建立
  2. 链路中存在数据传输, 会等待数据传输完毕, 断开连接, 重新建立
    3)端口号码不会重新注册


    image.png

    ps:在nfs服务中,通过restart普通重启时,再挂载后执行的命令会出现大约90s的延迟现象而,reload平滑重启则不会
    在nginx网站服务中,restart普通重启后直接强制断开所有链接,网站则将从新再次启动,回到初始访问介面,而reload则保留断开前的数据信息,然后网站重启后加载该数据信息。

补充: nfs默认配置参数信息

cat /var/lib/nfs/etab
/data/w 172.16.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,secure,root_squash,no_all_squash)
/data/r 172.16.2.0/24(ro,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,ro,secure,root_squash,no_all_squash)
PS:若需要修改nfs服务器默认信息,依然要在配置文件中进行修改,在当前默认配置参数文件中修改,无法执行,该文件只是记录文件

三、存储服务客户端操作

如何进行存储服务挂载

a 手动挂载方式:

mount 参数 类型 nfs服务器IP地址:共享目录 挂载点
如:mount -t nfs 172.16.1.31:/data /mnt

b 自动挂载方式:

第一种方式: 利用fstab文件
开机挂载网络存储设备条件
CentOS6:
启动顺序:加载/etc/fstab文件 ==>启动相关服务程(network)
PS:保证挂载自动启动必须先设置 netfs服务开机自动启动

CentOS7:
启动顺序:加载/etc/fstab文件 ==>启动相关服务程(network)
PS:保证挂载自动启动必须先设置remote-fs.target服务开机自动启动
原理过程:
第一个里程:
服务器启动加载/etc/fstab文件 忽略网络挂载信息
第二个里程:
系统服务程序开机自启
systemcyl enable network
systemctl enable remote-fs.target
第三个里程:
remote-fs.target会启动时重新加载/etc/fstab文件,并将网络存储设备进行挂载
第二种方式: 利用rc.local文件
注意该文件权限必须为执行权限

客户端挂载参数说明:

bg --- 后台进行挂载操作 mount -t nfs -o bg xxxx xxx 让挂载过程后台进行
fg --- 前台进行挂载操作 mount -t nfs -o bg xxxx xxx 让挂载过程前台显示
soft --- 客户端 -发送挂载请求-> 服务端 达到超时时间将停止发送挂载请求
hard --- 客户端 -发送挂载请求-> 服务端 一直进行发送挂载请求
rsize --- 划分出内存一部分空间, 作为存储服务读取数据缓存空间 (划分内存时是以4096字节为默认开始,且划分多少必须是1024的倍数;划分小于1024时自动设为4096,大于1048576时自动设为1048576)
wsize --- 划分出内存一部分空间, 作为存储服务写入数据缓冲空间 (划分内存时是以4096字节为默认开始,且划分多少必须是1024的倍数;划分小于1024时自动设为4096,大于1048576时自动设为1048576)
atime --- 修改文件访问时间戳信息 性能有关参数
noatime --- 不修改文件访问时间戳信息 性能有关参数
nodiratime --- 不修改目录访问时间戳信息
remount --- 在挂载点正在挂载时, 进行重新挂载


image.png image.png
image.png

四、企业中nfs配置方式

1.常规配置

共享目录 nfs服务器IP地址/子网(rw,sync,其他配置参数)

2.只读模式

共享目录 nfs服务器IP地址/子网(ro,sync,其他配置参数)
作用:限制开发人员权力,不要又连接线上服务器权力
企业运维人员和开发人员职责:
运维人员 ==>操作线上服务器权力
开发人员 ==>操作线下测试权力
运维常见错误:
代码上线时出现网站访问出错
出错后在短时间无法解决必须先进行代码回退
主要原因是线上和线下环境不统一,此时解决方法是将线上的网站数据目录让开发人员看到,但仅限于查看,不可修改

3.特殊配置

指定的映射用户
共享目录 nfs服务器IP地址/子网(rw,sync,其他配置参数,anonuid=指定某个映射属主,anongid=指定某个映射属组)

五、rpc注册端口原理过程

服务端
1.启动rpcbind服务,使nfs可以向rpcbind进行注册
2.启动nfs服务,端口和进行信息注册过程
3.重启服务,才会再次重新注册端口信息
客户端
1.启动rpcbind服务
2.执行mount命令进行挂载
3.客户端挂载点存储数据,会通过网络将数据存储到存储服务器
通过rpcinfo -p命令可以查看当前rpcbind服务的报告信息

六、NFS常见问题

1.防火墙服务开启,会影响运程挂载操作
2.nfs服务启动顺序不正确或者nfs服务没有启动,导致远程挂载一致进行,但无法挂载上 ==>针对nfs4以前的存储服务版本
3.rpcbind服务没启动,远程挂载将一直没有响应
4.文件句柄错误,客户端挂载着存储目录,服务端将存储目录删除,且不能正常使用该目录下的其他子目录


image.png

补充:mount -a 挂载/etc/fstab目录下所有的挂载信息
5.nfs服务尽量平滑重启,避免等待90s时间

上一篇下一篇

猜你喜欢

热点阅读