架构-rsync服务实践-04

2019-05-30  本文已影响0人  linux_龍

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

上一篇下一篇

猜你喜欢

热点阅读