최근에 VPS의 HDD 공간을 80 > 160GB에서 업그레이드했지만 fdisks를 보는 것 외에는 변경 사항이 표시되지 않습니다.
root@localhost:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 3.9G 0 3.9G 0% /dev
tmpfs 794M 1.2M 793M 1% /run
/dev/mapper/vg00-lv01 77G 31G 43G 43% /
tmpfs 3.9G 16K 3.9G 1% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/sda1 456M 145M 278M 35% /boot
tmpfs 794M 0 794M 0% /run/user/0
root@localhost:~# fdisk /dev/sda
Welcome to fdisk (util-linux 2.34).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): p
Disk /dev/sda: 160 GiB, 171798691840 bytes, 335544320 sectors
Disk model: Virtual disk
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: 0x520f1760
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 999423 997376 487M 83 Linux
/dev/sda2 999424 335544286 334544863 159.5G 8e Linux LVM
resize2fs를 사용하려고 시도했지만 다음과 같은 결과를 얻었습니다.
root@localhost:~# resize2fs /dev/mapper/vg00-lv01
resize2fs 1.45.5 (07-Jan-2020)
The filesystem is already 20345856 (4k) blocks long. Nothing to do!
이 작업을 수행하려면 새 파티션을 만들어야 할 것 같나요?
나를 더욱 혼란스럽게 만드는 것은 vgdisplay에 여유 공간이 표시되지 않는다는 것입니다.
root@localhost:~# vgdisplay vg00
--- Volume group ---
VG Name vg00
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size <79.52 GiB
PE Size 4.00 MiB
Total PE 20357
Alloc PE / Size 20357 / <79.52 GiB
Free PE / Size 0 / 0
VG UUID ZRC0sL-qOeU-Uyfp-Qbo4-m06c-CwEt-xpFTsO
답변1
운영 체제용으로 디스크를 확장할 때 lvm용으로 확장하려면 몇 가지 작업을 수행해야 합니다.
시스템을 재부팅하지 않으려면 디스크에서 새 크기를 다시 검색해야 합니다(예: /dev/sda).
에코 1 > /sys/block/sda/device/rescan
새로운 디스크 공간(160G)이 표시됩니다.
다음으로 pv에 속한 파티션을 확장해야 합니다.
분할 /dev/sda 2 크기 조정 부분 100%
그런 다음 PV의 크기를 조정합니다.
pvresize /dev/sda2
lv 및 fs의 크기를 조정하십시오.
lvextend -l+100%FREE -r /dev/mapper/vg00-lv01
참고: lvextend에 대해 "-r"을 표시하십시오.
-r|--resizefs
Resize underlying filesystem together with the LV using fsadm(8).
그러나 파일 시스템 유형에 따라 기본 파일 시스템의 크기를 직접 조정할 수 있습니다.
xfs: xfs_growfs /
ext: resize2fs /
답변2
사용 가능한 새 공간을 볼 수 있는지 확인하려면 가상 머신 내부를 확인해야 합니다.
fdisk -l /dev/sda #or whatever your main device is
따라서 원래 80G보다 더 많은 공간이 있는지 확인할 수 있으며 때로는 VM을 중지하고 다시 시작해야 합니다. 대부분의 경우 다시 시작하면 커널이 공간 변경을 감지하는 데 충분할 수 있지만 시도할 수 없는 경우 다음 솔루션 중 :
sfdisk -R /dev/sda
partx -a /dev/sda
kpartx -a /dev/sda
hdparm -z /dev/sda
blockdev --rereadpt /dev/sda
partprobe /dev/sda
이제부터 장치에 여유 공간이 있을 수 있으며 이를 활용하는 방법에는 두 가지가 있습니다. (1) 원래 파티션을 확장하거나 (2) 새 파티션을 추가하는 것입니다.
확장 파티션(1)
pvs #this will give you the used partitions here 2 for the example
parted /dev/sda resizepart 2 159GB
^disk ^cmd ^part# ^pos.last.sector
가장 큰 크기를 사용할 수 있도록 마지막 숫자는 원하는 종료 위치여야 합니다.
두 번째 파티션(2)을 추가하려면 fdisk sfdisk gdisk
또는 이와 유사한 것을 사용하고 끝에 파티션을 추가하고 GPT 파티션 테이블 형식을 사용하는 경우 8e 또는 8E00으로 표시합니다. 그런 다음 두 번째 파티션을 LVM에 추가합니다.
pvcreate /dev/sda3
vgextend vg00 /dev/sda3
이제부터 볼륨 그룹에 일부 여유 공간이 보고되거나 볼륨을 확장 vgs
할 vgdisplay
수 있습니다.