SE업무/OS

VM LVM 환경 ROOT 디스크 확장시키기

에륜 2021. 5. 13. 01:05
반응형

작업하면서 한번쯤은하는 VM의 ROOT 디스크 확장 과정을 정리해봤다.

물론 OS 디스크볼륨은 따로 data볼륨은 따로해서 OS볼륨은 안 건드는 구조가 제일 좋다.!

하지만 이미지를 뜬 서버로 초기세팅시 OS볼륨을 기본크기를 특별히 요청한다면 아래 작업이 필요하다

가끔씩해서 까먹어서 내가 보는 용도로 작성한다.

 

테스트환경 : 

윈도우OS PC의 무료 가상머신인 Virtual BOX에서 실행 중인 CentOS7

 

1. 먼저 lsblk와 df -h로 현재 디스크 용량 체크

[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sr0              11:0    1 58.2M  0 rom
[root@localhost ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 908M     0  908M   0% /dev
tmpfs                    919M     0  919M   0% /dev/shm
tmpfs                    919M  8.7M  911M   1% /run
tmpfs                    919M     0  919M   0% /sys/fs/cgroup
/dev/mapper/centos-root   17G  1.7G   16G  10% /
/dev/sda1               1014M  197M  818M  20% /boot
tmpfs                    184M     0  184M   0% /run/user/0

root 디스크가 20GB이다 너무 적으니 확장시켜보겠다.

 

서버 종료후 이제 디스크 확장을 하겠다.

(AWS의 경우 서버 종료없이 가능하다)

 

2. 디스크 확장

AWS가 될수도 있고 Hyper-V가 될수도있다

각각에 맞게 디스크 확장하면된다.

 

Virtual Box의 경우 VBoxMange 커맨드를 써서 디스크크기가 수정가능하다.

cd C:\Program Files\Oracle\VirtualBox

C:\Program Files\Oracle\VirtualBox>VBoxManage modifyhd "C:\Users\계정명\VirtualBox VMs\CentOS7\CentOS7.vdi" --resize 51200

50GB로 증가시켜봤다.

버츄얼박스 관리자에도 정상인식하였다

다시 서버를 시작하자.

 

3. 디스크 용량 확인

[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   50G  0 disk
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sr0              11:0    1 58.2M  0 rom
[root@localhost ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 908M     0  908M   0% /dev
tmpfs                    919M     0  919M   0% /dev/shm
tmpfs                    919M  8.6M  911M   1% /run
tmpfs                    919M     0  919M   0% /sys/fs/cgroup
/dev/mapper/centos-root   17G  1.7G   16G  10% /
/dev/sda1               1014M  197M  818M  20% /boot
tmpfs                    184M     0  184M   0% /run/user/0

lsblk에서는 sda가 50GB로 보이지만 실제 사용하는 root 경로는 아직 17GB이다.

sda2를 확장시켜야한다.

 

4.growpart 명령어로 확장

growpart 설치 명령어 :  yum install cloud-utils-growpart

[root@localhost ~]# growpart /dev/sda 2 #lsblk에서 확인한 sda2의 디스크 넘버는 2임으로 증가시킨다.
CHANGED: partition=2 start=2099200 old: size=39843840 end=41943040 new: size=102758367 end=104857567
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   50G  0 disk
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   49G  0 part
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sr0              11:0    1 58.2M  0 rom

[root@localhost ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 908M     0  908M   0% /dev
tmpfs                    919M     0  919M   0% /dev/shm
tmpfs                    919M  8.6M  911M   1% /run
tmpfs                    919M     0  919M   0% /sys/fs/cgroup
/dev/mapper/centos-root   17G  1.7G   16G  10% /
/dev/sda1               1014M  197M  818M  20% /boot
tmpfs                    184M     0  184M   0% /run/user/0

증가하였지만 아직 sda2까지만 증가하였고 / 경로는 아직 증가하지않았다.

 

5.pvresize 명령어로 VG 그룹에 디스크 할당

[root@localhost ~]# vgdisplay
  --- Volume group ---
  VG Name               centos
  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.00 GiB
  PE Size               4.00 MiB
  Total PE              4863
  Alloc PE / Size       4863 / <19.00 GiB
  Free  PE / Size       0 / 0
  VG UUID               FGDVoX-2npv-SWxV-qokL-vq0H-6e8c-nRCdyJ
#현재는 물리파티션에 용량을 추가하였지만 할당하지 않아서 안보이는 상태

[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 ~]# vgdisplay
  --- Volume group ---
  VG Name               centos
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  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               <49.00 GiB
  PE Size               4.00 MiB
  Total PE              12543
  Alloc PE / Size       4863 / <19.00 GiB
  Free  PE / Size       7680 / 30.00 GiB
  VG UUID               FGDVoX-2npv-SWxV-qokL-vq0H-6e8c-nRCdyJ
#현재는 할당하였지만 논리 파티션에 할당을 안해서 Free SIZE가 보인다.

 

6. lvextend 명령어로 실제 lvm 용량 확장

[root@localhost ~]# lvextend -r -l +100%FREE /dev/mapper/centos-root
  Size of logical volume centos/root changed from <17.00 GiB (4351 extents) to <47.00 GiB (12031 extents).
  Logical volume centos/root successfully resized.
meta-data=/dev/mapper/centos-root isize=512    agcount=4, agsize=1113856 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=4455424, 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 4455424 to 12319744

[root@localhost ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 908M     0  908M   0% /dev
tmpfs                    919M     0  919M   0% /dev/shm
tmpfs                    919M  8.6M  911M   1% /run
tmpfs                    919M     0  919M   0% /sys/fs/cgroup
/dev/mapper/centos-root   47G  1.7G   46G   4% /
/dev/sda1               1014M  197M  818M  20% /boot
tmpfs                    184M     0  184M   0% /run/user/0

완료하였다.

 

다음글은 LVM 환경이 아닐때 하는법을 작성하겠습니다.

반응형