Linux

搭建網路儲存伺服器,不同RAID配置的取捨?

  • June 7, 2017

我想在家里安裝一台 Linux 伺服器,以便能夠在這裡的每台設備之間共享文件和多媒體文件。

我擁有的機器有 3 個 HDD 插槽,我需要至少 3.5 TB 的儲存空間,並且我希望我的文件在磁碟故障的情況下是安全的。

我目前正在研究兩個價格大致相同的選項:

  • 選項 1:RAID 5 中的 3*2TB
  • 選項 2:RAID 1 中的 2*4TB,它節省了我可以用於作業系統的 HDD 插槽。

我的第一個問題是: 這兩種選擇是否都有技術優勢——在它們之間進行選擇時我應該考慮什麼?

我的第二個問題是:對於Option 1,我應該在哪里安裝系統?我應該創建一個在所有磁碟上複製的 50GB RAID 卷來保存系統,還是應該將它定位在一個沒有複製的特定驅動器上?那麼交換呢?

權衡是:

  • 選項 2 (2xRAID1) 更可靠,假設磁碟具有相同的可靠性。基本上,我們假設單個磁碟有 N%/yr(或任何時間段)發生故障。如果您有兩個磁碟,其中任何一個發生故障的機會都會更大。如果你有三個磁碟,其中任何一個的機會都更大。因此 3 磁碟 RAID5 更容易出現故障(單個磁碟)。任何一個陣列都可以在單磁碟故障中倖存下來。在一次故障之後,RAID5 仍然有更多的磁碟,因此它更有可能遭受第二次故障。雖然這也取決於重建時間,這對於 2TB 磁碟可能會更好一些,儘管它也取決於磁碟的速度。然而,由於沒有熱備件,我預計重建時間實際上是由管理員安裝替換磁碟所花費的時間決定的。
  • 選項 1 (3xRAID5) 將對單個文件具有更好的讀取性能(由於條帶化)。可能更差的寫入性能,但這取決於。對於多個文件,RAID1 可以從兩個磁碟讀取。
  • 選項 2 (RAID1) 具有更簡單的“幾何結構”(數據在磁碟上的佈局方式)。如果由於某種原因您不得不在不訪問 RAID 軟體的情況下從中恢復數據(這在硬體 RAID 的情況下更可能發生——例如,如果控制器壞了),那會更容易。
  • 兩個選項的正常管理應該是相同的。您通常會使用相同的命令來更換故障驅動器、啟動和停止陣列等。

還有一個您沒有提到的選項:3xRAID1。您可以在 RAID1 中放置 3 個磁碟。這意味著即使在失去磁碟之後,您仍然是完全冗餘的——因此,例如,(以前)未檢測到的壞扇區並不意味著重建時數據失去。寫入可能會慢一些(由於額外的鏡像)。成本是主要缺點。

提高數據持久性的另一種方法是使用冷備用(驅動器放在某個架子上,準備好在其中一個活動驅動器發生故障時安裝)。這意味著您無需等待幾天才能收到更換驅動器。

如果支持的話,還有文件系統選項(例如,ZFS 和 btrfs 都支持鏡像數據)。

至於作業系統,除非不可能,否則我會將其安裝在陣列上。例如,在 Linux x86-64 上,我有一個單獨的 /boot(或 EFI 機器的 /boot/efi)陣列,這將是一個跨所有磁碟的小型 RAID1。一旦載入了核心和 initramfs(實際上,一旦載入了 grub2),您就可以使用 RAID 級別、邏輯卷等的完整選擇。

最後,請記住 RAID 不能替代備份。例如,如果一台機器感染了勒索軟體,它會加密並刪除你的所有文件——RAID 軟體會忠實地將這種破壞複製到你給它的盡可能多的磁碟上。與意外刪除、導致文件系統損壞的錯誤等相同。它不會阻止自然或人為的災難摧毀整個伺服器。

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