Linux

在同一組驅動器上混合使用 RAID0 和 RAID1

  • April 23, 2021

我很快就會在我們的一台機器上安裝一對新的驅動器,它作為 VMWare 主機箱存在(目前正在執行 VMWare 伺服器)。它們將被用作幾個特定 VM 的 RAID0 陣列,這些 VM 在它們活躍使用時會施加高 I/O 負載。該機器託管了許多用於測試目的的相當大的虛擬機。

由於獲得小於 500G 的驅動器幾乎沒有意義(成本方面),因此生成的陣列的大小將是 1000G,遠遠超過此目的所需的大小,因此我正在考慮使用一大塊磁碟作為 RAID1 陣列來儲存 VM備份和參考副本(釋放現有 RAID1 陣列上的一些空間)。

會不會有什麼危害:

  1. 將驅動器分成 5 個分區

  2. 將一對分區設置為初始 RAID0 陣列

  3. 使用這個新的物理卷創建一個 LVM 組

  4. 將一對分區設置為初始 RAID1 陣列

  5. 使用這個新的物理卷創建一個 LVM 組

  6. 當任一卷組需要擴展時

  7. 在空閒分區對中創建新的 R0/R1 陣列

  8. 擴展相關的 LVM 組以包含這個新的物理卷

我懷疑以上所有內容都可以正常工作,但我想知道是否有任何我不知道的問題。例如,將驅動器分成多個陣列會影響核心有效記憶體 I/O 的能力嗎?

我已經考慮過使用單個 RAID10 陣列在最終將要使用的所有驅動器上重建機器,但是不可以選擇讓機器長時間離線,而且它不允許 I/O 負載的相同分離擁有單獨的數組確實如此。

我認為這樣做沒有問題。它具有成本效益並且可以解決您遇到的問題,只要 RAID1 I/O 負載僅在受控維護時段內有效。

但是,大 RAID1 可能會為您提供更簡單、更有效的設置,具體取決於負載類型。

例如,將驅動器分成多個陣列會影響核心有效記憶體 I/O 的能力嗎?

由於記憶體在塊級別執行,因此您將有效地破壞因不斷流失而獲得的任何記憶體命中。我不建議對 RAID-anything 使用相同的驅動器分區,除非您只是為了了解如何設置它(即,它用於實驗和學習,並且是臨時的)。你會後悔在生產機器上這樣做。

我已經考慮過用單個 RAID10 陣列在所有驅動器上重建機器,它將最終使用……

RAID 10 的優點在 SF 的其他地方討論。

…但是讓機器離線,只要這將需要,這不是一個選項,它不會允許 I/O 負載的分離,就像擁有單獨的陣列一樣。

有時,它是“沒有痛苦,沒有收穫”。坦率地說,這是您最好的選擇。確保您的 RAID 安排是可引導的。但在 4 驅動器設置(最低限度)中,您最終將獲得良好的保護和良好的性能。否則,如果您只有 2 或 3 個驅動器,則只需執行 RAID1(鏡像)即可。如果您有 3 驅動器佈置,請考慮將驅動器 3 設置為熱備用。

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