Networking

如何為真正的點對點配置 Unison?

  • April 19, 2014

我有一些設備,並且正在考慮使它們與Unison保持同步。

這些設備並非一直在執行,它們每天會關閉幾個小時,不一定同時關閉。這些設備都沒有一天 24 小時執行。所以我需要真正的點對點,例如查看更改(標記為*)如何從 A 傳播到 B、C、D,即使在所有同步期間都沒有執行:

A-on*   B-on    C-off   D-off
A-on*   B-on*   C-off   D-off
A-off*  B-on*   C-off   D-off
A-off*  B-on*   C-on    D-off
A-off*  B-on*   C-on*   D-off
A-off*  B-off*  C-on*   D-off
A-off*  B-off*  C-on*   D-on
A-off*  B-off*  C-on*   D-on*

不幸的是,Unison使用者手冊建議2 台以上機器採用星型拓撲:

使用 Unison 同步多於兩台機器

Unison 設計用於同步副本對。但是,可以通過執行多個成對同步來使用它來保持更大的機器組同步。

如果您需要這樣做,最可靠的設置方法是將機器組織成“星型拓撲”,其中一台機器指定為“集線器”,其餘機器指定為“輻條”,並且每台輻條機器同步只有集線器。星型拓撲的最大優勢在於它消除了混淆“虛假衝突”的可能性,這是由於 Unison 為它同步的每對主機維護一個單獨的存檔而引起的。

儘管如此,有什麼方法可以實現與 Unison 真正的點對點?

我一直在星型拓撲中使用 Unison 來同步我的四台機器。這樣做的原因是它不是一個版本控製文件系統(例如 git),而是一個同步工具。

如果您確實選擇了分佈式拓撲(您必須通過為每個設備創建配置文件並同步所有設備來設置),那麼您無疑最終會進行大量的手動衝突解決,這將是嚴峻的。除非您僅對系統上的文件進行極其基本的更改,並且一次僅在一台設備上進行更改,否則肯定會出現這種情況。

所以,建議:

  1. 租一個便宜的虛擬伺服器,它有足夠的儲存空間來儲存你想要同步的數據。
  2. 嘗試分佈式拓撲,看看它是否會導致太多問題而無法使用。

引用自:https://unix.stackexchange.com/questions/125339