sersync实时同步
1.1.1 sersync的特点
支持配置文件管理
创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:做网站、成都做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的鹤岗网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
真正的守护进程socket
可以对失败文件定时重传(定时任务功能)
第三方的HTTP接口(例如更新cdn缓存)
默认多线程同步
sersync配置文件
安装sersync(一)
[root@nfs01 local]# rz -E ##window安装包上传至Linux
rz waiting to receive.
[root@nfs01 local]# ls
28-sersync.tar.gz bin etc games include lib lib64 libexec sbin share src
[root@nfs01 local]# tar xf 28-sersync.tar.gz
[root@nfs01 local]# ls
28-sersync.tar.gz etc include lib64 sbin share
bin games lib libexec sersync src
注:软件包可以从网上下载,然后上传到Linux中,解压到/usr/local/下面
1.1.2.2修改sersync配置文件(二)
[root@nfs01 conf]# vim/usr/local/sersync/conf/confxml.xml
###软件的过滤功能,排除指定的文件,不进行同步
###过滤功能结束
##sersync软件监控指定事件信息:表示触发监控管理的事件。
##sersync软件监控指定事件信息结束
###sersync主要参数配置信息开始(可修改此部分)
###sersync主要参数配置信息部分
###sersync主要参数配置信息部分结束
[root@nfs01 conf]#
sersync的帮助信息:
[root@nfs01 bin]#/usr/local/sersync/bin/sersync -help
set the system param
execute:echo 50000000 >/proc/sys/fs/inotify/max_user_watches
execute:echo 327679 >/proc/sys/fs/inotify/max_queued_events
parse the command param
_______________________________________________________
参数-d:启用守护进程模式
参数-r:在监控前,将监控目录与远程主机用rsync命令推送一遍
c参数-n: 指定开启守护线程的数量,默认为10个
参数-o:指定配置文件,默认使用confxml.xml文件
参数-m:单独启用其他模块,使用 -m refreshCDN 开启刷新CDN模块
参数-m:单独启用其他模块,使用 -m socket 开启socket模块
参数-m:单独启用其他模块,使用 -mhttp 开启http模块
不加-m参数,则默认执行同步程序
________________________________________________________________
[root@nfs01 bin]#
1.1.2.3配置sersync的命令(三)
[root@nfs01 bin]# which sersync ###配置完配置文件,但是系统并没有sersync这个命令
/usr/bin/which: no sersync in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
1,###追加环境变量
[root@nfs01 bin]# echo"export PATH=$PATH:/usr/local/sersync/bin" >>/etc/profile
[root@nfs01 bin]# tail -n 2/etc/profile
unset -f pathmunge
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/sersync/bin
[root@nfs01 bin]# which sersync
/usr/bin/which: no sersync in(/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
2,###生效环境变量配置文件
[root@nfs01 bin]#source /etc/profile
[root@nfs01 bin]# which sersync
/usr/local/sersync/bin/sersync
[root@nfs01 bin]#
1.1.2.4启动sersync命令(四)
在NFS客户端上配置sersync,启动命令。
[root@nfs01 data]#sersync -dro /usr/local/sersync/conf/confxml.xml
set the system param
execute:echo 50000000 >/proc/sys/fs/inotify/max_user_watches
execute:echo 327679 >/proc/sys/fs/inotify/max_queued_events
parse the command param
option: -d run as a daemon
option: -r rsync all the local files to the remote servers before the sersyncwork
option: -o config xml name: /usr/local/sersync/conf/confxml.xml
daemon thread num: 10
parse xml config file
host ip : localhost host port: 8008
daemon start,sersync run behind the console
use rsync password-file :
user is rsync_backup
passwordfile is /etc/rsync.password
config xml parse success
please set /etc/rsyncd.conf maxconnections=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 cpurate
chmod: cannot access`/application/logs/rsync_fail_log.sh': No such file or directory
------------------------------------------
rsync the directory recursivly to theremote servers once
working please wait...
execute command: cd /data &&rsync -avz -R --delete ./ --timeout=100rsync_backup@172.16.1.41::nfsbackup --password-file=/etc/rsync.password>/dev/null 2>&1
run the sersync:
watch path is: /data
[root@nfs01 data]#
在服务器上查看/backup文件中变化
[root@backup nfsbackup]# rm -fr *
[root@backup nfsbackup]# ls
[root@backup nfsbackup]# ls
3 4 hehe maomao oldboy
[root@backup nfsbackup]#
sersync的参数
-r 开启第一次进行一次完全的同步,保持一致
-o指定confxml.xml 的文件
-n 指定默认线程池的线程总数,如果不指定默认启动线程池的数量是10,CPU使用过高,可以通过这个参数进行调整
-d参数为后台启动
-m 不同步,只运行插件
1.2 高并发数据实时同步方案小结:
inotify(sersync)+rsync,是文件级别的。
drbd文件系统级别,基于block块同步,但是备节点数据不可用。
第三方软件的同步功能:MySQL,oracle,MongoDB
程序双写,直接写双台服务器
利用业务逻辑解决(读写分离)
NFS集群(1 4 5 方案整合)(双写主存储,备用存储 inotify/sersync+rsync),没有解决延迟问题。
分享标题:sersync实时同步
网页路径:http://hbruida.cn/article/gdcesi.html