多工作站 DRBD 設置
我正在考慮建立一種方法來自動化辦公室中多個工作站的數據冗餘和同步。我們辦公室的設置方式,沒有人有固定的辦公桌,任何人都可以登錄並在網路上的任何工作站上工作。
一種方法是使用 NFS 掛載的*/home*文件系統。但是,這會減慢文件訪問速度,因為所有內容都需要從網路中拉出,而且會產生單點故障。
這是一般的想法。
[WS-A]--- (DRBD) ---[BACKUP]--- (DRBD) ---[WS-B/C/D/etc]
這個想法是讓某人在 WS-A 上工作,並且保存的任何文件都會自動與另一台機器同步(備份)。因此,數據現在可以在不止一台機器上使用。
理想情況下,數據應該在網路上的所有工作站 WS-B、WS-C 等中同步和傳播。這種傳播和同步不需要是瞬時的,並且可以是非同步的,只要同一使用者可以在另一個時間登錄任何工作站(但一次只能登錄一台機器)並找到他們最新的文件。
此外,如果任何工作站崩潰,設置將在機器重新連接到網路後自動恢復並重新同步,從而防止出現裂腦問題。
- 這甚至可以通過 DRBD 實現嗎?和
- 是否有任何我們可能需要擔心的噩夢同步問題?
PS:我們目前有一個使用 glusterfs 的類似設置,到目前為止它似乎工作,除了在訪問大型 git 儲存庫時性能下降。
將工作站放入 DRBD 集群對我來說聽起來是個糟糕的主意。我懷疑這將永遠可靠,因為現在使用者不能再重新啟動他們的工作站了。
相反,請確保您的 NFS 伺服器不再是單點故障,並在此時設置 HA 系統。由於這並不容易,我只是連結到this 的教程。
您嘗試設置的內容讓我想起了 Windows 漫遊配置文件的工作方式。
- 從伺服器獲取配置文件到本地磁碟
- 從本地磁碟註銷同步配置文件回到伺服器
基本上,您可以在登錄和註銷中央伺服器(當然應該是 HA)期間使用 rsync 實現相同的目的。
恕我直言 DRBD 配置對於您的目的來說有點過於靜態。
使用 DRBD,如果您有一個具有多個登錄的使用者,您將遇到麻煩。如果您使用
rsync -e ssh -auHS --delete
最後一次更新將獲勝,並且註銷前的最新刪除將傳播。順便說一句:通過 ssh 進行同步也會使這一切變得安全。