將多個 LVM 層與 mdraid 一起使用是否明智?
我正在建立一個家庭伺服器,它將用於一些不同的事情。我真的很想為大型數據儲存嘗試 Btrfs raid 1 陣列,但我使用的是 CentOS 7(較舊的核心,儘管據說它在 3.10 之前穩定),並且對其穩定性和我的能力有一些普遍的擔憂如果出現問題,請解決問題,因此我決定在 MD RAID 1 上堅持使用 ext4(目前)。但是,我想保持足夠的靈活性,以便以後過渡。在我看來,最簡單的方法是讓 MD 在每個磁碟的一個邏輯卷上執行,這樣我可以更輕鬆地隨著時間的推移調整整體 RAID 大小,然後在其上放置額外的邏輯卷來管理磁碟使用對於各種事情。(我想我可以使用 LVM raid,但我反對它,原因如下:使用 LVM 與 MDRAID 進行 RAID)
例如這樣的事情:
| /share | /userX | /userY | /media | ----------------------------------- | LVM1 | LVM2 | LVM3 | ----------------------------------- | RAID 1 Volume | ----------------------------------- | LVM volume | LVM volume | ----------------------------------- | Disk 1 | Disk 2 |
這將使我能夠靈活地管理頂層的磁碟使用情況以及管理整體 RAID 大小,所以理論上我最終可以開始為另一個系統使用額外的磁碟空間,不是嗎?
我覺得我錯過了一些東西 - 性能懲罰?太複雜了?另外,這個問題讓我懷疑我的方法,儘管那張海報似乎在做一些稍微不同的事情。這不像我要在這裡儲存核程式碼,並且我會對重要的東西進行異地備份,但我想避免用可能導致問題的解決方案來打自己的腳。
大多數初始化系統可能不會預料到這種情況,因此他們不會準備先組裝 LVM,然後再組裝 MD,然後再組裝 LVM。
如果你把 LVM 放在 MD 下面,你必須非常小心。MD 應該與物理磁碟一起使用,但是將 LV 作為 RAID 成員,您很容易最終導致兩個成員共享相同的磁碟。也就是說,如果使用 MD 作為獨立層,而不是 LVM 本身的 raid 功能,在後一種情況下,LVM 本身可以確保這一點。
如果 MD 成員最終共享磁碟,則單個磁碟故障最終會殺死多個成員。基本上你會在沒有真正冗餘的情況下執行毫無意義的 RAID。
問題是,這樣的設置有什麼意義?僅從您的圖形看來,額外的 LVM 層似乎是多餘的。直接使用磁碟即可。
大多數想要將 RAID1 設置完全更改為其他設置的人只需踢出一個磁碟並在其上建構新系統。你暫時失去了這個過程的冗餘,但無論如何你應該總是有備份,對吧?
LVM 的大多數其他優勢不適用於 RAID。您不需要 RAID 下的 LVM 就可以擴大或縮小 RAID。MD自己可以做到這一點。