내 루트 파티션에 공간이 부족하여 확장/크기 조정하려고 합니다.
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/u64-root 19G 18G 823M 96% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 235M 12K 235M 1% /dev
tmpfs 50M 464K 49M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 246M 0 246M 0% /run/shm
none 100M 0 100M 0% /run/user
/dev/sda1 228M 88M 129M 41% /boot
게스트 Ubuntu를 위해 가상 머신에 20G가 넘는 공간을 만들었습니다.
$ sudo fdisk -l
Disk /dev/sda: 48.3 GB, 48318382080 bytes
255 heads, 63 sectors/track, 5874 cylinders, total 94371840 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 identifier: 0x00001433
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 499711 248832 83 Linux
/dev/sda2 501758 41940991 20719617 5 Extended
/dev/sda3 41940992 94371839 26215424 83 Linux
/dev/sda5 501760 41940991 20719616 8e Linux LVM
Disk /dev/mapper/u64-root: 20.7 GB, 20661141504 bytes
255 heads, 63 sectors/track, 2511 cylinders, total 40353792 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 identifier: 0x00000000
Disk /dev/mapper/u64-root doesn't contain a valid partition table
Disk /dev/mapper/u64-swap_1: 532 MB, 532676608 bytes
255 heads, 63 sectors/track, 64 cylinders, total 1040384 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 identifier: 0x00000000
$ sudo vgs
VG #PV #LV #SN Attr VSize VFree
u64 1 2 0 wz--n- 19.76g 20.00m
$ sudo vgdisplay -v u64
Using volume group(s) on command line
Finding volume group "u64"
--- Volume group ---
VG Name u64
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
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 19.76 GiB
PE Size 4.00 MiB
Total PE 5058
Alloc PE / Size 5053 / 19.74 GiB
Free PE / Size 5 / 20.00 MiB
VG UUID 0ceVdc-pZwk-gIfx-h1Wi-aJu2-9P9m-BdyB1s
--- Logical volume ---
LV Path /dev/u64/root
LV Name root
VG Name u64
LV UUID oBFvFd-EWm3-yCzy-uP3b-GJ33-qeNS-LN9VJx
LV Write Access read/write
LV Creation host, time u64, 2013-03-05 15:44:40 +0800
LV Status available
# open 1
LV Size 19.24 GiB
Current LE 4926
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:0
--- Logical volume ---
LV Path /dev/u64/swap_1
LV Name swap_1
VG Name u64
LV UUID Inr5EC-q90t-05Jj-0p9L-2Nb3-UWjo-2T2dsr
LV Write Access read/write
LV Creation host, time u64, 2013-03-05 15:44:41 +0800
LV Status available
# open 2
LV Size 508.00 MiB
Current LE 127
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:1
--- Physical volumes ---
PV Name /dev/sda5
PV UUID HbjvW7-SEit-o5LE-jnne-fgAI-C3lB-oyzgVC
PV Status allocatable
Total PE / Free PE 5058 / 5
그런데 이 오류로 인해 차단되었습니다.
$ sudo lvextend -L+10G /dev/mapper/u64-root
Extending logical volume root to 29.24 GiB
Insufficient free space: 2560 extents needed, but only 5 available
공간은 있는데 공간이 부족하다고 나오네요. 루트 볼륨과 임시 파티션을 확장하고 싶습니다. 이 문제를 해결하는 방법을 아시나요?
답변1
u64(볼륨 그룹)에 공간이 부족하여 루트 볼륨 크기를 조정하고 lvextend 공간 부족 오류가 발생합니다. 명령을 실행하면 다음이 수행됩니다.
$ sudo vgs
VG #PV #LV #SN Attr VSize VFree
u64 1 2 0 wz--n- 19.76g 20.00m
볼륨 그룹에 남은 여유 공간이 20MB임을 보여줍니다. 공간을 확장하면 됩니다.
실제로 lv(논리볼륨)에서 확장공간을 확장한다면. 아래 단계를 따르십시오.
1단계: 먼저 가상 박스에 디스크를 추가하세요: 설정 > 저장소 > 새 디스크 추가 (+)
2단계: 새 디스크를 추가한 후 다음 명령을 실행합니다.
$ sudo fdisk -l
파티션 테이블 없이 새 디스크가 표시됩니다(예: /dev/sdb).
3단계: 이제 LVM용 시스템 ID 8e를 사용하여 /dev/sdb에 /dev/sdb1로 파티션을 만듭니다.
4단계: 커널이 여전히 기존 파티션 테이블을 사용하고 있기 때문에 오류나 경고가 표시되면 가상 머신을 다시 시작하거나 partprobe 명령을 실행하세요.
$ sudo partprobe
5단계: 이제 물리 볼륨(pv)을 생성합니다. 다음 명령을 전달하십시오.
$ sudo pvcreate /dev/sdb1
6단계: 다음 명령을 실행하여 볼륨 그룹을 확장합니다.
$ sudo vgextend u64 /dev/sdb1
7단계: 확인 vgs 또는 vgdisplay를 실행하면 VFree에 공간이 표시됩니다. 또는 무료 PE/크기.
8단계: 이제 논리 볼륨을 확장하세요.
$ sudo lvextend -L +10G /dev/u64/root
$ sudo resize2fs /dev/u64/root
xfs 파일 시스템인 경우 xfs_growfs 대신 resize2fs를 교체하십시오.
9단계: 이제 마지막 확인을 하겠습니다.
$ df -hT
답변2
먼저 /dev/sda3에 파티션 유형 8e(LVM)을 생성하고 u64 볼륨 그룹에 물리 볼륨을 추가하여 현재 볼륨 그룹 크기를 확장했습니다 vgextend u64 /dev/sda3
.
둘째, 논리 볼륨 루트를 확장합니다 lvextend -L+22g u64/root
.
셋째, ext4 파일 시스템의 크기를 조정합니다 resize2fs /dev/mapper/u64-root
.
마찬가지로 스왑 논리 볼륨을 확장 lvextend -L+3g u64/swap_1
하고 swapoff /dev/u64/swap_1
;mkswap /dev/u64/swap_1