Linux sersync day35

什么是實時同步
為什么要實時同步
實時同步的原理
實時同步的場景
實時同步工具選擇
實時同步案例演示


一巷送、什么是實時同步

實時同步就是監(jiān)控一個目錄的變化蛇券,當該目錄出發(fā)事件(創(chuàng)建/刪除/修改)就執(zhí)行動作,這個動作可以是rsync同步衡创,也可以是其他涩咖。并將其同步至遠程服務端苞也。

二、為什們要實時同步

  • ① 能解決nfs單點故障問題
  • ② 能狗讓本地快速切換至云端

三棒厘、實時同步原理

借助一個通知接口纵穿,inotify,inotify監(jiān)控本地主機的時間(創(chuàng)建/刪除/修改)奢人,則通知執(zhí)行動作谓媒,這個動作可以是rsync同步

實時同步實現(xiàn)及工作原理
① 實時監(jiān)控同步數(shù)據(jù)目錄信息變化;
② 監(jiān)控目錄發(fā)生變化進行數(shù)據(jù)推送何乎。
實時同步監(jiān)控服務器部署過程句惯,(inotify服務);實時同步備份服務器部署過程(rsync服務)
① 創(chuàng)建要存儲數(shù)據(jù)的目錄
② 利用實時同步的軟件監(jiān)控我們進行備份的數(shù)據(jù)目錄
③ 利用rsync服務進行數(shù)據(jù)推送傳輸備份(一般是監(jiān)控存儲服務器上的目錄支救,想rsync備份服務器進行同步)

四抢野、實時同步的場景

  • 能解決nfs單點故障問題


    解決nfs單點故障
  • 能夠讓本地快速切換至云端

五、實時同步工具選擇

  • 1)inotify+rsync實現(xiàn) 寫腳本來實現(xiàn)監(jiān)控 放在后臺screen
    ① 腳本
    ② 同步
  • 2)sersync實時同步
  • 3)lsyncd
    https://github.com/wsgzao/sersync

六各墨、實時同步案例演示

  • 1)規(guī)劃
    ① web httpd/php
    ② nfs nfs-server inotify rsync sersync
    ③ backup rsync-server nfs-server
  • 2)實現(xiàn)web上傳視頻指孤,自動存儲至NFS
    NFS服務端 10.0.0.31 172.16.1.31
    ① 安裝nfs
[root@nfs~]# yum install nfs-utils -y

② 配置

[root@nfs~]# cat /etc/exports
/data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)

③ 根據(jù)配置創(chuàng)建初始環(huán)境

[root@nfs~]# groupadd -g 666 www
[root@nfs~]# useradd -u666 -g666 www
[root@nfs~]# mkdir /data
[root@nfs~]# chown -R www.www /data/

④ 重新啟動nfs服務

[root@nfs~]# systemctl start nfs-server(初次啟動時使用start,重新啟動時使用restart)
[root@nfs~]# systemctl enable nfs-server

WEB服務端操作 10.0.0.7 172.1.16.7
① 安裝httpd/php

[root@web~]# yum install httpd php -y

② 配置httpd和php
③ 啟動httpd

[root@web~]# systemctl start httpd

④ 模擬測試


測試

⑤ web進行掛載贬堵,上傳代碼

[root@web~]# showmount -e 172.16.1.31 ------->查看需要掛載的列表
[root@web~]# mount -t nfs 172.16.1.31:/data /var/www/html/
[root@web~]# cd /var/www/html/
[root@web/var/www/html]# rz kaoshi.zip 
[root@web/var/www/html]# unzip kaoshi.zip   

查看

PS:如出現(xiàn)錯誤要查看日志
[root@web/var/www/html]# tail -f /var/log/httpd/error_log
當NFS的目錄發(fā)生變化恃轩,則觸發(fā)同步(實時同步)

① 怎么監(jiān)控/data inotify
② 同步給誰rsync ----->backup服務器 [backup模塊] [data模塊]
rsync備份端操作 10.0.0.41 172.16.1.41
① 安裝rsync服務

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

② 配置rsync

[root@backup~]# cat /etc/rsyncd.conf 
uid = rsync
gid = rsync
port = 873
fake super = yes
use chroot = no
max connections = 200
timeout = 600
ignore errors
read only = false
list = false
auth users = rsync_backup
secrets file = /etc/rsync.passwd
log file = /var/log/rsyncd.log
#####################################
[backup]
comment = welcome to oldboyedu backup!
path = /backup
[data]
path = /data

③ 根據(jù)rsync配置初始化環(huán)境

[root@backup~]# groupadd rsync
[root@backup~]# useradd -M -s /sbin/nologin -g rsync rsync
[root@backup~]# echo "rsync_backup:123456" > /etc/rsync.passwd
[root@backup~]# chmod 600 /etc/rsync.passwd 
[root@backup~]# mkdir /backup /data -p
[root@backup~]# chown -R rsync.rsync /backup/ /data/

④ 啟動rsyncd

[root@backup~]# systemctl start rsyncd
[root@backup~]# systemctl enable rsyncd

nfs服務配置 10.0.0.31 172.16.1.31
① 安裝rsync inotify

[root@nfs~]# yum install rsync inotify-tools -y

② 安裝sersync

