sersync+rsync的热备份研究(热备+断点续传)
思路原理:配置有一个服务器端,N个客户端,文件由客户端发起上传至服务器端的rsync,将客户端的文件远程同步至服务器端。或者将文件同步到客户端,同步操作在客户端上实现。
本示例服务器端IP=192.168.20.99
客户端IP=192.168.20.233
说明:本次测验将在192.168.20.99定为服务器端,部署rsync程序配置;在192.168.20.233定为客户端,部署rsync+sersync程序配置,作为备份发出方,将客户端的文件同步到服务端中(当然也可以反向将服务器端的文件传至客户端,由服务器端作为备份发起方)。
注:sersync实时同步机制一般配置的是单向同步,即在服务器端更新文件,客户端不会同步更新;若在客户端更新文件,服务器端会同步更新。
13.1服务器端配置
配置
(1)先配置rsync的同步
yum –y install rsync
vim /etc/rsyncd.conf (注:将汉字注释去掉)
#Rsync server
uid = root
gid = root
use chroot = no # 安全相关
max connections = 2000 # 并发连接数
timeout = 600 # 超时时间(秒)
pid file =/var/run/rsyncd.pid # 指定rsync的pid目录
lock file =/var/run/rsync.lock # 指定rsync的锁文件【重要】
log file = /var/log/rsyncd.log # 指定rsync的日志目录
ignore errors #忽略一些I/O错误
read only = false #设置rsync服务端文件为读写权限
list = false #不显示rsync服务端资源列表
hosts allow = 192.168.20.233/32 #允许进行数据同步的客户端IP地址,可以设置多个,用英文状态下逗号隔开
hosts deny = 0.0.0.0/32 #禁止数据同步的客户端IP地址,可以设置多个,用英文状态下逗号隔开
auth users = rsync_backup #执行数据同步的用户名,可以设置多个,用英文状态下逗号隔开
secrets file =/etc/rsync.password #用户认证配置文件,里面保存用户名称和密码
#################################################
[www] # 模块,即同步的库目录
comment = www
path = /data/www/
#################################################
[bbs]
comment = bbs
path = /data/bbs/
#################################################
[blog]
comment = blog
path = /data/blog/
#rsync_config____________end
(2)创建远程访问的密码文件
echo "rsync_backup:123456">/etc/rsync.password
(3)创建同步用户,设置文件归属及访问权限
useradd rsync_backup
passwd rsync_backup
chown rsync_backup:rsync_backup /etc/rsync.password
chmod 600 /etc/rsync.password
(4)配置远程服务器端仓库
mkdir –p /data/{www,……..}
(5)开启服务端的rsync,设置服务自启
rsync --daemon
echo “/usr/bin/rsync –daemon” >> /etc/rc.local
13.2客户端配置
(1)安装rsync
yum –y install rsync
touch /etc/rsyncd.conf
(2) 配置客户端仓库
mkdir –p /data/{www,……..}
(3)配置访问密码文件,并赋600权限
echo “123456” > /etc/rsync.password
chown root:root /etc/rsync.password
chmod 600 /etc/rsync.password
(4)同步文件到远程服务器端 -- default-port= 873,实现原理同scp方法
1)
rsync -avzP /data/www/ root@192.168.20.99::www/
2)将root@192.168.20.99::www/下的文件同步到本地/data/www下的文件下
rsync -avzP root@192.168.20.99::www/ /data/www/
13.3客户端配置sersync
Sersync的配置文件:百度网盘 请输入提取码
提取吗:hqb5
(1)解压sersync安装包,并重命名未sersync,传至/usr/local下
(2)修改配置文件,可以实现多仓库热备
cp sersync/confxml.xml sersync/confxml.xml-bak
修改远程服务IP与库地址、访问用户
vim sersync/confxml.xml
修改24--28行
修改29--35行,认证部分(rsync密码认证)
修改前: 修改后:
(3)配置sersync环境变量
echo "PATH=$PATH:/usr/local/sersync/">>/etc/profile source /etc/profile
(4)开启sersync守护进程同步数据
/usr/local/sersync/sersync2 -d -r -o /usr/local/sersync/confxml.xml
13.4验证
在客户端中心放入或者修改文件,查看服务器端库文件是否已经做出了同样的变化
日志中报错信息处理cat 100 /var/log/rsyncd.log
(1)params.c:Parameter() - Ignoring badly formed line in config file: ignore errors
此为权限警告,可在vim /etc/rsyncd.conf 中将ignore errors注释掉即可
(2)name lookup failed for 192.168.20.233: Name or service not known
此为客户端域名不详问题,可在/etc/hosts里面添加客户端机的ip和机器名,即可解决