VM LVM 환경 ROOT 디스크 확장시키기
작업하면서 한번쯤은하는 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 환경이 아닐때 하는법을 작성하겠습니다.