Storage

rsync 兩個大型儲存伺服器

  • September 1, 2016

我們有兩台大型儲存伺服器(+100TB),一台執行在 ZFS 上,另一台執行 XFS,我們打算使用 XFS 作為我們的工作伺服器並使用 ZFS 作為備份伺服器(快照 <3)。現在的問題是讓這些野獸保持同步……(同步為每日同步)

最簡單的選擇是使用 rsync,但遺憾的是目錄結構很深,而且到處都是硬連結。所以這意味著我們需要進行一次“全域”掃描,這需要很長時間……最重要的是,大部分數據都是創建的,從未修改過。所以 rsync 可能不是要走的路。

我研究了inotify,它看起來相對便宜,而且因為我們只希望每天同步,所以可以解除安裝到一個美好的時光……遺憾的是,如果我們只查看創建的文件,我們會將硬連結複製為數據將使我們備份中使用的儲存量翻倍……(基本上沒有辦法從 rsync 進行 -H 檢查)

我能想到的唯一選擇是重新組織我們的儲存以使用基於日期的目錄,遺憾的是,移動這麼多數據並不是我們更喜歡的……

還有其他選擇嗎?

以供參考 :

  • 帶有 XFS 的伺服器有一個 RAID 控制器(無 JBOD 選項)和 SATA 磁碟 (WD RE)。32Gb 記憶體
  • 具有 ZFS 的伺服器具有 HBA 控制器和 SAS 磁碟。126Gb 記憶體

當我將 ZFS 稱為緩慢時,我看到 ’ls’ 需要幾秒鐘……

“足夠快”有多快?

你每天這樣做一次,所以我懷疑如果需要 2-3 個小時,那就足夠了。

在這種情況下,“rsync -avP”應該是你所需要的。最新版本可以處理大目錄、深層次結構,並且不需要像舊版本那樣多的 RAM。

如果沒有文件更改,“rsync -a”將與“ls -lR”一樣快。您無法獲得比“ls -lR”更快的速度,因為它對系統上的每個文件執行 lstat()。

基準測試“ls -lR”和“rsync -a”。如果它們比您想像的要慢,請查看https://serverfault.com/a/746868/6472以獲取建議。

如果您需要比“ls -lR”基準測試更快的東西,您將不得不編寫使用“inotify”的東西,或者使用某種基於塊的系統。特別是,在兩個系統上使用 ZFS 將使您能夠使用 ZFS 內置的快照導出/導入系統。

引用自:https://serverfault.com/questions/800263