目的: 实现WEB集群之间的站点同步
原理: 在一台WEB服务器上建立sersync服务,其他WEB服务器上建立rsync客户端,实现同步。见下图
准备: 一台WEB服务器 192.168.9.124 充当Sersync服务器
一台WEB服务器 192.168.9.126 用作rsync客户端
步骤:
1 配置客户端程序
① 使用的UbuntuServer10.10已经安装好rsync客户端程序,检查启动情况:
lsof -i:873
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rsync 2149 root 4u IPv4 16664 0t0 TCP *:rsync (LISTEN)
rsync 2149 root 5u IPv6 16665 0t0 TCP *:rsync (LISTEN)
如果已经启动了进程,则先要关闭进程,kill -9 2149
vi /etc/rsyncd.conf
uid=root
gid=root
max connections=36000
use chroot=yes
log file=/var/log/rsyncd.log
#pid file=/var/run/rsyncd.pid
lock file=/var/run/rsyncd.lock
[owa]
path=/var/www/owa
comment = owa site files
ignore errors = yes
read only = no
hosts allow = 192.168.9.100/24
hosts deny = *
② vi /etc/init.d/rsync 中将RSYNC_ENABLE=false改为true
③ vi /etc/default/rsync 中将RSYNC_ENABLE=false改为true
④ 启动rsync
/etc/init.d/rsync status
/etc/init.d/rsync restart 或 rsync –daemon
2 配置服务器端程序
① 下载源码sersync
wget http://sersync.googlecode.com/files/sersync2.5_32bit_binary_stable_final.tar.gz
② 解压缩sersync
Tar –zxvf wget sersync2.5_32bit_binary_stable_final.tar.gz
③ 拷贝至/usr/local/sersync下(此目录请自建)
cp GNU-Linux-x86/* /usr/local/sersync/
④ cd /usr/local/sersync
⑤ vi confxml.xml
主要配置地方如下:
<sersync>
<localpath watch="/var/www/owa">
<remote ip="192.168.9.126" name="owa"/>
<!--<remote ip="192.168.8.39" name="tongbu"/>-->
<!--<remote ip="192.168.8.40" name="tongbu"/>-->
</localpath>
<rsync>
<commonParams params="-artuz"/>
<auth start="false" users="root" passwordfile="/etc/rsync.pas"/>
<userDefinedPort start="false" port="874"/><!-- port=874 -->
<timeout start="false" time="100"/><!-- timeout=100 -->
<ssh start="false"/>
</rsync>
⑥ 启动sersync
/usr/local/sersync2 -r -d -o confxml.xml
⑦ 参数说明
查看启动参数帮助
./sersync --help
1.指定配置文件
./sersync -o XXXX.xml
对于sersync使用可执行文件目录下的默认配置文件confxml.xml,如果需要使用另一个配置文件,可以使用-o参数指定其它配置文件。
2.指定默认的线程池的线程总数
./sersync -n num
例如 ./sersync -n 5 则指定线程总数为5,如果不指定,默认启动线程池数量是10,如果cpu使用过高,可以通过这个参数调低,如果机器配置较高,可以用-n跳高线程总数。
3.不进行同步,只运行插件
./sersync -m pluginName
例如./sersync -m command,则在监控到文件事件后,不对远程目标服务器进行同步,而是直接运行command插件。
4.多个参数可以配合使用
./sersync -n 8 -o abc.xml -r -d
表示,设置线程池工作线程为8个,指定abc.xml作为配置文件,在实时监控前作一次整体同步,以守护进程方式在后台运行。
5.通常情况下,对本地到远程整体同步一遍后(-r),在后台运行实时同步(-d)。
./sersync -r -d