Linux-非結構化數據同步-Linux下實現非結構化數據同步的介紹1

說明:

1、Rsync在Linux下安裝並啓動進程後,進程將會一直處於運行狀態,當有增量或變化數據時rsync將會自動同步變化的數據;

2、而Rsync在AIX下安裝並啓動進程後,進程執行完數據同步後將會自動停止,當有增量或變化數據需要同步時須人工啓動rsync來同步變化的數據;

3、Sersync類似一個守護進程,實時監控同步目錄下的數據狀態,一旦發現有新增或更新的變化數據,即刻開始同步數據。

4、Sersync只傳文件本身,和用戶的屬性無關。

(如,源端oracle用戶目錄下的文件同步至目標端時,當目標端沒有oracle用戶時,目標文件將以UUID的形式顯示)

(如,源端root用戶目錄下的文件同步至目標端oracle用戶下的一個目錄時,目標文件屬主將以root的形式顯示)

5、當一臺服務器上需要同步N個目錄下的文件時,則在源端須針對N個目錄建立N個sersync進程來實現這些目錄數據的同步,同時每一個sersync進程對應一個守護進程,負來責監控目錄數據的變化情況。

6、Rsync軟件是通過後臺crond執行計劃任務,來實現自動同步數據。

7、Lsyncd (Live Syncing (Mirror) Daemon)軟件工作原理:監視本地(rsync client)的目錄,當源數據文件或目錄有更新時,則將本地更新傳至目標端機器(rsync server),以此保持實時文件同步,但是它更新數據時需要目標端rsync server運行rsync demon。


一、非結構化數據的同步方法

1、Rsync+Inotify-tools

(1)Inotify-tools只是記錄被監聽目錄中發生變化(如新增、修改、刪除),而沒有記錄具體是哪個文件或目錄發生的變化;

(2)Rsync在同步時,因只知道變化但並不清楚具體是哪個文件或目錄發生了變化,因此每次都需要對整個同步目錄進行同步,

(3)當數據量很大時,rsync在同步整個目錄時耗時非常大(rsync要對整個目錄遍歷查找對比文件),因此效率很低 。

2、Rsync+Sersync

(1)雖然sersync是基於Inotify開發的,類似於Inotify-tools工具。但是sersync可以記錄被監聽目錄中發生變化(如新增、修改、刪除)的具體某一個文件或某一個目錄的名字;

(2)rsync在同步時,只同步發生變化的文件或目錄。這樣,每次發生變化的數據相對整個同步目錄的數據來說,數據量比較小,因此rsync在遍歷查找比對文件時,速度很快,效率很高。

3、Lysncd

Lysncd實際上是lua語言封裝了inotify和rsync工具,採用Linux內核(2.6.13及以後)裏的inotify觸發機制,然後通過rsync去差異同步,最終實現數據同步。

Lysncd優點:通過時間延遲或累計觸發事件次數,解決了inotify+rsync海量文件同步帶來的文件頻繁發送文件列表的問題。


二、同步方式選擇

當同步的目錄數據量不大時,建議使用:Rsync+Inotify-tools

當同步的目錄數據量很大(幾百G設置T級)或文件很多時,建議使用:Rsync+Sersync


三、其他非結構化數據同步方式

Rsync+Inotify

Rsync+Sersync

Lsyncd(還可實現雙向同步)

lsyncd+rsync

其它同步工具:csync2,clsync,btsync,drdb


四、安裝配置

Linux-非結構化數據同步-Linux下Rsync+Rsync實現非結構化增量差異數據的同步http://blog.csdn.net/xingyyit/article/details/50847632

Linux-非結構化數據同步-Linux下Sersync+Rsync實現非結構化增量差異數據的實時同步http://blog.csdn.net/xingyyit/article/details/50847691

Linux-非結構化數據同步-Linux下Lsyncd實現非結構化增量差異數據的同步http://blog.csdn.net/xingyyit/article/details/50847865

 Linux-非結構化數據同步-Linux下Lsyncd+Rsync實現非結構化增量差異數據的同步

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