美文网首页运维相关自我总结
备份文档——nfs存储服务

备份文档——nfs存储服务

作者: 如歌丨如歌 | 来源:发表于2020-02-12 20:24 被阅读0次

熟悉nfs服务
通过挂载的方式,实现相同集群之间的数据保持一致
服务端: nfs存储服务器

1..安装软件
    nfs-utils   rpcbind
    
2..安装部署
    服务端部署:
        第一步: 安装存储软件 nfs-utils   rpcbind
        第二步: 编写配置文件
        第三步: 创建存储目录,修改属主属组
        第四步: 启动1 rpc 启动2 nfs    --注意开机自启:systemctl enable ...
        
    客户端部署:
        第一步: 安装nfs-utils软件
        第二步: 实现网络存储服务挂载
                mount -t nfs 172.16.1.31:/data 挂载点目录
        第三步: 验证服务搭建情况
        
3..具体步骤
    服务端部署:
    第一步:    下载安装软件
        [root@nfs01 ~]# rpm -qa | grep -E "nfs|rpc"
        [root@nfs01 ~]# yum install -y nfs-utils rpcbind
    
    第二步: 编写配置文件
        [root@nfs01 ~]# ll /etc/exports
        [root@nfs01 ~]# man exports
        
        vim /etc/exports
        
        01      02(03)
        格式说明:
            01: 设置数据存储的目录   /data
            02: 设置网络的白名单    允许哪些主机连接到存储服务器进行数据存储 
            03: 配置存储目录的权限信息 配置存储目录的一些功能
    参考配置: 
        [root@nfs01 data]# vim /etc/exports
        /data/web       172.16.1.0/24(rw,sync,no_all_squash,anonuid=1200,anongid=1200)
        #web服务器的挂在目录属主为www,注意用户的UID和GID要相同
        PS: 普通用户进行转换,以便方便管理文件系统
            root用户转换成对应的文件系统的文件夹的属主,以便管理
            注意: 客户端和服务端的用户UID和GID要相同
    
    第三步: 创建存储目录  mkdir -p /data /web
            useradd -u 1200 www
            需要权限修改--属主属组: chown www /data/web
            
        PS: 安装自带用户
        [root@nfs01 /]# cat /etc/passwd | grep nfsnobody
        nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
        
    第四步: 启动服务程序
        先启动rpc服务
            systemctl start rpcbind.service
            systemctl enable rpcbind.service

    客户端部署:
        mkdir -p /data
        useradd -u 1200 www
        yum install -y nfs-utils
        mount -t nfs 172.16.1.31:/data/web /data
        进行开机挂在(练习不进行开机挂在,要是没开启nfs服务器,会对web服务器有影响)
        
        (1) 172.16.1.31:/data       /mnt    nfs     defaults        0 0     --- /etc/fstab
        (2) 利用rc.local (文件要有执行权限) --- /etc/rc.local

4..常见问题以及注意事项
    (1) 先启动rpc.bind服务后才能启动nfs服务
    (2) 企业案例:秒杀服务?
        企业互联网公司如何配置nfs 各种squash

        no_all_squash   需要进行配置  共享目录权限为www  普通用户--nfsnobody
        但是!即使设置成all_squash,然后把目录权限改成www,普通用户用户也无法修改数据!

        root_squash     需要进行配置  共享目录权限为www  root用户--nfsnobody
        root用户一样要进行这样配置!!

        以上默认配置(很多服务默认配置都从安全角度出发)
        [root@nfs01 ~]# cat /var/lib/nfs/etab
        /data   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)

        记录nfs的默认配置信息.

        如何让root用户可以操作www管理的data目录?
        anonuid=65534,anongid=65534====nfsnobody的UID和GID--->指定映射成什么用户

        企业中如何编写nfs配置文件
        01..通用方法
            /data  172.16.1./24(rw,sync)
        02..特殊情况--让部分人员不能操作存储目录,但是能看
            /data  10.0.0.0/24(ro,sync)
        03..修改默认的匿名用户
            /data  10.0.0.0/24(rw,sync,anonuid=xxx,anongid=xxx)
            
        nfs客户端(oldboy)          nfs服务端(data目录-数据信息)
        
    NFS服务挂在不上排查方法: 
    服务端进行排查:
    1. 检查nfs进程信息是否注册
        rpcinfo -p localhost/172.16.1.31
        问题原因: 
        服务启动顺序不对,没有启动nfs服务
    2. 检查有没有可用的存储目录
    3. 在服务端进行挂载测试
        是否能在存储目录中创建或删除数据
        
    客户端测试:
    1. 检查nfs进程信息是否注册
        rpcinfo -p localhost/172.16.1.31
        问题原因: 
        服务启动顺序不对,没有启动nfs服务
    2. 检查有没有可用的存储目录
        showmount -e 172.16.1.31
        问题原因:
        配置文件编写有问题,重启服务
        网络问题
        ping 172.16.1.31
        telnet  172.16.1.31 111

