我打算用两个相同的(4TB 磁盘)替换两个软 RAID1 磁盘(2TB)。当前磁盘配置有运行 debian 11 的软 RAID 1。这些磁盘不是 root。
我的计划是用一个新的 4TB 磁盘替换(支持热交换)一个 2TB 磁盘,然后等待磁盘与 mdadm 同步(我什至不知道该怎么做,但我想我会谷歌它)。同步结束后,我计划使用剩余的 2TB 磁盘进行相同的热交换,将其替换为另一个新的 4TB 磁盘,然后等待 mdadm 完成同步。
在这一点上,我仍然(希望)发现自己有两个需要扩大的 2TB 分区的 LUKS 磁盘。这个操作很麻烦,但我以前在笔记本电脑上做过,但从来没有使用 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
您的所有
/media/*
挂载似乎都使用了磁盘->部分->raid1->crypt 分层。请注意,如果您现有的 2 TB 磁盘以 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
)。A19D880F-05FC-4D3B-A006-743F0F84911E
;大多数 GPT 分区工具都有一些更用户友好的方式来指定。)这个分区将比这个 RAID 集的现有一半大;在这一点上这完全没问题。mdadm
将只使用镜像分区所需的数量,sdi1
直到您稍后在第 10 步中授予它使用全部容量的权限。(如果您使用分区,您可能希望使用一些特定的大小而不是只使用完整的磁盘,以防止您将来可能需要更换磁盘并且可能无法找到替换磁盘具有完全相同数量的块。再说一次,未来的磁盘可能会比当前的磁盘大,这不会成为问题。)
mdadm --manage /dev/md2 --add /dev/sdX1
; 如果您决定将整个磁盘用作未分区的 RAID 设备,请使用mdadm --manage /dev/md2 --add /dev/sdX
./proc/mdstat
以查看同步何时完成。sdj
。mdadm --grow /dev/md2 --size=max
允许md2
RAID 设备充分利用增加的容量。(如果您在上面的第 6 步中选择不使用分区,您也可以使用特定大小而不是
--size=max
此处,原因与第 6 步相同。)md2
成功调整设备大小后,用于在RAID 集cryptsetup resize /dev/mapper/backup
顶部调整加密设备的大小。md2
fsadm resize /dev/mapper/backup
或使用文件系统特定工具(resize2fs /dev/mapper/backup
对于 ext2/ext3/ext4 文件系统类型,xfs_growfs /media/backup
对于 XFS 等)