美文网首页
架构-rsync服务实践-04

架构-rsync服务实践-04

作者: linux_龍 | 来源:发表于2019-05-30 20:10 被阅读0次

    1.主机角色 外网(NAT) 内网(LAN) 主机名称

    rsync服务端 10.0.0.41 172.16.1.41 backup
    rsync客户端 10.0.0.31 172.16.1.31 nfs

    服务实践

    1.安装rsync
    2.配置/etc/rsyncd.conf
    3.创建用户(运行rsync服务的用户身份)
    4.创建虚拟用户密码文件,授权600安全权限
    5.启动rsync服务并将rsync加入开机自启动
    6.检查rsync 873端口是否处于监听状态
    7.rsync 客户端继续配置虚拟用户密码,并授权600安全权限

    1.安装rsync

    [root@backup ~]# yum install -y rsync
    Loaded plugins: fastestmirror, langpacks
    Determining fastest mirrors
    epel                           | 5.3 kB     00:00     
    extras                         | 3.4 kB     00:00     
    os                             | 3.6 kB     00:00     
    updates                        | 3.4 kB     00:00     
    (1/3): epel/7/x86_64/updateinfo  | 977 kB   00:00     
    (2/3): updates/7/x86_64/primary_ | 5.0 MB   00:00     
    (3/3): epel/7/x86_64/primary_db  | 6.7 MB   00:00     
    Resolving Dependencies
    --> Running transaction check
    ---> Package rsync.x86_64 0:3.1.2-4.el7 will be updated
    ---> Package rsync.x86_64 0:3.1.2-6.el7_6.1 will be an update
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ======================================================
     Package Arch     Version             Repository
                                                     Size
    ======================================================
    Updating:
     rsync   x86_64   3.1.2-6.el7_6.1     updates   404 k
    
    Transaction Summary
    ======================================================
    Upgrade  1 Package
    
    Total download size: 404 k
    Downloading packages:
    Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
    rsync-3.1.2-6.el7_6.1.x86_64.rpm | 404 kB   00:00     
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
      Updating   : rsync-3.1.2-6.el7_6.1.x86_64       1/2 
      Cleanup    : rsync-3.1.2-4.el7.x86_64           2/2 
      Verifying  : rsync-3.1.2-6.el7_6.1.x86_64       1/2 
      Verifying  : rsync-3.1.2-4.el7.x86_64           2/2 
    
    Updated:
      rsync.x86_64 0:3.1.2-6.el7_6.1                      
    
    Complete!
    

    2.配置 /etc/rsyncd.conf

    [5:37 root@backup ~]# vim /etc/rsyncd.conf                                      
    ##Rsync server                           
    ##created by oldboy 15:01 2009-6-5       
    ##rsyncd.conf start##                    
    uid = rsync                          #UID管理备份目录的用户 (虚拟用户)
    gid = rsync                          #GID管理备份目录的用户组(虚拟用户)
    use chroot = no                      #安全功能,数据是否锁定到备份目录
    fake super = yes                     #不用root用户也可以存储文件的完整属性
    max connections = 2000               #最大连接数,同时多少客户端访问
    timeout = 600                        #超时时间(秒)
    pid file = /var/run/rsyncd.pid       #pid进程号 所在文件
    lock file = /var/run/rsync.lock      #锁文件lock 比如两个窗口同时运行yum
    log file = /var/log/rsyncd.log       #日志文件,查看报错,排错必备
    ignore errors                        #忽略错误
    read only = false                    #关闭只读
    list = false                         #不允许列表
    hosts allow = 172.16.1.0/24          #allow准许哪些主机可以访问
    #hosts deny = 0.0.0.0/32             #deny 拒绝哪些主机不可以访问
    auth users = rsync_backup            #指定认证用户(不存在),远程虚拟链接用户
    secrets file = /etc/rsync.password   #存放密码的文件,权限 必须600
    ###################################
    [data]                                   #模块名 一半与目录的名字相同
    comment = www by old0boy 13:14 2019-5-20 #说明注释
    path = /data                             #指定服务端用户备份的共享目录
    

    3.创建用户(运行rsync服务的用户身份)

    1.(1)创建rsync用户,不允许登录不创建家目录

    [root@backup ~]# useradd -s /sbin/nologin -M rsync
    

    1.(2)检查创建的用户

    [root@backup ~]# id rsync
    uid=1000(rsync) gid=1000(rsync) groups=1000(rsync)
    

    1.(3)创建备份目录

    [root@backup ~]# mkdir -p /backup
    

    1.(4)授权/backup用户的所属用户组,所属用户主为rsync

    [root@backup ~]# chown -R rsync.rsync /backup
    chown 将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。 。
    

    1.(5)查看/backup目录的所属用户主.用户组

    [root@backup /]# ll
    total 68
    drwxr-xr-x   2 rsync rsync  4096 Jun  3 16:11 backup
    

    4.创建虚拟用户密码文件,授权600安全权限

    设置虚拟用户密码文件
    [root@backup /]# echo "rsync_backup:123456" >/etc/rsync.passwd
    

    授权600的安全权限

    [root@backup /]# chmod 600 /etc/rsync.passwd
    

    5.启动rsync服务,设置开机自启动

    启动rsync服务
    [root@backup /]# systemctl start rsyncd
    设置开机自启动
    [root@backup /]# systemctl enable rsyncd
    

    6.检查rsync 873端口是否处于监听状态

    Linux netstat命令用于显示网络状态。
    利用netstat指令可让你得知整个Linux系统的网络情况。
    -l或--listening 显示监控中的服务器的Socke
    -n或--numeric 直接使用IP地址,而不通过域名服务器。
    -t或--tcp 显示TCP传输协议的连线状况。
    -p或--programs 显示正在使用Socket的程序识别码和程序名称。
    [root@backup /]# 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:873             0.0.0.0:*               LISTEN      13078/rsync         
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      877/sshd            
    tcp6       0      0 :::873                  :::*                    LISTEN      13078/rsync        
    

    7.rsync客户端仅需配置虚拟用户的密码,并授权600安全权限

    创建密码文件
    [root@nfs01 /etc]# mkdir -p /etc/rsync.password
    指定客户端用户密码文件
    [root@nfs01 ~]# echo "123456" > /etc/rsyncd.password
    授权权限600
    [root@nfs01 /etc]# chmod 600 /etc/rsync.password
    

    2.实战

    实战-1
    客户端推送 backup目录下所有内容至rsync服务端
    [root@nfs01 /etc]# rsync -avz /backup/ rsync_backup@172.16.1.41::backup/
    Password: 
    sending incremental file list
    rsync: change_dir "/backup" failed: No such file or directory (2)
    
    sent 24 bytes  received 20 bytes  8.00 bytes/sec
    total size is 0  speedup is 0.00
    rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1178) [sender=3.1.2]
    
    实战-2
    客户端拉取rsync服务端data模块数据至本地客户端/backup
    [root@nfs01 /]# rsync -avz  rsync_backup@172.16.1.41::data  /backup/
    Password: 
    receiving incremental file list
    ·····
    ····sent 476 bytes  received 2,937 bytes  758.44 bytes/sec
    total size is 22,450  speedup is 6.58
    rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1650) [generator=3.1.2]
    
    实战-3
    rsync实现实时同步
    >拉取远端数据:远端与本地保持一致,本地没有远端会被删除,
    造成服务器端数据丢失
    [root@nfs01 /]# rsync -avz --delete rsync_backup@172.16.1.41::backup/ /data/
    ···
    ···
    yum/vars/infra
    
    sent 74,519 bytes  received 161,086,014 bytes  14,013,959.39 b
    total size is 198,000,247  speedup is 1.23
    rsync error: some files/attrs were not transferred (see previo
    [root@nfs01 /]# sent 476 bytes  received 2,937 bytes  758.44 
    
    >推送数据至远端:本地与远端保持一致,本地没有远端会被删除,造成服务器端数据丢失
    [root@nfs01 /]# rsync -avz --delete /data rsync_backup@172.16.1.41::backup/
    data/yum/vars/infra
    
    sent 161,085,278 bytes  received 74,544 bytes  14,013,897.57 bytes/sec
    total size is 197,996,266  speedup is 1.23
    
    实战-4
    rsync的limit限速
    某用户使用rsync拉取备份数据时,由于文件过大导致内部交换机带宽被沾满,导致用户请求无法响应
    [root@nfs01 /]# rsync -avz --bwlimit=1 rsync_backup@172.16.1.41::backup/ /data/
    Password: 
    receiving incremental file list
    

    3.rsync备份案列

    已知三台服务器主机名为web01.backup.nfs01

    相关文章

      网友评论

          本文标题:架构-rsync服务实践-04

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