이전에 올린 리눅스에서 LVM 설정 하기 (LVM 구성 및 파일시스템 생성) 에 이이서 이번엔 LVM 확장(증설) 및 파일시스템 확장하는 방법에 대한 내용이다.
2. LVM 확장(증설) 및 파일시스템 확장
LVM으로 구성된 환경에서 디스크를 추가하여 vg 및 lv의 용량을 늘리고 아울러 파일시스템의 용량까지 증설해 보자
지난 글에 이어서 진행 하는 거라 테스트 환경은 이전과 동일하다.
테스트 환경
OS : Rocky 9.7
디스크 : 로컬디스크 900GB (OS영역)
EMC 스토리지 디스크 300GB
1. 현재 디스크 정보 확인
스토리지에서 할당한 디스크 300GB를 100GB와 200GB로 나누어 파일시스템을 구성하였다.
| ▶ pv 확인 [root@rocky:/]# pvs PV VG Fmt Attr PSize PFree /dev/sda3 rl lvm2 a-- <835.75g 0 /dev/sdb datavg lvm2 a-- 300.00g 0 ▶ vg 확인 [root@rocky:/]# vgs VG #PV #LV #SN Attr VSize VFree datavg 1 2 0 wz --n- <300.00g 0 rl 1 2 0 wz --n- <835.75g 0 ▶ lv 확인 [root@rocky:/]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert datalv datavg -wi-ao---- 100.00g datalv2 datavg -wi-ao---- <200.00g root rl -wi-ao---- <827.75g swap rl -wi-ao---- 8.00g [root@rocky:/]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 837.8G 0 disk ├─sda1 8:1 0 1G 0 part /boot/efi ├─sda2 8:2 0 1G 0 part /boot └─sda3 8:3 0 835.7G 0 part ├─rl-root 253:0 0 827.7G 0 lvm / └─rl-swap 253:1 0 8G 0 lvm [SWAP] sdb 8:16 0 300G 0 disk ├─datavg-datalv 253:2 0 100G 0 lvm └─datavg-datalv2 253:3 0 200G 0 lvm [root@rocky:/]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 4.0M 0 4.0M 0% /dev tmpfs 63G 0 63G 0% /dev/shm tmpfs 26G 9.9M 26G 1% /run efivarfs 64K 60K 0 100% /sys/firmware/efi/efivars /dev/mapper/rl-root 828G 12G 816G 2% / /dev/sda2 960M 366M 595M 39% /boot /dev/sda1 1022M 7.1M 1015M 1% /boot/efi tmpfs 13G 52K 13G 1% /run/user/42 tmpfs 13G 36K 13G 1% /run/user/0 /dev/mapper/datavg-datalv 98G 24K 93G 1% /data /dev/mapper/datavg-datalv2 200G 1.5G 199G 1% /data2 |
2. EMC 스토리지에서 서버로 100GB를 추가로 할당
신규로 할당한 100GB 디스크는 sdc로 인식 되었다.
| [root@rocky:/]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 837.8G 0 disk ├─sda1 8:1 0 1G 0 part /boot/efi ├─sda2 8:2 0 1G 0 part /boot └─sda3 8:3 0 835.7G 0 part ├─rl-root 253:0 0 827.7G 0 lvm / └─rl-swap 253:1 0 8G 0 lvm [SWAP] sdb 8:16 0 300G 0 disk ├─datavg-datalv 253:2 0 100G 0 lvm └─datavg-datalv2 253:3 0 200G 0 lvm sdc 8:32 0 100G 0 disk |
3. vg 확장
기존 300GB 크기의 datavg에 100GB 디스크를 추가하여 400GB짜리 datavg로 확장
| ▶ vgextend 명령어로 vg 확장하기 [root@rocky:/]# vgextend datavg /dev/sdc <=== datavg에 /dev/sdc 디스크를 추가하여 vg를 확장 함 Physical volume "/dev/sdc" successfully created. <=== pvcreate /dev/sdc 가 자동으로 실행됨 Volume group "datavg" successfully extended * 만약에 오래된 버전의 OS를 사용중이면 pvcreate /dev/sdc를 먼저 수행 후 vgextend를 진행해야 한다. ▶ 변경된 디스크 정보 확인 [root@rocky:/]# pvs PV VG Fmt Attr PSize PFree /dev/sda3 rl lvm2 a-- <835.75g 0 /dev/sdb datavg lvm2 a-- 300.00g 0 /dev/sdc datavg lvm2 a-- <100.00g <100.00g <=== /dev/sdc 디스크가 datavg에 포함됨 ▶ vg 확인 [root@rocky:/]# vgs VG #PV #LV #SN Attr VSize VFree datavg 2 2 0 wz --n- 399.99g <100.00g <=== datavg의 PV가 2개로 늘어났고 Size 및 Free도 늘어남 rl 1 2 0 wz --n- <835.75g 0 |
4. lv 확장
늘어난 100GB의 용량을 datalv에 20GB를 추가 하고 datalv2에 남은 모든 용량을 추가해 보자
datalv : 100GB -> 120GB
datalv2 : 200GB -> 약280GB (200GB + 남은 용량)
* 주위 : LVM은 언제든지 용량을 늘릴 수 있지만 줄이는 것은 불가능하다. 한번 늘린 용량은 절대 회수가 안되니 용량을 설정할 때
신중한 판단을 하기 바란다.
lv를 확장하기 전에 알아 둬야 할 옵션이 있는데 바로 -r 옵션이다.
-r 옵션은 resizefs 명령어로 파일시스템을 늘어난 용량 만큼 resize 해주는 옵션이다.
단순히 lv를 늘린다고 해당 파일시스템의 용량도 늘어 나는 것이 아니다.
lv를 확장하고 파일시스템을 늘려주는 작업의 구체적인 순서를 보면
1) lvextend 명령어로 lv 늘리기
=> lvextend -L +20G /dev/mapper/datavg-datalv 명령어 실행
=> datalv의 용량이 20GB만큼 늘어남 (100GB => 120GB)
=> 하지만 datalv를 사용하는 /data 파일시스템의 용량은 아직 그대로 임 (/data 100GB)
2) 늘어난 lv의 크기 만큼 파일리스템 용량 늘리기
=> resize2fs /dev/mapper/datavg-datalv 명령어 실행
=> datalv를 사용하는 /data 파일시스템의 용량 늘어남 (/data 120GB)
이때 lvextend 할때 -r 옵션을 주면 resize2fs 명령어를 한번에 실행 할수 있다.
3) -r 옵션을 사용하여 lv 늘리기
=> lvextend -rL +20G /dev/mapper/datavg-datalv 명령어 실행
=> datalv의 용량이 20GB만큼 늘어남 (100GB => 120GB)
=> datalv를 사용하는 /data 파일시스템의 용량도 같이 늘어남 (/data 100GB => 120GB)
즉, -r 옵션을 사용하면 단순히 lv만 확장해 주는게 아니고 해당 파일시스템의 용량까지 한번에 늘려 준다.
* 파일시스템의 타입이 ext4 이면 resize2fs 명령어를 xfs이면 xfs_growfs 명령어를 사용한다.
| ▶ datalv의 용량을 20GB 늘리기 [root@rocky:/]# lvextend -L +20G /dev/mapper/datavg-datalv <=== -r 옵션 x Size of logical volume datavg/datalv changed from 100.00 GiB (25600 extents) to 120.00 GiB (30720 extents). Logical volume datavg/datalv successfully resized. ▶ datalv2의 용량을 남은 공간 모두로 늘리기 [root@rocky:/]# lvextend -rl +100%FREE /dev/mapper/datavg-datalv2 <=== -r 옵션 적용 File system xfs found on datavg/datalv2 mounted at /data2. Size of logical volume datavg/datalv2 changed from <200.00 GiB (51199 extents) to 279.99 GiB (71678 extents). Extending file system xfs to 279.99 GiB (300639322112 bytes) on datavg/datalv2... xfs_growfs /dev/datavg/datalv2 <=== 파일시스템 resize 작업 진행 meta-data=/dev/mapper/datavg-datalv2 isize=512 agcount=16, agsize=3276736 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=1, sparse=1, rmapbt=0 = reflink=1 bigtime=1 inobtcount=1 nrext64=0 data = bsize=4096 blocks=52427776, imaxpct=25 = sunit=2 swidth=1024 blks naming =version 2 bsize=4096 ascii-ci=0, ftype=1 log =internal log bsize=4096 blocks=25600, version=2 = sectsz=512 sunit=2 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 52427776 to 73398272 xfs_growfs done Extended file system xfs on datavg/datalv2. Logical volume datavg/datalv2 successfully resized. ▶ vg 확인 [root@rocky:/]# vgs VG #PV #LV #SN Attr VSize VFree datavg 2 2 0 wz --n- 399.99g 0 <=== datavg의 PV가 2개로 늘어났고 Size 및 Free도 늘어남 rl 1 2 0 wz --n- <835.75g 0 ▶ lv 확인 [root@rocky:/]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert datalv datavg -wi-ao---- 120.00g <=== Size가 120GB로 늘어남 datalv2 datavg -wi-ao---- <279.99g <=== Size가 약 279.99GB로 늘어남 root rl -wi-ao---- <827.75g swap rl -wi-ao---- 8.00g ▶ df -h 확인 [root@rocky:/]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 4.0M 0 4.0M 0% /dev tmpfs 63G 0 63G 0% /dev/shm tmpfs 26G 9.9M 26G 1% /run efivarfs 64K 60K 0 100% /sys/firmware/efi/efivars /dev/mapper/rl-root 828G 12G 816G 2% / /dev/sda2 960M 366M 595M 39% /boot /dev/sda1 1022M 7.1M 1015M 1% /boot/efi tmpfs 13G 52K 13G 1% /run/user/42 tmpfs 13G 36K 13G 1% /run/user/0 /dev/mapper/datavg-datalv 98G 24K 93G 1% /data <=== -r 옵션 미사용으로 파일시스템 용량 변동 없음 /dev/mapper/datavg-datalv2 280G 2.0G 278G 1% /data2 <=== -r 옵션 사용으로 파일시스템 용량이 늘어남 |
5. 파일시스템 늘리기
lvextend 명령어를 실행 할때 -r 옵션을 주지 않았다면 파일시스템을 늘려주는 작업을 해줘야 한다.
사용중인 파일시스템의 타입이 ext4 이면 resize2fs 명령어를 사용해야 하고 xfs이면 xfs_growfs 명령어를 사용한다.
| 타입 | 명령어 | 예시 |
| ext4, ext3 | resize2fs | # resize2fs /dev/mapper/datavg-datalv |
| xfs | xfs_gorwfs | # xfs_growfs /dev/mapper/datavg-datalv2 |
| ▶ /data 파일시스템 용량 늘리기 (ext4) [root@rocky:/]# resize2fs /dev/mapper/datavg-datalv resize2fs 1.46.5 (30-Dec-2021) Filesystem at /dev/mapper/datavg-datalv is mounted on /data; on-line resizing required old_desc_blocks = 13, new_desc_blocks = 15 The filesystem on /dev/mapper/datavg-datalv is now 31457280 (4k) blocks long. ▶ df -h 확인 [root@rocky:/]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 4.0M 0 4.0M 0% /dev tmpfs 63G 0 63G 0% /dev/shm tmpfs 26G 9.9M 26G 1% /run efivarfs 64K 60K 0 100% /sys/firmware/efi/efivars /dev/mapper/rl-root 828G 12G 816G 2% / /dev/sda2 960M 366M 595M 39% /boot /dev/sda1 1022M 7.1M 1015M 1% /boot/efi tmpfs 13G 52K 13G 1% /run/user/42 tmpfs 13G 36K 13G 1% /run/user/0 /dev/mapper/datavg-datalv 118G 24K 112G 1% /data <=== 파일시스템 용량이 늘어남 /dev/mapper/datavg-datalv2 280G 2.0G 278G 1% /data2 |
'Technical > System' 카테고리의 다른 글
| vSphere에서 디스크 공유 설정하는 방법 (0) | 2026.10.19 |
|---|---|
| 리눅스에서 신규 디스크 인식하는 방법 (0) | 2026.06.11 |
| 1. 리눅스에서 LVM 설정 하기 (LVM 구성 및 파일시스템 생성) (0) | 2026.06.09 |
| [Windows] forfiles.exe를 이용하여 오래된 로그 삭제 (0) | 2025.11.27 |
| Linux 로그 수집 기간 변경하는 법 (0) | 2025.09.29 |
댓글