美文网首页
D33-综合架构存储服务

D33-综合架构存储服务

作者: 荆俊玮 | 来源:发表于2019-08-19 01:48 被阅读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时间

    相关文章

      网友评论

          本文标题:D33-综合架构存储服务

          本文链接:https://www.haomeiwen.com/subject/wedjsctx.html