5..其他详细配置说明详见day30 31 32
    
    
    
数据时时备份,与备份服务器还是有区别的
配置实时同步服务: 
    1) 部署好rsync守护进程
        服务端配置操作
    2) 部署inotify监控服务
        第一步: 安装inotify软件
            yum install -y inotify-tools
        
        第二步: 熟悉命令的使用
            [root@nfs01 data]# rpm -ql inotify-tools
            /usr/bin/inotifywait        ---实现监控目录信息变化
            /usr/bin/inotifywatch       ---对监控的变化信息进行统计
            
            统计变化:
            /data   oldboy01.txt    修改  修改一次
                    oldboy02.txt    删除  删除两次
                    oldboy03.txt    删除
            
            inotifywait [参数信息] 监控的目录    
            
            参数:
            -m|--monitor    Keep listening for events forever.  Without
                            this option, inotifywait will exit after one        ---一直监控目录变化
                            event is received.
            
            -r|--recursive  Watch directories recursively(递归).              ---进行递归监控
            
            -q|--quiet      Print less (only print events). 与tar/rsync的-v相反 ---显示简略信息
            
            --format <fmt>  Print using a specified printf-like format          ---指定输出信息的格式
                            string; read the man page for more details.
            --timefmt <fmt> strftime-compatible format string for use with      ---指定输出的时间信息格式
                            %T in --format string.
            
            -e|--event <event1> [ -e|--event <event2> ... ]                     ---指定监控的事件信息?监控创建,不管删除

            创建文件监控信息输出:
                [root@nfs01 ~]# inotifywait -m /data
                Setting up watches.
                Watches established.
                /data/ CREATE test01.txt                    ---- 一个文件被创建出来
                /data/ OPEN test01.txt                      ---- 打开创建的文件
                /data/ ATTRIB test01.txt                    ---- 修改文件的属性信息
                /data/ CLOSE_WRITE,CLOSE test01.txt         ---- 保存关闭一个文件
                
                
            删除文件监控信息输出: 
                /data/ DELETE test.txt
                
            需改文件监控信息输出:
              修改没有的文件:
                /data/ CREATE test02.txt
                /data/ OPEN test02.txt
                /data/ MODIFY test02.txt
                /data/ CLOSE_WRITE,CLOSE test02.txt

              修改已有的文件:
                /data/ MODIFY test01.txt
                /data/ OPEN test01.txt
                /data/ MODIFY test01.txt
                /data/ CLOSE_WRITE,CLOSE test01.txt
                
                
                
            sed命令修改文件原理:
                /data/ OPEN test01.txt                  --- 打开文件
                /data/ CREATE sedCnSonD                 --- 创建一个临时文件-->内存中(模式空间)
                /data/ OPEN sedCnSonD                   --- 打开临时文件
                /data/ ACCESS test01.txt                --- 读取源文件内容
                /data/ MODIFY sedCnSonD                 --- 修改临时文件
                /data/ ATTRIB sedCnSonD                 --- 临时文件属性变化
                /data/ CLOSE_NOWRITE,CLOSE test01.txt   --- 不编辑,直接关闭源文件
                /data/ CLOSE_WRITE,CLOSE sedCnSonD      --- 写入关闭临时文件
                /data/ MOVED_FROM sedCnSonD             --- 将临时文件移除
                /data/ MOVED_TO test01.txt              --- 移入一个新的user10源文件
                
                
            inotify监控命令格式:
            inotifywait -mrq  --timefmt "%F_%T" --format "%T %w %f 事件信息:%e" /data -e  CREATE***
            
            2019-11-20_15:00:47 /data/data01/ 06.txt 事件信息:CREATE
            
            需要监控的事件信息:CREATE delete move_to close_write
            
            企业应用: 防止系统重要文件被破坏
            需要inotify进行实时一直监控 /etc/passwd       /var/spool/cron/root
    
    
    
    
    3) 部署sersync同步服务
        第一步: 下载sersync
        在GitHub上下载软件通过rz命令上传至Linux服务器
        PS: 软件统一保存在/server/tools目录中
        
        第二步: 解压安装软件,将解压后的数据进行保存
            将文件移动到/usr/local/目录中
        第三步: 编写配置文件
            vim confxml.xml
