ソフトRAID1ディスク(2TB)2個を同じディスク(4TBディスク)2個に交換する予定です。現在のディスク構成は、debian 11を実行するソフトウェアRAID 1です。ディスクがルートではありません。
私の計画は、2TBディスクを新しい4TBディスクに交換(ホットスワップ可能)し、ディスクがmdadmと同期するのを待つことです(これを行う方法もわかりませんが、Googleで検索しているようです)。同期が完了した後、残りの2TBディスクを同じようにホットスワップし、別の4TBディスクと交換した後、mdadmが同期を完了するのを待つ予定です。
この時点でも、まだ拡張する必要がある2TBのLUKSディスクが2つ残っていることを願っています。これは面倒ですが、以前はラップトップで行ったことがありますが、RAID1構成では一度も試したことはありません。
- 私の計画はあなたに理解できますか?
- RAID 1 LUKSパーティションを拡張する方法(つまり、私の計画の最後のステップ)を案内しますか?
- よりスマートなオプションがありますか?
コメントで要求されたように、出力は次のようになりますlsblk
。
root@server:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 3.6T 0 disk
`-sda1 8:1 0 3.6T 0 part
`-md4 9:4 0 3.6T 0 raid1
`-4tb 253:1 0 3.6T 0 crypt /media/4tb
sdb 8:16 0 3.6T 0 disk
`-sdb1 8:17 0 3.6T 0 part
`-md4 9:4 0 3.6T 0 raid1
`-4tb 253:1 0 3.6T 0 crypt /media/4tb
sdc 8:32 0 119.2G 0 disk
`-sdc1 8:33 0 119.2G 0 part
`-md127 9:127 0 119.2G 0 raid1 /
sdd 8:48 0 119.2G 0 disk
`-sdd1 8:49 0 119.2G 0 part
`-md127 9:127 0 119.2G 0 raid1 /
sde 8:64 0 465.8G 0 disk
`-sde1 8:65 0 465.8G 0 part
`-md0 9:0 0 465.6G 0 raid1
sdf 8:80 0 2.7T 0 disk
`-sdf1 8:81 0 2.7T 0 part
`-3tb 253:2 0 2.7T 0 crypt /media/3tb
sdg 8:96 1 931.5G 0 disk
`-sdg1 8:97 1 931.5G 0 part
`-md1 9:1 0 931.4G 0 raid1
`-vm 253:3 0 931.4G 0 crypt /media/vm
sdh 8:112 1 1.8T 0 disk
`-sdh1 8:113 1 1.8T 0 part
`-md2 9:2 0 1.8T 0 raid1
`-backup 253:0 0 1.8T 0 crypt /media/backup
sdi 8:128 1 931.5G 0 disk
`-sdi1 8:129 1 931.5G 0 part
`-md1 9:1 0 931.4G 0 raid1
`-vm 253:3 0 931.4G 0 crypt /media/vm
sdj 8:144 1 1.8T 0 disk
`-sdj1 8:145 1 1.8T 0 part
`-md2 9:2 0 1.8T 0 raid1
`-backup 253:0 0 1.8T 0 crypt /media/backup
答え1
すべての/media/*
マウントはdisk->partial->raid1->cryptを使用して階層化されているようです。
既存の2TBディスクがMBRスタイルでパーティション化されている場合は、MBRの最大容量制限に達するため、新しい新しいディスクでは実際にこれを実行できません。幸いなことに、LinuxソフトウェアRAIDでは、RAIDセットのさまざまな部分に同じタイプのパーティションを持つ必要はありません(または実際に起動できないディスクの場合は、パーティションスキームをまったく使用しないように選択できます)。
md2
したがって、これがより大きなディスクに移行するRAIDセットであり、sdh
最初に交換する必要があるとします。
- 障害があるとマークされた
sdh1
RAID1コンポーネント:mdadm --manage /dev/md2 --fail /dev/sdh1
md2
RAIDセットから取り外します。mdadm --manage /dev/md2 --remove /dev/sdh1
- ディスクがホットプラグされるとカーネルに通知します
echo 1 > /sys/block/sdh/device/delete
。コントローラとディスクのモデルによっては、この操作を実行するとディスクが実際に回転しても回転しなくなる可能性があります。 sdh
ディスクを新しいディスクと物理的に交換します。- 新しいディスクデバイス名を確認してください。 (あるかもしれないし、そうでないかもしれません。
/dev/sdh
そう呼びますsdX
)。 - パーティションを使用するには、GPTパーティションタイプを使用し、ディスク全体をカバーする単一のパーティションを作成します。パーティションタイプを「Linux RAID」(GPTパーティションタイプGUID
A19D880F-05FC-4D3B-A006-743F0F84911E
;ほとんどのGPTパーティションツールにはユーザーフレンドリーな指定方法があります。)パーティションは既存のRAIDセットサイズの半分程度になります。後で手順10でフル容量を使用する権限を付与するまで、mdadm
ミラーパーティションに必要な容量のみが使用されます。sdi1
(パーティションを使用している場合は、後でディスクを交換する必要があり、交換ディスクが見つからない可能性を防ぐために、ディスクを完全に使用するよりも特定のサイズを使用することをお勧めします。問題ではありません。)
- RAIDセットに新しいディスクを追加します。ディスクを分割した場合に使用し
mdadm --manage /dev/md2 --add /dev/sdX1
、ディスク全体を非パーティションRAIDデバイスとして使用することを決定した場合に使用しますmdadm --manage /dev/md2 --add /dev/sdX
。 /proc/mdstat
同期が完了するタイミングを監視して確認してください。- 2番目のディスクに対して手順1〜8を繰り返します
sdj
。 - RAIDデバイスが増大した容量を最大限に活用できる
mdadm --grow /dev/md2 --size=max
ように、両方のディスクを交換して同期した後に使用されます。md2
--size=max
(上記の手順6でパーティションを使用しないことを選択した場合は、手順6と同じ理由で、代わりに特定のサイズを使用することもできます。)
md2
デバイスのサイズが正常に調整されたら、それを使用してcryptsetup resize /dev/mapper/backup
RAIDセットの上にある暗号化デバイスのサイズを変更できますmd2
。fsadm resize /dev/mapper/backup
resize2fs /dev/mapper/backup
最後に、ファイルシステム固有のツール(ext2 / ext3 / ext4ファイルシステムの種類、XFSなど)を使用または使用して、暗号化されたデバイスxfs_growfs /media/backup
上のファイルシステムのサイズを変更します。