본문 바로가기
Infrastructure/Linux

[Linux] VirtualBox 리눅스(CentOS 7) 용량 늘리기

by jaegom 2023. 5. 3.

먼저 리눅스에서 lvm으로 저장소를 관리하려면

디스크 마운트 -> 물리적 볼륨(physical volume) 생성 -> 논리적 볼륨(logical volume) 생성

 

데이터베이스 이관 연습 도중 VDI 용량이 부족해서 에러가 발생하였다.

기존 VDI가 고정 용량  VDI라면 절차는 다음과 같다.

 

용량 확장 절차

1. 고정 사이즈 VDI일 경우 동적 할당 VDI로 복사

2. 동적할당 VDI의 용량 증량(Virtualbox GUI로 진행하거나 코드로 진행)

-> 스냅샷이 있다면 가상미디어 관리자에서 드롭다운 화살표로 모든 용량을 바꿔줘야 인식이 된다. 아니면 스냅샷 별로 용량을 설정할 수도 있음.

ex)

C:\Program Files\Oracle\VirtualBox>VBoxManage.exe modifyhd "C:\Users\Jasonlt\VirtualBox VMs\Single\Single_copy.vdi" --resize 30000

3. df와 lsblk로 파일시스템과 부트파일 위치, 용량 등 확인.

 



현재 sda2 파티션에서 centos-root와 centos-swap이라는 논리적 볼륨으로 나뉘어 있음.

4. vgdisplay로 잔여용량 확인 (Free pe/Size)

-> 0/0

5. yum install cloud-utils-growpart

6. growpart /dev/sda 2

# CHANGED: partition=2 start=2099200 old: size=18872320 end=20971520 new: size=62912479 end=65011679

-> sda2 30기가로 증량


7. 물리적 볼륨 재조정

pvresize /dev/sda2

-> Free PE / Size 생성

8. 논리적 볼륨 /dev/mapper/centos-root 에 용량 최대한 할당. 

lvextend -r -l +100%FREE /dev/mapper/centos-root

-> centos-root 증량 완료.

 

 

ex)

[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   40G  0 disk
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part
  ├─centos-root 253:0    0   18G  0 lvm  /
  └─centos-swap 253:1    0    1G  0 lvm  [SWAP]
sr0              11:0    1 1024M  0 rom
[root@localhost ~]# growpart /dev/sda 2
CHANGED: partition=2 start=2099200 old: size=39843807 end=41943007 new: size=81786847 end=83886047
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   40G  0 disk
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   39G  0 part
  ├─centos-root 253:0    0   18G  0 lvm  /
  └─centos-swap 253:1    0    1G  0 lvm  [SWAP]
sr0              11:0    1 1024M  0 rom
[root@localhost ~]# pvresize /dev/sda2
  Physical volume "/dev/sda2" changed
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   40G  0 disk
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   39G  0 part
  ├─centos-root 253:0    0   18G  0 lvm  /
  └─centos-swap 253:1    0    1G  0 lvm  [SWAP]
sr0              11:0    1 1024M  0 rom
[root@localhost ~]# lvextend -r -l +100%FREE /dev/mapper/centos-root
  Size of logical volume centos/root changed from <18.00 GiB (4607 extents) to <38.00 GiB (9727 extents).
  Logical volume centos/root successfully resized.
meta-data=/dev/mapper/centos-root isize=512    agcount=10, agsize=524032 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=4717568, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 4717568 to 9960448
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   40G  0 disk
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   39G  0 part
  ├─centos-root 253:0    0   38G  0 lvm  /
  └─centos-swap 253:1    0    1G  0 lvm  [SWAP]
sr0              11:0    1 1024M  0 rom
[root@localhost ~]#

 

댓글