配置文件详细解释
       6     <filter start="false">
       7         <exclude expression="(.*)\.svn"></exclude>
       8         <exclude expression="(.*)\.gz"></exclude>
       9         <exclude expression="^info/*"></exclude>
      10         <exclude expression="^static/*"></exclude>
      11     </filter>
      说明:排除指定数据信息不要进行实时传输同步

      12     <inotify>
      13         <delete start="true"/>
      14         <createFolder start="true"/>
      15         <createFile start="false"/>
      16         <closeWrite start="true"/>
      17         <moveFrom start="true"/>
      18         <moveTo start="true"/>
      19         <attrib start="false"/>
      20         <modify start="false"/>
      21     </inotify>
      说明:定义inotify程序需要监控的事件
      
      24         <localpath watch="/data">
                #监控目录
      25             <remote ip="172.16.1.31" name="web"/>
                #监控主机地址 模块
      26             <!--<remote ip="192.168.8.39" name="tongbu"/>-->
      27             <!--<remote ip="192.168.8.40" name="tongbu"/>-->
      28         </localpath>
      29         <rsync>
      30             <commonParams params="-artuz"/>
                #rsync传输参数
      31             <auth start="true" users="rsync_backup" passwordfile="/etc/rsync.password"/>
                #rsync配置
      32             <userDefinedPort start="true" port="873"/><!-- port=873 -->
                #rsync端口设置

    启动运行: /server/tools/sersync/sersync2 -dro /server/tools/sersync/confxml.xml (使用绝对路径)
    export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/sersync/"
    也可加入到PATH路径中,直接使用:
    sersync2 -dro /server/tools/sersync/confxml.xml

相关文章

  • 备份文档——nfs存储服务

  • day36 实时备份wenben

    实时同步备份 定义:通过 sersync 服务将 nfs 服务器的存储,实时备份到 backup 服务器中,以此来...

  • day36-2019年4月18日

    数据实时备份 准备环境:nfs01存储服务器 和 backup备份服务器 1、什么是实时备份? 实时备份是利用实时...

  • sersync 实时同步

    实现web 上传视频文件,实则是写入NFS 至存储,当NFS存在新的数据则会实时的复制到备份服务器 NFS服务器 ...

  • 基本网站架构

    分类链接备份服务rsync服务网络存储服务NFS服务实时同步服务Sersync服务SSH服务SSH服务批量管理服务...

  • Centos7.6NFS储存服务

    NFS存储服务概念 NFS详解.png NFS工作流程 储存服务存在的意义 可以实现数据统一共享存储 节省架构服务...

  • 28-网络文件共享服务

    本章内容 ◆ FTP服务◆ NFS服务◆ SAMBA服务◆ 数据同步 存储基础知识---存储网络 直接存储(Dir...

  • Linux-NFS存储服务

    1.NFS存储服务作用 实现数据的共享存储编写数据操作管理节省购买服务器磁盘开销 2.NFS服务部署流程 RPC:...

  • NFS存储服务

    Server端配置 1、环境配置 关闭防火墙、selinux 2、安装nfs [root@nfs ~]# yum ...

  • 存储服务 NFS

    1. NFS 介绍 NFS 是 Network File System 的缩写,中文意思是网络文件系统,它的主要功...

网友评论

    本文标题:备份文档——nfs存储服务

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