소프트 RAID1 LUKS 디스크를 더 큰 디스크로 교체

소프트 RAID1 LUKS 디스크를 더 큰 디스크로 교체

소프트 RAID1 디스크(2TB) 2개를 동일한 디스크(4TB 디스크) 2개로 교체할 계획입니다. 현재 디스크 구성은 debian 11을 실행하는 소프트웨어 RAID 1입니다. 디스크가 루트가 아닙니다.

내 계획은 2TB 디스크를 새 4TB 디스크로 교체(핫 스왑 가능)하고 디스크가 mdadm과 동기화될 때까지 기다리는 것입니다(이 작업을 수행하는 방법도 모르지만 Google에서 검색해 볼 것 같습니다). 동기화가 완료된 후 남은 2TB 디스크를 동일하게 핫스왑하고 다른 4TB 디스크로 교체한 후 mdadm이 동기화를 완료할 때까지 기다릴 계획입니다.

이 시점에서도 여전히 확장해야 할 2TB LUKS 디스크 2개가 남아 있기를 바랍니다. 이 작업은 번거롭지만 이전에 노트북에서 해본 적이 있지만 RAID1 구성에서는 한 번도 해본 적이 없습니다.

  1. 내 계획이 당신에게 이해가 되나요?
  2. RAID 1 LUKS 파티션을 확장하는 방법(즉, 내 계획의 마지막 단계)을 안내해 주시겠습니까?
  3. 더 똑똑한 옵션이 있나요?

의견에서 요청한 대로 출력은 다음과 같습니다 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먼저 교체 해야 한다고 가정해 보겠습니다 .

  1. 결함이 있는 것으로 표시된 sdh1RAID1 구성 요소 :mdadm --manage /dev/md2 --fail /dev/sdh1
  2. md2RAID 세트 에서 제거하십시오.mdadm --manage /dev/md2 --remove /dev/sdh1
  3. 디스크가 핫플러그될 것이라고 커널에 알립니다: echo 1 > /sys/block/sdh/device/delete. 컨트롤러와 디스크 모델에 따라 이 작업을 수행할 때 디스크가 실제로 회전할 수도 있고 회전하지 않을 수도 있습니다.
  4. sdh디스크를 새 디스크로 물리적으로 교체합니다 .
  5. 새 디스크 장치 이름을 알아보세요. (일 수도 있고 아닐 수도 있습니다 /dev/sdh. 그렇게 부르겠습니다 sdX).
  6. 파티션을 사용하려면 GPT 파티션 유형을 사용하고 전체 디스크를 포괄하는 단일 파티션을 만드세요. 파티션 유형을 "Linux RAID"(GPT 파티션 유형 GUID A19D880F-05FC-4D3B-A006-743F0F84911E; 대부분의 GPT 파티션 도구에는 사용자 친화적인 지정 방법이 있습니다.) 파티션은 기존 RAID 세트 크기의 절반 정도가 됩니다. 나중에 10단계에서 전체 용량을 사용할 수 있는 권한을 부여할 때까지 mdadm미러 파티션에 필요한 용량만 사용됩니다 .sdi1

(파티션을 사용하는 경우 나중에 디스크를 교체해야 하고 교체 디스크를 찾지 못할 가능성을 방지하기 위해 디스크를 완전히 사용하는 것보다 특정 크기를 사용하는 것이 좋습니다. 또한 향후 디스크는 현재 디스크보다 클 수 있으며 이는 더 이상 문제가 되지 않습니다.)

  1. RAID 세트에 새 디스크를 추가합니다. 디스크를 분할한 경우 사용 mdadm --manage /dev/md2 --add /dev/sdX1하고 전체 디스크를 분할되지 않은 RAID 장치로 사용하기로 결정한 경우 사용합니다 mdadm --manage /dev/md2 --add /dev/sdX.
  2. /proc/mdstat동기화가 완료되는 시기를 모니터링 하여 확인하세요.
  3. 두 번째 디스크에 대해 1~8단계를 반복합니다 sdj.
  4. RAID 장치가 증가된 용량을 최대한 활용할 수 mdadm --grow /dev/md2 --size=max있도록 두 디스크를 모두 교체하고 동기화한 후에 사용됩니다 .md2

--size=max(위의 6단계에서 파티션을 사용하지 않기로 선택한 경우, 6단계와 동일한 이유로 여기서 대신 특정 크기를 사용할 수도 있습니다 .)

  1. md2장치 크기가 성공적으로 조정되면 이를 사용하여 cryptsetup resize /dev/mapper/backupRAID 세트 위에 있는 암호화 장치의 크기를 조정할 수 있습니다 md2.
  2. fsadm resize /dev/mapper/backupresize2fs /dev/mapper/backup마지막으로, 파일 시스템별 도구( ext2/ext3/ext4 파일 시스템 유형, XFS 등) 를 사용하거나 사용하여 xfs_growfs /media/backup암호화된 장치 위에서 파일 시스템의 크기를 조정합니다 .

관련 정보