두 개의 논리 볼륨과 함께 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가 복원되면서 파티션의 가시성이 복원됩니다.