gdisk를 사용하여 LVM 파티션 크기를 조정해보세요

gdisk를 사용하여 LVM 파티션 크기를 조정해보세요

두 개의 논리 볼륨과 함께 LVM을 사용합니다.

  • 먼저 LV를 루트 디렉터리에 마운트합니다./
  • 두 번째 LV는 /var/log디렉토리 에 마운트됩니다.

이 두 LV는 물리 볼륨 /dev/sda3을 기반으로 합니다. /dev/sda 장치는 GPT 파티션 테이블을 사용합니다.

내 의도는 디스크에서 사용 가능한 모든 메모리를 차지하도록 /dev/sda3 파티션의 크기를 조정하는 것입니다.

gdisk이를 위해 다음 명령을 사용했습니다 .

이것은 내 현재 파티션 테이블입니다.

Command (? for help): p
Disk /dev/sda: 4294967296 sectors, 2.0 TiB
Logical sector size: 512 bytes
Disk identifier (GUID): 546DEB45-C1DE-402B-BB51-4011AC159B4F
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 4294967262
Partitions will be aligned on 8-sector boundaries
Total free space is 4188012544 sectors (2.0 TiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1              34          614433   300.0 MiB   EF00
   2          614434        17386294   8.0 GiB     8200
   3        17386295       106954718   42.7 GiB    8E00

이것이 세 번째 파티션의 크기를 조정하는 방법입니다.

Command (? for help): d
Partition number (1-3): 3

Command (? for help): n
Partition number (3-128, default 3): 3
First sector (17386295-4294967262, default = 17386296) or {+-}size{KMGTP}:
Last sector (17386296-4294967262, default = 4294967262) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 8e00
Changed type of partition to 'Linux LVM'

Command (? for help): w

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): Y
OK; writing new GUID partition table (GPT) to /dev/sda.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.

실제로 세 번째 파티션의 크기는 다음과 같습니다.

Command (? for help): p
Disk /dev/sda: 4294967296 sectors, 2.0 TiB
Logical sector size: 512 bytes
Disk identifier (GUID): 546DEB45-C1DE-402B-BB51-4011AC159B4F
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 4294967262
Partitions will be aligned on 8-sector boundaries
Total free space is 1 sectors (512 bytes)

Number  Start (sector)    End (sector)  Size       Code  Name
   1              34          614433   300.0 MiB   EF00
   2          614434        17386294   8.0 GiB     8200
   3        17386296      4294967262   2.0 TiB     8E00  Linux LVM

이제 파티션 테이블에 대한 새로운 변경 사항을 커널에 알려야 합니다.

내가 아는 한 세 가지 옵션이 있습니다.

partprobe:

Error: Partition(s) 3 on /dev/sda have been written, but we have been unable to inform the kernel of the change, probably because it/they are in use. As a result, the old partition(s) will remain in use. You should reboot now before making further changes.

partx -uv /dev/sda:

partition: none, disk: /dev/sda, lower: 0, upper: 0
/dev/sda: partition table type 'gpt' detected
/dev/sda: partition #1 resized
/dev/sda: partition #2 resized
/dev/sda: partition #3 resized
partx: /dev/sda: updating partition #3 failed: Invalid argument
partx: /dev/sda: error updating partition 3

reboot: 머신이 복구되지 않아 KDB 쉘에 들어갔습니다.

질문: 내가 뭘 잘못했나요? /dev/sda3 파티션의 크기를 늘리는 올바른 방법은 무엇입니까?

그런데, (이전에 사용했던 2TiB 대신) 100GiB와 같은 더 작은 디스크를 사용할 때 명령은 다음과 같습니다 partx -uv /dev/sda.피복재오류가 발생하지 않습니다( partprobe여전히 불평 중). 이것을 어떻게 설명할 것인가?

당신의 도움을 주셔서 감사합니다!

답변1

결과 에서 알 수 있듯이 gdisk시작 구간 전후에 차이가 있습니다.

3 17386295 106954718 42.7GiB 8E00

그리고

3 17386296 4294967262 2.0TiB 8E00 리눅스 LVM

이로 인해 LVM이 PV에 대한 올바른 정보를 인식하지 못하기 때문에 문제가 발생합니다. 이를 수정해 보십시오(시작 섹터를 17386295로 설정). 그러면 PV가 복원되면서 파티션의 가시성이 복원됩니다.

관련 정보