使用旋轉脫機磁碟機進行 ZFS 備份

使用旋轉脫機磁碟機進行 ZFS 備份

我目前正在設定一個像樣的家庭 NAS。主要關注的是資料的完整性,因此我決定使用 ZFS 作為檔案系統。不幸的是,這確實對硬體提出了一些要求(或更準確地說是建議),使其成為相當昂貴的解決方案。這使得我無法在類似的系統上實施異地備份,因此我正在尋找替代解決方案。

理想情況下,我將擁有三個可移動硬碟驅動器,其中一個位於伺服器附近並每週左右連接一次。其他人將留在場外,並且不時進行輪換。我知道這會給新數據帶來風險,但我計劃以其他方式支持這一點。

問題是我應該在可移動驅動器上放置什麼。最初我想在zpool每個上放一個並使用zpool sendzpool recv更新它們,例如這裡。不過,我確實認為,一旦我需要放回備份,驅動器很可能會“損壞”,我希望 ZFS 能夠解決這個問題。理想情況下,所有三個可移動驅動器最多在兩次驅動器交換前都處於鏡像配置中,這將允許 ZFS 在恢復備份時使用所有這些驅動器來修復舊資料中的問題。然而,驅動器永遠不會同時連接,因此這可能是不可能的。 ZFS 是否提供了一種實現我所追求的方法,或者我應該使用不同的方法?

答案1

不幸的是,這確實對硬體提出了一些要求(或更準確地說是建議),使其成為相當昂貴的解決方案。這使得我無法在類似的系統上實施異地備份,因此我正在尋找替代解決方案。

我不知道您確切的硬體和性能需求,但請注意,如果您知道自己在尋找什麼並且可以接受一些輕微的缺點,那麼體面的系統可能會相當便宜。具體來說:

  • 您在網路上找到的所需 RAM 量被大大誇大了,因為與數十個磁碟相比,RAM 很便宜,而且 RAM 對於效能至關重要(因為它用於 ARC 和重複資料刪除)。如果您只需要使1 Gbps 乙太網路連結(約110 MB/s)飽和且主要是串流工作負載(意味著不斷存取磁碟而不是RAM),則4 到8 GB 記憶體就足夠了(甚至2 GB也可能仍然有效) 。
  • 具有 7200 rpm、SAS 連接器、低錯誤數和 200 MB/s 吞吐量的企業磁碟很好,但不是真正需要的。兩個低速 5200 rpm 消費性硬碟可以毫無問題地使您的乙太網路飽和。隨機讀取會更慢,但是您也不會有數百個客戶端想要每秒存取不同的檔案。
  • 具有 8 個 SAS 連接埠的 LSI HBA 是可靠的選擇,但價格昂貴。伺服器主機板上的硬體 SATA 連接埠大多來自 Intel,也相當可靠。它們消耗的電力也更少。同樣,速度在這裡並不重要,因為您沒有 SSD 或使用多路徑或擴展器。
  • CPU功率幾乎沒有意義,目前所有伺服器CPU都有足夠的功率。一些 30 歐元範圍內的雙核賽揚還支援 ECC 內存,除此之外,您還可以使用低功耗 Atom SoC 或 AMD 的低功耗雙核或四核。這些主機板通常還配備 6 個 SATA 連接埠和一個 PCIe 以供以後擴展,並支援 16 至 64 GB 內存,價格約為 300 歐元,包括 CPU、內存和電源。
  • 除此之外,戴爾或惠普等大公司還提供一些 SoHo 伺服器產品,您只需 300 歐元即可獲得完整的伺服器(規模經濟),包括機箱、磁碟和保固。擴展選項有限,但 4 到 6 個磁碟仍然足夠。
  • 最後,如果您住在電力便宜的地方,您可能會考慮使用過的企業硬體。這些系統速度快、耐用且便宜,但噪音大且耗電。您必須計算這種權衡是否值得。

不過,我確實認為,一旦我需要放回備份,驅動器很可能會“損壞”,我希望 ZFS 能夠解決這個問題。理想情況下,所有三個可移動驅動器最多在兩次驅動器交換前都處於鏡像配置中,這將允許 ZFS 在恢復備份時使用所有這些驅動器來修復舊資料中的問題。

在我看來,至少具有雙向鏡像和三個異地磁碟的即時系統不太可能同時死亡。如果其中一個備份仍然可用,那麼您只會丟失一周的數據,這種情況要輕得多(並且可以通過僅對新修改的文​​件進行差異在線備份來緩解)。

但假設它會發生,讓我們比較所有可能的備份配置(每次假設您的即時系統有 2 個磁碟作為鏡像,並且所有 5 個磁碟大小相同):

3個獨立磁碟,send/recv用於將資料同步到3個池

  • 這些磁碟無法修正位元錯誤,但可以偵測到這些錯誤,並且您可以從其他磁碟還原文件
  • 由於它們是獨立的,因此您可以將它們保存在三個位置並擁有 3 個不同的備份(關於用戶錯誤、軟體錯誤)
  • 處理很簡單,因為每個磁碟/池都以相同的方式處理

3個磁碟作為鏡像,send/recv用於將資料同步到1個池

  • 本質上是一個完整的離線系統,具有非常好的彈性
  • 另一方面,你把所有的雞蛋都放在一個籃子裡(偷竊/火災)

3 個磁碟作為降級鏡像,如連結問題中所述

  • 請參閱連結的答案以了解優點和缺點
  • 你也只有一個版本

因此,總而言之:這取決於什麼對您的需求更重要 - 多個獨立的時間點,還是一個對故障更有彈性的時間點。

如果您選擇第二種解決方案,請確保也啟用定期資料快照以防止加密惡意軟體之類的東西(透過使用多個磁碟可以在一定程度上緩解這種情況)。另外,請確保仍然分發這三個磁碟並將它們存放在不同的地方,以防止火災/盜竊/遺失。

相關內容