[VirtualBox] 우분투 LVM 용량 늘리기

pikamon·2022년 8월 8일
0

VirtualBox

목록 보기
1/1

우분투가 LVM으로 구성되어 있다고 하다.

현재 30GB로 만들어진 게스트 우분투를 40GB로 늘려보자.


1. 호스트에서 가상머신 용량 늘리기

VirtualBox에서 vdi의 크기를 늘려준다.

명령어 한 줄을 만들어서 입력해야 하는데, 아래의 두 경로가 필요하다.

  • VBoxManager.exe의 경로
  • vdi 파일 경로

VBoxManager.exe의 경로는 대개 C:\Program Files\Oracle\VirtualBox 안에 있다.

폴더를 찾아가서 exe 파일이 있는지 확인하면 된다.

vdi 파일의 경로는 대개 C:\Users[사용자이름]\Virtual Box VMs[가상머신이름] 안에 있다.

두 개를 조합하여 아래와 같이 입력한다.

  • C:\Program Files\Oracle\VirtualBox" modifyhd "C:\Users\sj\Virtual Box VMs\ubuntu\ubuntu.vdi" --resize [용량]
"C:\Program Files\Oracle\VirtualBox" modifyhd "C:\Users\[사용자이름]\Virtual Box VMs\[가상머신이름]\[가상머신이름].vdi" --resize 40960

2. 게스트에서 파티션 늘리기

게스트 우분투 안에서 파티션을 늘려준다.

먼저 아래 명령어를 통해 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를 이용해 파티션 사이즈를 최대로 늘린다.

  • growpart /dev/sda 3
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:~#

3. 게스트에서 볼륨 크기 늘리기

논리 볼륨 크기를 늘려준다.

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 명령어를 통해 볼륨 사이즈를 재조정한다.

  • pvresize /dev/sda3
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를 실행하여 논리 볼륨을 가능한 최대로 확장한다.

  • lvextend -r -l +100%FREE /dev/mapper/vgubuntu-root
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줄 요약

  1. C:\Program Files\Oracle\VirtualBox" modifyhd "C:\Users\[사용자이름]\Virtual Box VMs\ubuntu\ubuntu.vdi" --resize [용량]
  2. growpart /dev/sda 3
  3. pvresize /dev/sda3
  4. lvextend -r -l +100%FREE /dev/mapper/vgubuntu-root
profile
개발자입니당 *^^* 깃허브 https://github.com/pikamonvvs

0개의 댓글