系统环境: rhel6 x86_64 iptables and selinux disabled

主服务器: 192.168.122.160 server60.example.com

目标服务器: 192.168.122.154 server54.example.com

相关网址: http://code.google.com/p/sersync/


所需的包:sersync2.5.4_64bit_binary_stable_final.tar.gz



1.配置目标服务器

[root@server54 ~]# yum install rsync -y

[root@server54 ~]# vim /etc/rsyncd.conf

uid=root

gid=root

max connections=36000

use chroot=no

log file=/var/log/rsyncd.log

pid file=/var/run/rsyncd.pid

lock file=/var/run/rsyncd.lock


[tongbu1]

path=/opt/tongbu1

comment = test files

ignore errors = yes

read only = no

hosts allow = 192.168.122.160

hosts deny = *


[tongbu2]

path=/opt/tongbu2

comment = test files

ignore errors = yes

read only = no

hosts allow = 192.168.122.160

hosts deny = *

只允许主服务器server60访问,同步模块名为[tongbu1] [tongbu2] /opt/tongbu1 /opt/tongbu2 为文件同步目录

 

[root@server54 ~]# mkdir /opt/tongbu1

[root@server54 ~]# mkdir /opt/tongbu2

[root@server54 ~]# rsync –daemon 后台运行rsync

 

使用xinetd管理rsync服务

[root@server54 ~]# yum install xinetd -y

[root@server54 ~]# chkconfig rsync on

[root@server54 ~]# /etc/init.d/xinetd restart


2.配置主服务器

[root@server60 ~]# yum install rsync -y

[root@server60 kernel]# tar zxf sersync2.5.4_64bit_binary_stable_final.tar.gz

[root@server60 kernel]# cd GNU-Linux-x86/

[root@server60 GNU-Linux-x86]# vim confxml.xml

...

<sersync>

<localpath watch="/opt/tongbu1"> (本地同步目录)

<remote ip="192.168.122.154" name="tongbu1"/> (目标服务器列表和同步模块名)

</localpath>

...

[root@server60 GNU-Linux-x86]# cp confxml.xml confxml1.xml

[root@server60 GNU-Linux-x86]# vim confxml1.xml

...

<sersync>

<localpath watch="/opt/tongbu2"> (本地同步目录)

<remote ip="192.168.122.154" name="tongbu2"/> (目标服务器列表和同步模块名)

</localpath>

...

[root@server60 ~]# mkdir /opt/tongbu1

[root@server60 ~]# mkdir /opt/tongbu2

[root@server60 ~]# cd kernel/GNU-Linux-x86/

[root@server60 GNU-Linux-x86]# ./sersync2 -o confxml.xml -r -d

[root@server60 GNU-Linux-x86]# ./sersync2 -o confxml1.xml -r -d

 

可查看到如上进程说明启动成功.

 

测试:分别在server60/opt/tongbu1/opt/tongbu2中创建文件或目录,然后查看是否将数据同步到server54/opt/tongbu1/opt/tongbu2


3.运行sersyncsersync启动参数

sersync会对目录进行监控,将变化的目录或文件同步到远程服务器。sersync是递归监控的,

果有多级目录,都会同步到远程服务器。常用启动方式如下:


在主服务器上开启sersync守护进程,使sersync在后台运行,开启实时同步。

./sersync2 -d

set the system param

executeecho 50000000 > /proc/sys/fs/inotify/max_user_watches

executeecho 327679 > /proc/sys/fs/inotify/max_queued_events

parse the command param

option: -d run as a daemon

daemon thread num: 10

parse xml config file

host ip : localhost host port: 8008

daemon startsersync run behind the console

config xml parse success

please set /etc/rsyncd.conf max connections=0 Manually

sersync working thread 12 = 1(primary thread) + 1(fail retry thread) + 10(daemon sub threads)

Max threads numbers is: 22 = 12(Thread pool nums) + 10(Sub threads)

please according your cpu use -n param to adjust the cpu rate

run the sersync:

watch path is: /opt/tongbu1

 

在开启实时监控的之前对主服务器目录与远程目标机目录进行一次整体同步

./sersync2 -r

如果需要将sersync运行前,已经存在的所有文件或目录全部同步到远程,要以-r参数运行

sersync,将本地与远程整体同步一次。

如果设置了过滤器,即在xml文件中,filtertrue,则暂时不能使用-r参数进行整体同步。-r参数将 会无效


指定配置文件

./sersync2 -o XXXX.xml

对于sersync使用可执行文件目录下的默认配置文件confxml.xml,如果需要使用另一个配置文

,可以使用-o参数指定其它配置文件。


指定默认的线程池的线程总数

./sersync2 -n num

例如 ./sersync2 -n 5 则指定线程总数为5,如果不指定,默认启动线程池数量是10,如果cpu使用 过高,可以通过这个参数调低,如果机器配置较高,可以用-n调高线程总数。


不进行同步,只运行插件

./sersync2 -m pluginName

例如./sersync2 -m command,则在监控到文件事件后,不对远程目标服务器进行同步,而是直接

运行command插件。


多个参数可以配合使用

./sersync2 -n 8 -o abc.xml -r -d

表示,设置线程池工作线程为8,指定abc.xml作为配置文件,在实时监控前作一次整体同步,

以守护进程方式在后台运行。


通常情况下,对本地到远程整体同步一遍后,在后台运行实时同步。

./sersync2 -r -d

posted on 2015-03-31 16:03  ↗℡.Koen↘  阅读(196)  评论(0编辑  收藏  举报