美文网首页
Rsync 企业级备份及 NFS 存储详解

Rsync 企业级备份及 NFS 存储详解

作者: 学无止境_9b65 | 来源:发表于2019-04-21 08:29 被阅读0次

    Rsync 企业级备份及 NFS 存储详解

    第1章 Rysnc 企业级服务搭建
    要求:
    客户端需求
    1.客户端每天凌晨 01 点在服务器本地打包备份(系统配置文件、日志文件、其他目录、应用配置等文
    件)
    2.客户端备份的数据必须存放至以主机名IP 地址当前时间命名的目录中, 例
    /backup/nfs-server_172.16.1.31_2018-09-02
    3.客户端最后通过 rsync 推送本地已打包好的备份文件至 backup 服务器
    4.客户端服务器本地保留最近 7 天的数据, 避免浪费磁盘空间
    服务端需求
    1.服务端部署 rsync ,用于接收客户端推送过来的备份数据
    2.服务端需要每天校验客户端推送过来的数据是否完整
    3.服务端需要每天校验的结果通知给管理员
    4.服务端仅保留 6 个月的备份数据,其余的全部删除
    搭建流程:
    服务端配置 Rsync:
    a. 服务端安装 rsync、mailx 工具
    rsync 配置文件(整体替换)
    uid = rsync
    gid = rsync
    port = 873
    fake super = yes
    use chroot = no
    max connections = 200
    timeout = 600
    ignore errors
    read only = false
    auth users = rsync_backup
    secrets file = /etc/rsync.password
    list = false
    老男孩 linux 运维实战教育 http://www.oldboyedu.com/
    41117397(丹丹) 70271111(歪歪) 80042789(飞雪) 390320151(小雨) 41117483(冰冰)
    3
    log file = /var/log/rsyncd.log
    #####################################
    [backup]
    comment = welcome to oldboyedu backup!
    path = /backup
    mailx 配置文件(追加到文件末尾)
    set from=lyglxyf@126.com
    set smtp=smtps://smtp.126.com:465
    set smtp-auth-user=lyglxyf@126.com
    set smtp-auth-password=xiayunfeng62561
    set smtp-auth=login
    set ssl-verify=ignore
    set nss-config-dir=/etc/pki/nssdb/
    b. 设置配置文件
    c. 创建目录、密码文件
    客户端配置:
    a. 编辑配置文件/etc/mail.rc
    b. 设置密码文件
    c. 编写推送脚本

    !/usr/bin/bash

    export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
    NAME=(hostname) ADDR=(ifconfig eth1 |awk 'NR==2{print 2}') DATE=(date +%F)
    DIRNAME={NAME}_{ADDR}_${DATE}

    establish directory

    mkdir -p /backup/$DIRNAME

    copy config files

    cd / &&
    tar zchf backup/DIRNAME/conf-bak.tar.gz /etc/fstab /etc/rsyncd.conf && \ tar zchf backup/DIRNAME/var-bak.tar.gz /var/log/messages /var/log/secure
    老男孩 linux 运维实战教育 http://www.oldboyedu.com/
    41117397(丹丹) 70271111(歪歪) 80042789(飞雪) 390320151(小雨) 41117483(冰冰)
    4
    md5sum /backup/DIRNAME/*.tar.gz >/backup/DIRNAME/md5-{DATE}-{ADDR}
    export RSYNC_PASSWORD=6256133
    rsync -avz /backup/ rsync_backup@172.16.1.41::backup
    服务端编写校验结果返回脚本

    !/usr/bin/bash

    export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
    Path=/backup
    Date=(date +%F) find /backup/*_Date -type f -name "md5-"|xargs md5sum -c >/backup/result_{Date} mail -s "Rsync BackupDate" 252321466@qq.com </backup/result_${Date}
    find /backup/ -type f -name "result
    " -mtime +7|xargs rm -f
    find /backup/ -type d -mtime +180|xargs rm –rf
    第2章 NFS 服务配置
    2.1 服务端安装 nfs-utlis,rpcbind。
    [root@nfs-31 ~]# yum -y install nfs-utils rpcbind
    2.2 在服务端编辑 nfs-utlis 配置文件
    [root@nfs-31 ~]# vim /etc/exports
    /data 172.16.1.0/24(rw,sync,all_squash)
    规则:
    1.主机都拥有读写权限
    2.在将数据写入到 NFS 服务器的硬盘中后才会结束操作,最大限度保证数据不丢失
    3.将所有用户映射为本地的匿名用户(nfsnobody)
    老男孩 linux 运维实战教育 http://www.oldboyedu.com/
    41117397(丹丹) 70271111(歪歪) 80042789(飞雪) 390320151(小雨) 41117483(冰冰)
    5
    2.3 创建对应目录
    [root@nfs-31 ~]# mkdir /data
    2.4 启动 rpc,nfs
    [root@nfs-31 ~]# systemctl start rpcbind
    [root@nfs-31 ~]# systemctl start nfs
    2.5 检查端口
    [root@nfs-31 ~]# netstat -lntp
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
    tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN -
    tcp 0 0 0.0.0.0:33544 0.0.0.0:* LISTEN -
    tcp 0 0 0.0.0.0:42988 0.0.0.0:* LISTEN 1430/rpc.statd
    tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 664/rpcbind
    tcp 0 0 0.0.0.0:20048 0.0.0.0:* LISTEN 1617/rpc.mountd
    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 948/sshd
    tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1031/master
    tcp6 0 0 :::2049 :::* LISTEN -
    tcp6 0 0 :::44644 :::* LISTEN -
    tcp6 0 0 :::45222 :::* LISTEN 1430/rpc.statd
    tcp6 0 0 :::111 :::* LISTEN 664/rpcbind
    tcp6 0 0 :::20048 :::* LISTEN 1617/rpc.mountd
    tcp6 0 0 :::22 :::* LISTEN 948/sshd
    tcp6 0 0 ::1:25 :::* LISTEN 1031/master
    2.6 检查共享内容
    [root@nfs-31 ~]# cat /var/lib/nfs/etab
    /data
    172.16.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,all_squash,no_subtree_check,sec
    ure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,secure,root_squash,all_squash)
    2.7 检查虚拟用户
    [root@nfs-31 ~]# cat /etc/passwd|tail -1
    老男孩 linux 运维实战教育 http://www.oldboyedu.com/
    41117397(丹丹) 70271111(歪歪) 80042789(飞雪) 390320151(小雨) 41117483(冰冰)
    6
    nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
    2.8 设置共享目录属主为虚拟用户
    [root@nfs-31 ~]# chown nfsnobody.nfsnobody /data/
    [root@nfs-31 ~]# ll -d /data/
    drwxr-xr-x 2 nfsnobody nfsnobody 6 Sep 6 18:26 /data/
    2.9 配置客户端 shezhi
    a. 安装 nfs
    [root@web01-7 ~]# yum -y install nfs-utils
    b. 设置 rpcbind 开机自启
    [root@web02-8 scripts]# systemctl enable rpcbind
    [root@web02-8 scripts]# systemctl start rpcbind
    [root@web02-8 scripts]# systemctl status rpcbind
    ● rpcbind.service - RPC bind service
    Loaded: loaded (/usr/lib/systemd/system/rpcbind.service; enabled; vendor preset: enabled)
    Active: active (running) since Thu 2018-09-06 17:41:25 CST; 2h 53min ago
    Main PID: 653 (rpcbind)
    CGroup: /system.slice/rpcbind.service
    └─653 /sbin/rpcbind -w
    Sep 06 17:41:24 web02-8 systemd[1]: Starting RPC bind service...
    Sep 06 17:41:25 web02-8 systemd[1]: Started RPC bind service.
    c. 创建/data 共享目录
    d. 挂载
    [root@web02-8 scripts]# mount -t nfs 172.16.1.31:/data /data
    f.设置开机自动挂载

    相关文章

      网友评论

          本文标题:Rsync 企业级备份及 NFS 存储详解

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