您好,登錄后才能下訂單哦!
支持配置文件管理
真正的守護進程socket
可以對失敗文件定時重傳(定時任務功能)
第三方的HTTP接口(例如更新cdn緩存)
默認多線程同步
[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/下面
[root@nfs01 conf]# vim/usr/local/sersync/conf/confxml.xml
<?xml version="1.0"encoding="ISO-8859-1"?>
<head version="2.5">
<host hostip="localhost"port="8008"></host>
<debug start="false"/>
<fileSystem xfs="false"/>
###軟件的過濾功能,排除指定的文件,不進行同步
<filter start="false">
<excludeexpression="(.*)\.svn"></exclude>
<excludeexpression="(.*)\.gz"></exclude>
<excludeexpression="^info/*"></exclude>
<excludeexpression="^static/*"></exclude>
</filter>
###過濾功能結束
##sersync軟件監控指定事件信息:表示觸發監控管理的事件。
<inotify>
<deletestart="true"/>
<createFolderstart="true"/>
<createFilestart="false"/>
<closeWritestart="true"/>
<moveFromstart="true"/>
<moveTostart="true"/>
<attribstart="false"/>
<modifystart="false"/>
</inotify>
##sersync軟件監控指定事件信息結束
###sersync主要參數配置信息開始(可修改此部分)
<sersync>
<localpathwatch="/data"> ###指定監控的本地目錄信息為/data
<remote ip="172.16.1.41"name="nfsbackup"/> rsync服務器與模塊信息
<!--<remoteip="192.168.8.39" name="tongbu"/>-->
<!--<remoteip="192.168.8.40" name="tongbu"/>-->
</localpath>
###sersync主要參數配置信息部分
<rsync>
<commonParamsparams="-avz"/>
<auth start="true" users="rsync_backup"passwordfile="/etc/rsync.password"/>
<userDefinedPort start="false"port="874"/><!-- port=874 -->
<timeout start="true"time="100"/><!-- timeout=100 -->
<ssh start="false"/>
</rsync>
###sersync主要參數配置信息部分結束
<failLogpath="/application/logs/rsync_fail_log.sh"timeToExecute="60"/><!--default every 60mins execute once--> ##定義失敗的默認日志信息
<crontabstart="false" schedule="600"><!--600mins-->
<crontabfilterstart="false">
<excludeexpression="*.php"></exclude>
<excludeexpression="info/*"></exclude>
</crontabfilter>
</crontab>
<pluginstart="false" name="command"/>
</sersync>
<plugin name="command">
<paramprefix="/bin/sh" suffix=""ignoreError="true"/> <!--prefix/opt/tongbu/mmm.sh suffix-->
<filterstart="false">
<includeexpression="(.*)\.php"/>
<includeexpression="(.*)\.sh"/>
</filter>
</plugin>
<plugin name="socket">
<localpathwatch="/opt/tongbu">
<deshost ip="192.168.138.20"port="8009"/>
</localpath>
</plugin>
<plugin name="refreshCDN">
<localpathwatch="/data0/htdocs/cms.xoyo.com/site/">
<cdninfodomainname="ccms.chinacache.com" port="80"username="xxxx" passwd="xxxx"/>
<sendurlbase="http://pic.xoyo.com/cms"/>
<regexurl regex="false"match="cms.xoyo.com/site([/a-zA-Z0-9]*).xoyo.com/p_w_picpaths"/>
</localpath>
</plugin>
</head>
[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]#
[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]#
在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 不同步,只運行插件
inotify(sersync)+rsync,是文件級別的。
drbd文件系統級別,基于block塊同步,但是備節點數據不可用。
程序雙寫,直接寫雙臺服務器
利用業務邏輯解決(讀寫分離)
NFS集群(1 4 5 方案整合)(雙寫主存儲,備用存儲 inotify/sersync+rsync),沒有解決延遲問題。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。