Linux inotify實時備份實現方法詳解
實時復制是企業數據備份最重要的方式,主要用于用戶提交的數據的備份,對于用戶提交到服務器上的普通文件(圖片、壓縮包、視頻、文檔等),可采用 inotify/sersync+rsync實時備份方式;對于數據文件還有較復雜的分布式存儲工具自身可以實現將數據同時備份成多份,例如: FastDFS、 GlusterFS等;對于提交到數據庫中的數據,可使用數據庫的主從復制(例如: MySQL、 Oracle)方式備份,這是軟件自帶的實時復制備份方式。有的企業會采用更多思路實現數據同時變為多份,例如:程序業務邏輯在數據提交時,同時提交到兩個服務器。
模擬實時復制的部署準備
實時復制軟件介紹
常用軟件:inotify-tools、sersync(推薦)
實時復制inotify機制介紹
linux內核從2.6.13起加入了Inotify支持,它是一種異步的系統事件監控機制,通過inotify可以監控文件系統中添加、刪除、修改、移動等各種事件,利用這個內核接口,第三方軟件(如inotify-tools、sersync)可以監控文件系統下各文件的變化情況,進而做出實時響應。
注:sersync軟件是在inotify基礎上進行開發的,功能更加強大,支持配置文件配置,定時重試復制,過濾機制,提供接口做CDN數據更新,支持多線程操作。
優缺點
inotify優點:監控文件系統事件變化,通過復制工具實現實時數據復制。支持多線程實時復制。
inotify缺點:實測并發如果大于200個文件(10-100k),復制會有延遲。
解決思路:前臺爭取時間,如我們注冊賬號或上傳數據點擊提交后,頁面顯示幾秒后返回原頁面。
inotify+rsync項目實踐
1.確保rsync服務可用,可在nfs01服務器上推拉數據到backup服務器上。
2.檢查系統支持情況
①內核版本必須大于2.6.13 ②必須有以下三個文件
3.測試inotify-tools軟件
[root@nfs01 ~]# yum install inotify-tools -y
開兩個窗口測試:
編寫腳本:
注:打開另一nfs01窗口,創建、修改、刪除文件,并在backup服務器中查看是否實時同步。
4.測試sersync軟件
上傳軟件包
解壓
tar -xf sersync2.5.4_64bit_binary_stable_final.tar.gz -C /application/sersync/
sersync的配置文件是一個xml文件,先備份一下 cp confxml.xml{,.ori}
修改配置文件(輸入 :set nu 可顯示行號):
執行
因為sersync不是yum安裝的,無法使用systemctl命令開啟、關閉、自啟
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章: