文件伺服器 - 儲存配置:RAID vs LVM vs ZFS 還有什麼……?
我們是一家從事影片編輯等業務的小公司,需要一個地方來保存大型媒體文件的備份副本並便於共享。
我有一個裝有 Ubuntu Server 和 4 個 500 GB 驅動器的盒子。他們目前將 Samba 設置為 Mac/Windows 工作站可以正常查看的四個共享文件夾,但我想要一個更好的解決方案。這有兩個主要原因:
- 500 GB 還不夠大(有些項目更大)
- 管理目前設置很麻煩,因為各個硬碟驅動器具有不同數量的可用空間和重複數據(用於備份)。現在很混亂,一旦有多個伺服器,情況只會變得更糟。(“該項目在 share4 中的 sever2 上”等)
因此,我需要一種方法來組合硬碟驅動器,以避免由於單個驅動器故障而導致數據完全失去,因此使用者在每台伺服器上只能看到一個共享。我已經完成了 linux 軟體 RAID5 並且對它有不好的體驗,但會再試一次。LVM 看起來不錯,但似乎沒有人使用它。ZFS 看起來很有趣,但它相對“新”。
什麼是對我的使用者方便的組合硬碟的最有效和風險最小的方法?
編輯:這裡的目標基本上是創建包含任意數量硬碟但從最終使用者角度限制複雜性的伺服器。(即他們看到每台伺服器一個“文件夾”) 備份數據在這裡不是問題,但是每個解決方案如何響應硬體故障是一個嚴重的問題。這就是我將 RAID、LVM、ZFS 和 who-knows-what 放在一起的原因。
我之前使用 RAID5 的經驗也是在 Ubuntu Server 機器上進行的,並且有一系列棘手且不太可能導致數據完全失去的情況。我可以再次避免這種情況,但留下的感覺是我在系統中添加了一個不必要的額外故障點。
我沒有使用 RAID10,但我們使用的是商用硬體,每盒最多的數據驅動器幾乎固定為 6 個。我們有很多 500 GB 驅動器,而 1.5 TB 非常小。(但對於至少一台伺服器來說仍然是一種選擇)
我沒有使用 LVM 的經驗,並且閱讀過關於它如何處理驅動器故障的相互矛盾的報告。如果(非條帶化)LVM 設置可以處理單個驅動器故障並且只鬆動儲存在該驅動器上的部分文件(並且僅將大多數文件儲存在單個驅動器上),我們甚至可以忍受。
但只要我必須學習一些全新的東西,我還不如一路去 ZFS。不過,與 LVM 不同的是,我還必須更改我的作業系統(?),以便增加我所在位置和我想去的位置之間的距離。不過,我在 uni 使用了一個版本的 solaris 並且不會非常介意它。
在 IT 領域的另一端,我想我也可以探索 FreeNAS 和/或 Openfiler,但這並不能真正解決如何組合驅動器的問題。
LVM 實際上被大量使用。基本上,LVM 位於硬體(驅動程序)層之上。它不會增加任何冗餘或增加可靠性(它依賴於底層儲存系統來處理可靠性)。相反,它提供了許多額外的靈活性和附加功能。LVM 永遠不會看到磁碟消失或故障,因為磁碟故障應該由 RAID 處理(無論是軟體還是硬體)。如果您失去了磁碟並且無法繼續操作(重建 RAID 等),那麼您應該進行備份。永遠不需要嘗試從不完整的數組中恢復數據(如果需要,您需要重新評估整個設計)。
使用 LVM 獲得的功能包括輕鬆擴展和縮小分區/文件系統、動態分配新分區的能力、對現有分區進行快照以及將快照掛載為只讀或可寫分區的能力。快照非常有用,尤其是對於備份之類的事情。
就個人而言,我在我建構的每個盒子上的每個分區(除了 /boot)都使用 LVM,而且在過去的 4 年裡我一直在這樣做。當您想要添加或修改磁碟佈局時,處理非 LVM 的盒子是一個巨大的痛苦。如果您使用的是 Linux,那麼您肯定想要使用 LVM。 $$ Note: This above stuff on LVM has been updated to better explain what it is and how it fits into the storage equation. $$
至於RAID,我不做沒有raid的伺服器。由於磁碟價格便宜,我會選擇 RAID1 或 RAID10。更快、更簡單、更健壯。
不過老實說,除非您與 Ubuntu(我通常會推薦)結婚,或者如果該機器正在執行其他任務,您可能需要查看OpenFiler。它將您的盒子變成帶有 Web 界面的儲存設備,並為您處理所有 RAID/LVM/等,並允許您將儲存導出為 SMB、NFS、iSCSI 等。巧妙的小設置。