Mdadm

mdadm 如何將一個陣列用作另一個陣列中的“成員磁碟”

  • June 22, 2021

我有一個帶有 MDADM 的 4 磁碟 RAID 5 陣列。其中一個磁碟發生故障。我買了一個比原來的磁碟大三倍的新磁碟作為替換。

我現在有

  • 降級 RAID5 中的 3x5TB 磁碟
  • 1x16TB 磁碟空閒未使用

我想將現有的 RAID 從 5 更改為 1+0,其中只有舊磁碟是“0”部分:

  • RAID0 中的 3x5TB 磁碟
  • 1x16TB 磁碟

以上將在我想要結束的 RAID 1 中組裝。

我想我應該:

  • 將新磁碟添加到新的降級 RAID 1
  • 從降級的 RAID 5 複製所有數據
  • 將掛載點更改為新數組
  • 拆掉 RAID5 並從中創建一個 RAID0
  • 將 RAID0 添加到 RAID1

或者,作為備份,我可以用創建 btrfs RAID 1 卷來替換最後一步。

這能行嗎?

是的,這應該有效。但是有更好的方法來實現這樣的目標。

如果您想知道如何建構 RAID10 或 RAID60,它是這樣的:系統建構了許多小型 RAID1 或 RAID6 陣列,然後將它們組合成大型“RAID0”陣列。反之亦然,例如將許多 RAID0 鏡像或與其他奇偶校驗設備組裝在一起。

要實現類似的設置,請執行以下操作:

  • 將大磁碟分區為三個分區,每個分區的大小等於較小磁碟的單個分區的大小,
  • 從每個分區中製作“降級”的 RAID1 陣列,例如mdadm --create /dev/mdN -l1 -n2 /dev/sdXY missing
  • 使它們成為 LVM PVpvcreate /dev/mdN並從這三個 PV 中建構 LVM VG vgcreate my_vg /dev/mdN /dev/mdM /dev/mdP
  • 根據需要創建邏輯卷、遷移數據、移除舊陣列
  • 將較小的磁碟重新分區以具有單個分區並將每個磁碟添加到其 RAID1

這樣你:

  • 避免 MD over MD(可以手動組裝,但我不確定它會在啟動時自動組裝)
  • 引入 LVM,它改進了捲管理;LVM over MD 是非常標準且受支持的配置
  • 當其中一個較小的磁碟當機時,您將更換它並僅重新同步該部分;如果您採用“raid1 out of raid0”的方式,您將同步整個數據。

最後一個論點實際上描述了為什麼冗餘總是在最低級別完成,並且這些較小的冗餘部分(條帶)的組合被賦予更高的級別。

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