Rsync+sersync部署
内核版本:2.6.32-431.el6.x86_64
系统采用最小化安装,系统经过了基本优化,selinux 为关闭状态,iptables 为无限制模式 源码包存放位置:/root
Rsync 客户端+Sersync 服务器(SERSYNC),承担角色 MASTER,IP:172.16.100.3,主机名:
rsync-client-sersync
SERSYNC_SLAVE,作为 SERSYNC 的从机,如果 SERSYNC 宕机,SERSYNC_SLAVE 来接管服务,
保证业务不中断,本实验不包括它!
Web 服务器 A(即 Rsync 服务端)(SWEB1),承担角色 S1,IP:172.16.100.1,主机名:rsync-server-1
Web 服务器 B(即 Rsync 服务端)(SWEB2),承担角色 S2,IP:172.16.100.2,主机名:rsync-server-2
6.1.2 服务器端配置
特别提醒:本文的 SWEB 服务器即为 SWEB1(172.16.100.1),SWEB2(172.16.100.2)。此 处仅以 SWEB1 的 Rsync 服务端部署为例,SWEB2 的部署和 SWEB1 一样,此处不再敖述。
1.安装 Rsync
[root@SWEB1 ~]# yum install rsync –y
2、修改 Rsync 配置文件
[root@SWEB1 ~]# cat > /etc/rsyncd.conf << EOF
#Rsync server
#created by sunsky 00:17 2013-06-28
##rsyncd.conf start## 27
uid = root # rsync 对后面模块中的 path 路径拥有什么权限 gid = root # rsync 对后面模块中的 path 路径拥有什么权限 use chroot = no # 安全操作
max connections = 2000 # 定义连接数 2000 timeout = 600 # 600 秒超时
pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock log file = /var/log/rsyncd.log ignore errors # 忽略错误
read only = false # false 才能上传文件,true 不能上传文件
list = false # 文件列表
hosts allow = 172.16.100.0/24 hosts deny = *
auth users = rsync_bak # 虚拟用户,同步时需要用这个用户
secrets file = /etc/rsync.password # 密码文件
##################################### [web] # 模块名称
comment = redhat.sx site files by sunsky 00:17 2013-06-28 # 注释
path = /data/web # 模块的路径
#################################### [download]
comment = redhat.sx site sit data files by sunsky 00:17 2013-06-28 path = /data/download
##################################### EOF
做一个目录即可。
上面的 Rsync 服务的配置文件,表明允许 172.16.100.0 网段的主机访问,Rsync 同步模块名 为[web]和[download],将同步过来的文件分别放入对应 path 指定的目录/data/web,
/data/download 下。
如果有多台目标服务器,则每一台都需要进行类似的 rsync 服务端配置,上面的 uid 和
gid 需要换成你服务器的相应的同步用户。注意,Rsync 服务账户(本文用 root)要有对被同
步目录(/data/web 和/data/download)的写入和更新权限。
3、创建相关待同步目录
[root@SWEB1 ~]# mkdir /data/{web,download} -p
[root@SWEB1 ~]# tree /data
/data
├── download
└── web
2 directories, 0 files
提示:此步在 S1,S2 上都要执行,否则,rsync 服务会因为没有 PATH 路径而无法启动。
4、相关认证和权限项配置
[root@SWEB1 /]# echo 'rsync_bak:redhat' > /etc/rsync.password
[root@SWEB1 /]# chmod 600 /etc/rsync.password
[root@SWEB1 /]# cat /etc/rsync.password
rsync_bak:redhat
[root@SWEB1 /]# ll /etc/rsync.password
-rw-------. 1 root root 7 Jun 4 00:20 /etc/rsync.password
5、以守护进程方式启动 rsync 服务
[root@SWEB1 ~]# rsync –daemon
6、查看 rsync 服务状态
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rsync 20982 root 3u IPv4 88170 0t0 TCP *:rsync (LISTEN)
rsync 20982 root 5u IPv6 88171 0t0 TCP *:rsync (LISTEN)
7、为 rsync 添加开机自启动
[root@SWEB1 /]# echo "# rsyncd service daemon by sun 20140702" >>/etc/rc.local
[root@SWEB1 /]# echo "/usr/bin/rsync --daemon" >> /etc/rc.local
[root@SWEB1 /]# grep daemon /etc/rc.local
# rsyncd service daemon by sun 20140702
/usr/bin/rsync --daemon
这里顺带附上重启的命令,rsync 重启有点麻烦,需要以先杀掉后台守护进程,然后再启动的方式
来重启服务。
[root@SWEB1 /]# pkill rsync
[root@SWEB1 /]# rsync --daemon