[root@nfs ~]# wget https://github.com/wsgzao/sersync/raw/master/sersync2.5.4_64bit_binary_stable_final.tar.gz
[root@nfs~]# tar xf sersync2.5.4_64bit_binary_stable_final.tar.gz -C /usr/local/
[root@nfs~]# mv /usr/local/GNU-Linux-x86/ /usr/local/sersync
[root@nfs~]# file /usr/local/sersync/confxml.xml
[root@nfs~]# echo "123456" > /etc/rsync.pass
[root@nfs~]# chmod 600 /etc/rsync.pass 

③ 啟動sersync

[root@nfs/usr/local/sersync]# /usr/local/sersync/sersync2 -dro /usr/local/sersync/confxml.xmld

⑤ 檢查


檢查
[root@nfs01 sersync]# vim confxml.xml
  5     <fileSystem xfs="true"/>  <!-- 文件系統(tǒng) -->
  6     <filter start="false">  <!-- 排除不想同步的文件-->
  7         <exclude expression="(.*)\.svn"></exclude>
  8         <exclude expression="(.*)\.gz"></exclude>
  9         <exclude expression="^info/*"></exclude>
 10         <exclude expression="^static/*"></exclude>
 11     </filter>
 
 12     <inotify> <!-- 監(jiān)控的事件類型 -->
 13         <delete start="true"/>
 14         <createFolder start="true"/>
 15         <createFile start="true"/>
 16         <closeWrite start="true"/>
 17         <moveFrom start="true"/>
 18         <moveTo start="true"/>
 19         <attrib start="false"/>
 20         <modify start="false"/>
 21     </inotify> 
 23     <sersync>
 24         <localpath watch="/data"> <!-- 監(jiān)控的目錄 -->
 25             <remote ip="172.16.1.41" name="data"/>  <!-- backup的IP以及模塊 -->
 28         </localpath>
 
 29         <rsync> <!-- rsync的選項 -->
 30             <commonParams params="-az"/>
 31             <auth start="true" users="rsync_backup" passwordfile="/etc/rsync.pass"/>
 32             <userDefinedPort start="false" port="874"/><!-- port=874 -->
 33             <timeout start="true" time="100"/><!-- timeout=100 -->
 34             <ssh start="false"/>
 35         </rsync>
            <!-- 每60分鐘執(zhí)行一次同步-->
  36         <failLog path="/tmp/rsync_fail_log.sh" timeToExecute="60"/><!--def
    ault every 60mins execute once-->

模擬NFS故障, web可以快速的切換到backup的NFS服務上?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市黎做,隨后出現(xiàn)的幾起案子叉跛,更是在濱河造成了極大的恐慌,老刑警劉巖蒸殿,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件昧互,死亡現(xiàn)場離奇詭異挽铁,居然都是意外死亡,警方通過查閱死者的電腦和手機敞掘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來楣铁,“玉大人玖雁,你說我怎么就攤上這事「峭螅” “怎么了赫冬?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長溃列。 經(jīng)常有香客問我劲厌,道長,這世上最難降的妖魔是什么听隐? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任补鼻,我火速辦了婚禮,結(jié)果婚禮上雅任,老公的妹妹穿的比我還像新娘风范。我一直安慰自己,他們只是感情好沪么,可當我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布硼婿。 她就那樣靜靜地躺著,像睡著了一般禽车。 火紅的嫁衣襯著肌膚如雪寇漫。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天殉摔,我揣著相機與錄音州胳,去河邊找鬼。 笑死钦勘,一個胖子當著我的面吹牛陋葡,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播彻采,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼腐缤,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了肛响?” 一聲冷哼從身側(cè)響起岭粤,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎特笋,沒想到半個月后剃浇,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體巾兆,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年虎囚,在試婚紗的時候發(fā)現(xiàn)自己被綠了角塑。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡淘讥,死狀恐怖圃伶,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蒲列,我是刑警寧澤窒朋,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站蝗岖,受9級特大地震影響侥猩,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜抵赢,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一欺劳、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧瓣俯,春花似錦杰标、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至驼仪,卻和暖如春掸犬,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背绪爸。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工湾碎, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人奠货。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓介褥,卻偏偏與公主長得像,于是被迫代替她去往敵國和親递惋。 傳聞我的和親對象是個殘疾皇子柔滔,可洞房花燭夜當晚...
    茶點故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 1.什么是實時同步 監(jiān)控一個目錄的變化, 當該目錄觸發(fā)事件(創(chuàng)建\刪除\修改) 就執(zhí)行動作, 這個動作可以是 rs...
    矮寨坡的M3閱讀 580評論 0 0
  • 36.day04--sersync實時同步企業(yè)案例實戰(zhàn) 1.環(huán)境如下 角色 外網(wǎng)IP(NAT) 內(nèi)網(wǎng)IP(LAN)...
    優(yōu)秀磚閱讀 365評論 0 0
  • 一、NFS服務耦合度 nfs耦合度: 是指nfs客戶端和服務端關(guān)系過于緊密萍虽,當nfs服務沒有正常啟動的情況下睛廊,會使...
    荊俊瑋閱讀 324評論 0 0
  • 1.什么是實時同步監(jiān)控一個目錄的變化,當該目錄觸發(fā)事件(創(chuàng)建杉编、刪除超全、修改)就執(zhí)行動作咆霜,這個動作可以是rsync同步...
    江枍_a99e閱讀 63評論 0 0
  • inotify 定義 Inotify是一種強大的、細粒度的嘶朱、異步的文件系統(tǒng)時間監(jiān)控機制蛾坯,通過Inotify可以監(jiān)控...
    高博666閱讀 510評論 0 0