rsync + inotify 實現多臺服務器數據同步

環境分析:
目前環境4臺web服務器採用共享存儲技術,由於nas服務最近頻繁掉線,影響網站訪問,故計劃採用對象存儲方案。我們雲環境補救措施可以用多臺Linux服務器做存儲,配合rsync(同步)+notify(觸發)實現服務器數據同步。

方案實施:

rsync + inotify 實現多臺服務器數據同步

1、方案分析:
每臺web服務器上分別掛載一個存儲盤/newweb,將原先網站訪問資源指向/otherweb的路徑修改至這個/newweb,由於磁盤容量沒有nas大,可以將web用到的數據源,如圖片、網頁等放在這個路徑下,郵箱、日誌等繼續放在nas下,即便nas掉線,也不影響網站正常訪問。
2、同步步驟:
Master 作爲主控制點,每次更新資源在master上,master會實時檢查文件是否有更新,如果更新,則會同步數據到web1-web4上面,如果沒有更新,則不會同步,這樣可以減少服務器不必要的負載,同時master也可作爲備份服務器。
3、技術分析:
Inotify,它是一個內核用於通知用戶空間程序文件系統變化的機制,也是一種文件系統的變化通知機制,如文件增加、刪除等事件可以立刻讓用戶態得知。
 rsync其實就是remote  rsync,它是一個遠程同步工具,兼具cp和scp的功能,rsync命令的使用幾乎和scp是一樣一樣的。rsync是通過超級守護進程xinetd進行觸發同步的。
rsync+inotify組合是觸發式更新,只要有數據變化,就立刻同步更新
編寫rsync腳本,實現數據實時同步,可將腳本後臺執行。

下面開始操作步驟:
1)rsync客戶端master服務上安裝rsync,inotify :
yum -y install rsync
rsync + inotify 實現多臺服務器數據同步
2 rsync服務器端,也就是web所在服務器,如web1,僅安裝rsync即可
yum -y install rsync
編輯rsync配置文件vim /erc/rsyncd.conf:
rsync + inotify 實現多臺服務器數據同步
3,啓動rsync服務:
systemctr start rsyncd

4,在rsync客戶端上編寫rsync腳本,賦予可執行權限:
rsync + inotify 實現多臺服務器數據同步
然後執行 ./rsync.sh &
在客戶端寫入一個測試文件,然後在其他服務器上查看是否同步。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章