RAID1을 사용하여 Linux 파티션의 크기를 조정하는 방법은 무엇입니까?

RAID1을 사용하여 Linux 파티션의 크기를 조정하는 방법은 무엇입니까?

130Gb LVM 이미지가 포함된 Proxmox 디스크가 있습니다. 235GB 디스크로 옮겼습니다. Proxmox에서 크기를 조정하세요. 완벽한.

하지만 내 Linux 배포판에서는 파티션이 여전히 130Gb입니다(디스크는 235Gb가 됩니다).

파티션: /dev/sda1 /dev/sdb1

RAID1 볼륨의 일부입니다: /dev/md0

데이터 손실 없이 130Gb에서 235Gb로 크기를 조정하는 올바른 방법은 무엇입니까?

**root@debian:~# fdisk -l**

Disk /dev/sdb: 235 GiB, 252329328640 bytes, 492830720 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xd098f1da

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sdb1            2048 273436671 273434624 130.4G fd Linux raid autodetect
/dev/sdb2       273436672 291502079  18065408   8.6G fd Linux raid autodetect

Disk /dev/sda: 235 GiB, 252329328640 bytes, 492830720 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x559572cb

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1  *         2048 273436671 273434624 130.4G fd Linux raid autodetect
/dev/sda2       273436672 291502079  18065408   8.6G fd Linux raid autodetect

Disk /dev/md0: 130.3 GiB, 139864309760 bytes, 273172480 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/md1: 8.6 GiB, 9241100288 bytes, 18049024 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


**root@debian:~# cat /proc/mdstat**
Personalities : [raid1]
md1 : active (auto-read-only) raid1 sda2[0] sdb2[1]
      9024512 blocks super 1.2 [2/2] [UU]

md0 : active raid1 sda1[0] sdb1[1]
      136586240 blocks super 1.2 [2/2] [UU]
      bitmap: 0/2 pages [0KB], 65536KB chunk

unused devices: <none>


**root@debian:~# cat /proc/partitions**
major minor  #blocks  name

   8       16  246415360 sdb
   8       17  136717312 sdb1
   8       18    9032704 sdb2
   8        0  246415360 sda
   8        1  136717312 sda1
   8        2    9032704 sda2
  11        0    1048575 sr0
   9        0  136586240 md0
   9        1    9024512 md1

나는 성공하지 않고 시도했습니다.

**root@debian:~# mdadm --grow --size max /dev/md0**
mdadm: component size of /dev/md0 unchanged at 136586240K
unfreeze

**root@debian:~# resize2fs /dev/md0**
resize2fs 1.43.3 (04-Sep-2016)
The filesystem is already 34146560 (4k) blocks long.  Nothing to do!

답변1

그러니 누군가가 필요하다면. 나는 일하는 방법을 찾았습니다. 나는 그것을 사용했다 systemrescuecd.

첫 번째 단계는 sda1/2RAID1에서 이를 제거하는 것입니다.

mdadm /dev/md0 --fail /dev/sda1
mdadm /dev/md1 --fail /dev/sda2
mdadm /dev/md0 --remove /dev/sda1
mdadm /dev/md1 --remove /dev/sda2

/dev/sda2Gparted에서 삭제한 후(systemrescuecd를 통해 )

Gparted의 SDA1에서 "boot" 및 "raid" 태그를 제거했습니다.

그런 다음 명령줄에서 다음을 수행합니다.

Parted /dev/sda
resizepart
1
245000
quit

Gparted linux-swap에서 sda2를 생성합니다.

mdadm --add /dev/md0 /dev/sda1
mdadm --add /dev/md1 /dev/sda2

sdb1/2도 마찬가지입니다.

뒤쪽에:

e2fsck -f /dev/sda1
e2fsck -f /dev/sdb1

그리고:

mdadm --grow --size max /dev/md0

그런 다음 GParted의 md0에서 "check"를 사용했습니다.

완벽한. 잘 작동합니다.

답변2

mdadm Growth 명령은 정확하지만 파티션이 여전히 이전 크기이므로 여기서는 도움이 되지 않습니다.

Disk /dev/sdb: 235 GiB, 252329328640 bytes, 492830720 sectors
Device     Boot     Start       End   Sectors   Size Id Type
/dev/sdb1            2048 273436671 273434624 130.4G fd Linux raid autodetect
/dev/sdb2       273436672 291502079  18065408   8.6G fd Linux raid autodetect

디스크는 235G인데 파티션은 130G만 mdadm에서는 이 130G만 볼 수 있습니다.

그래서 파티션을 늘려야 하는데 다음 문제는 이미 다른 파티션이 존재해서 방해가 된다는 것입니다. 따라서 첫 번째 파티션을 확장하려면 먼저 두 번째 파티션을 이동해야 합니다. 또 다른 옵션은 새로운 세 번째 파티션을 생성하고 그 위에 새로운 RAID를 생성하여 개별적으로 사용하는 것입니다.

해당 8G RAID가 스왑 공간인 경우 일시적으로 스왑을 비활성화하고 스왑 RAID를 중지하고 해당 파티션을 삭제한 다음 필요에 따라 확장/다시 생성할 수도 있습니다. 사용자 데이터와 달리 교환은 마이그레이션 단계 없이 마음대로 삭제하고 다시 생성할 수 있습니다.

관련 정보