Mdadm
mdadm 如何將一個陣列用作另一個陣列中的“成員磁碟”
我有一個帶有 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 PV
pvcreate /dev/mdN
並從這三個 PV 中建構 LVM VGvgcreate my_vg /dev/mdN /dev/mdM /dev/mdP
,- 根據需要創建邏輯卷、遷移數據、移除舊陣列
- 將較小的磁碟重新分區以具有單個分區並將每個磁碟添加到其 RAID1
這樣你:
- 避免 MD over MD(可以手動組裝,但我不確定它會在啟動時自動組裝)
- 引入 LVM,它改進了捲管理;LVM over MD 是非常標準且受支持的配置
- 當其中一個較小的磁碟當機時,您將更換它並僅重新同步該部分;如果您採用“raid1 out of raid0”的方式,您將同步整個數據。
最後一個論點實際上描述了為什麼冗餘總是在最低級別完成,並且這些較小的冗餘部分(條帶)的組合被賦予更高的級別。