우분투가 LVM으로 구성되어 있다고 하다.
현재 30GB로 만들어진 게스트 우분투를 40GB로 늘려보자.
VirtualBox에서 vdi의 크기를 늘려준다.
명령어 한 줄을 만들어서 입력해야 하는데, 아래의 두 경로가 필요하다.
VBoxManager.exe의 경로는 대개 C:\Program Files\Oracle\VirtualBox 안에 있다.
폴더를 찾아가서 exe 파일이 있는지 확인하면 된다.
vdi 파일의 경로는 대개 C:\Users[사용자이름]\Virtual Box VMs[가상머신이름] 안에 있다.
두 개를 조합하여 아래와 같이 입력한다.
"C:\Program Files\Oracle\VirtualBox" modifyhd "C:\Users\[사용자이름]\Virtual Box VMs\[가상머신이름]\[가상머신이름].vdi" --resize 40960
게스트 우분투 안에서 파티션을 늘려준다.
먼저 아래 명령어를 통해 growpart를 설치한다.
apt install cloud-guest-utils
그리고 lsblk를 입력하면 VBoxManager로 설정한 크기가 제대로 반영되었는지 볼 수 있다.
root@ubuntu:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 4K 1 loop /snap/bare/5
loop1 7:1 0 61.9M 1 loop /snap/core20/1405
loop2 7:2 0 62M 1 loop /snap/core20/1587
loop3 7:3 0 163.3M 1 loop /snap/firefox/1635
loop4 7:4 0 155.6M 1 loop /snap/firefox/1232
loop5 7:5 0 248.8M 1 loop /snap/gnome-3-38-2004/99
loop6 7:6 0 400.8M 1 loop /snap/gnome-3-38-2004/112
loop7 7:7 0 81.3M 1 loop /snap/gtk-common-themes/1534
loop8 7:8 0 45.9M 1 loop /snap/snap-store/575
loop9 7:9 0 91.7M 1 loop /snap/gtk-common-themes/1535
loop10 7:10 0 45.9M 1 loop /snap/snap-store/582
loop11 7:11 0 47M 1 loop /snap/snapd/16292
loop12 7:12 0 284K 1 loop /snap/snapd-desktop-integration/10
loop13 7:13 0 43.6M 1 loop /snap/snapd/15177
loop14 7:14 0 284K 1 loop /snap/snapd-desktop-integration/14
sda 8:0 0 40G 0 disk <<<<<<<<<<<<<<
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 513M 0 part /boot/efi
└─sda3 8:3 0 31.5G 0 part
├─vgubuntu-root 253:0 0 30.5G 0 lvm /
└─vgubuntu-swap_1 253:1 0 980M 0 lvm [SWAP]
sr0 11:0 1 1024M 0 rom
필자는 /dev/sda3을 파일 시스템으로 사용하고 있으며.
sda가 30GB에서 40GB로 늘어난 것을 볼 수 있다.
그다음 growpart를 이용해 파티션 사이즈를 최대로 늘린다.
root@ubuntu:~# growpart /dev/sda 3
CHANGED: partition=3 start=1054720 old: size=66052096 end=67106816 new: size=82831327 end=83886047
그리고 다시 lsblk를 입력하면 아래와 같이 sda3의 크기가 sda 크기에 맞춰 확장된 것을 볼 수 있다.
root@ubuntu:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 4K 1 loop /snap/bare/5
loop1 7:1 0 61.9M 1 loop /snap/core20/1405
loop2 7:2 0 62M 1 loop /snap/core20/1587
loop3 7:3 0 163.3M 1 loop /snap/firefox/1635
loop4 7:4 0 155.6M 1 loop /snap/firefox/1232
loop5 7:5 0 248.8M 1 loop /snap/gnome-3-38-2004/99
loop6 7:6 0 400.8M 1 loop /snap/gnome-3-38-2004/112
loop7 7:7 0 81.3M 1 loop /snap/gtk-common-themes/1534
loop8 7:8 0 45.9M 1 loop /snap/snap-store/575
loop9 7:9 0 91.7M 1 loop /snap/gtk-common-themes/1535
loop10 7:10 0 45.9M 1 loop /snap/snap-store/582
loop11 7:11 0 47M 1 loop /snap/snapd/16292
loop12 7:12 0 284K 1 loop /snap/snapd-desktop-integration/10
loop13 7:13 0 43.6M 1 loop /snap/snapd/15177
loop14 7:14 0 284K 1 loop /snap/snapd-desktop-integration/14
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 513M 0 part /boot/efi
└─sda3 8:3 0 39.5G 0 part
├─vgubuntu-root 253:0 0 30.5G 0 lvm /
└─vgubuntu-swap_1 253:1 0 980M 0 lvm [SWAP]
sr0 11:0 1 1024M 0 rom
root@ubuntu:~#
논리 볼륨 크기를 늘려준다.
LVM을 사용하고 있기 때문에, 늘어난 물리 파티션을 논리 볼륨에 할당해주어야 한다.
vgdisplay를 입력하면 논리 볼륨에 대한 설명을 볼 수 있다.
root@ubuntu:~# vgdisplay
--- Volume group ---
VG Name vgubuntu
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 7
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 39.49 GiB
PE Size 4.00 MiB
Total PE 10110
Alloc PE / Size 8062 / 31.49 GiB
Free PE / Size 2048 / 8.00 GiB
VG UUID Zbs5zw-y27v-Q6LJ-mLrA-LccW-z14R-tU8GPa
Free PE / Size 부분을 보면 8.00 GiB 라고 되어있다.
총 8GB를 늘릴 수 있다고 보면 된다.
pvresize 명령어를 통해 볼륨 사이즈를 재조정한다.
root@ubuntu:~# pvresize /dev/sda3
Physical volume "/dev/sda3" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized
그리고 df 명령어를 통해 논리 볼륨의 이름을 확인한다.
root@ubuntu:~# df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 393M 2.7M 390M 1% /run
/dev/mapper/vgubuntu-root 30G 14G 16G 48% /
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 2.0G 0 2.0G 0% /run/qemu
/dev/sda2 512M 5.3M 507M 2% /boot/efi
tmpfs 393M 68K 393M 1% /run/user/0
루트 파일 시스템 이름이 /dev/mapper/vgubuntu-root 로 되어있는 것을 볼 수 있다.
이를 인자로 lvextend를 실행하여 논리 볼륨을 가능한 최대로 확장한다.
root@ubuntu:~# lvextend -r -l +100%FREE /dev/mapper/vgubuntu-root
Size of logical volume vgubuntu/root changed from <30.54 GiB (7817 extents) to <38.54 GiB (9865 extents).
Logical volume vgubuntu/root successfully resized.
resize2fs 1.46.5 (30-Dec-2021)
Filesystem at /dev/mapper/vgubuntu-root is mounted on /; on-line resizing required
old_desc_blocks = 4, new_desc_blocks = 5
The filesystem on /dev/mapper/vgubuntu-root is now 10101760 (4k) blocks long.
그러면 위와 같이 성공했다고 뜨며,
df 명령어로 다시 확인해보면 파일 시스템의 크기가 늘어난 것을 볼 수 있다.
root@ubuntu:~# df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 393M 2.7M 390M 1% /run
/dev/mapper/vgubuntu-root 38G 14G 23G 38% / <<<<<<<<<<
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 2.0G 0 2.0G 0% /run/qemu
/dev/sda2 512M 5.3M 507M 2% /boot/efi
tmpfs 393M 68K 393M 1% /run/user/0
짜잔, 8GB 늘어난 것을 볼 수 있다.
4줄 요약
- C:\Program Files\Oracle\VirtualBox" modifyhd "C:\Users\[사용자이름]\Virtual Box VMs\ubuntu\ubuntu.vdi" --resize [용량]
- growpart /dev/sda 3
- pvresize /dev/sda3
- lvextend -r -l +100%FREE /dev/mapper/vgubuntu-root