Ubuntu 22.04 LVM 디스크 용량 확장 방법 (100GB → 3.6TB 적용 사례)

Ubuntu 22.04 LVM 환경에서 루트 디스크가 100GB만 할당되어 용량 부족이 발생한 경우, lvextend와 resize2fs를 이용해 3.6TB 전체 공간을 활용하는 방법을 정리했습니다. GitLab, Nexus, Docker Registry, AI 모델 서버 운영 시 유용한 실무 가이드입니다.

Ubuntu 22.04 LVM 디스크 용량 확장 방법 (100GB → 3.6TB 적용 사례)

Ubuntu 22.04 서버를 구축한 후 GitLab, Nexus Repository, Docker Registry, AI 모델(vLLM) 등을 운영하다 보면 예상보다 빠르게 디스크 용량이 부족해지는 경우가 있습니다. 특히 Ubuntu를 LVM(Logical Volume Manager) 구조로 설치한 경우 실제 디스크는 수 TB 이상인데 루트(/) 파티션은 100GB만 할당되어 있는 사례가 자주 발생합니다.

이번 글에서는 Ubuntu 22.04 LVM 환경에서 루트 볼륨을 100GB에서 3.6TB로 확장하여 디스크 공간 부족 문제를 해결한 과정을 정리해 보겠습니다.


테스트 환경

항목내용
OS Ubuntu 22.04.5 LTS
디스크 NVMe SSD 4TB
파티션 구조 LVM
파일 시스템 ext4

증상: 루트 디스크 사용률 98%

먼저 현재 디스크 사용량을 확인합니다.

 
df -T /
 

결과

Filesystem                        Type 1K-blocks     Used Available Use% Mounted on
/dev/mapper/ubuntu--vg-ubuntu--lv ext4 102626232 94642964 2724004 98% /
 

확인 결과 루트 파일 시스템은 약 100GB 크기이며 사용률이 98%에 도달한 상태였습니다.

이 상태에서는 다음과 같은 문제가 발생할 수 있습니다.

  • GitLab 저장소 생성 실패
  • Nexus Artifact 업로드 실패
  • Docker 이미지 Pull 및 Build 실패
  • AI 모델 다운로드 중단
  • 로그 파일 기록 실패

운영 서버에서는 매우 위험한 상태입니다.


실제 디스크 용량 확인

먼저 서버에 연결된 디스크를 확인합니다.

 
lsblk
 

결과

nvme0n1                   3.6T
├─nvme0n1p1               1G
├─nvme0n1p2               2G
└─nvme0n1p3               3.6T
  └─ubuntu--vg-ubuntu--lv 100G
 

여기서 중요한 사실을 확인할 수 있습니다.

항목용량
실제 SSD 3.6TB
루트 LV 100GB

즉 디스크 공간 자체가 부족한 것이 아니라 LVM에 공간이 할당되지 않은 상태였습니다.


LVM 상태 확인

Ubuntu LVM 환경에서는 Physical Volume(PV), Volume Group(VG), Logical Volume(LV) 순서로 용량이 관리됩니다.

현재 상태를 확인합니다.

Physical Volume 확인

 
sudo pvs
 

결과

PV             VG        PSize  PFree
/dev/nvme0n1p3 ubuntu-vg 3.64T  3.54T
 

Volume Group 확인

 
sudo vgs
 

결과

VG        #PV #LV VSize  VFree
ubuntu-vg   1   1 3.64T  3.54T
 

Logical Volume 확인

 
sudo lvs
 

결과

LV        VG        LSize
ubuntu-lv ubuntu-vg 100.00g
 

원인 분석

Ubuntu 설치 시 LVM 옵션을 선택하면 기본적으로 Logical Volume이 생성됩니다.

하지만 설치 과정에서 루트 볼륨 크기를 별도로 지정했거나 기본 설정이 적용되면 다음과 같은 구조가 만들어질 수 있습니다.

전체 디스크 : 3.6TB

LV 할당 : 100GB
VG 미사용 공간 : 3.5TB
 

즉 실제 디스크는 충분하지만 운영체제가 사용할 수 있는 루트 파일 시스템은 100GB뿐인 상태입니다.


Ubuntu LVM 용량 확장 방법

남아 있는 모든 공간을 루트 볼륨에 추가합니다.

 
sudo lvextend -r -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
 

옵션 설명

옵션설명
-l +100%FREE 남은 공간 전체 사용
-r 파일 시스템 자동 확장
lvextend Logical Volume 확장

명령 실행 후 별도의 재부팅 없이 즉시 적용됩니다.


확장 결과 확인

다시 디스크 사용량을 확인합니다.

 
df -h /
 

결과

Filesystem                         Size  Used Avail Use% Mounted on
/dev/mapper/ubuntu--vg-ubuntu--lv  3.6T   91G  3.4T   3% /
 

기존 100GB였던 루트 디스크가 전체 3.6TB로 확장된 것을 확인할 수 있습니다.


확장 전후 비교

구분확장 전확장 후
루트 볼륨 크기 100GB 3.6TB
사용 가능 공간 약 2.7GB 약 3.4TB
사용률 98% 3%

운영 가능한 여유 공간이 크게 확보되었습니다.


lvextend 실행 시 오류가 발생하는 경우

일부 환경에서는 -r 옵션을 사용해도 파일 시스템 확장이 자동으로 진행되지 않을 수 있습니다.

이 경우 다음 순서로 진행합니다.

1. Logical Volume 확장

 
sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
 

2. ext4 파일 시스템 확장

 
sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
 

3. 결과 확인

 
df -h /
 

운영 서버에서 작업 전 주의사항

LVM 확장은 일반적으로 안전한 작업이지만 운영 서버에서는 항상 백업 후 진행하는 것이 좋습니다.

예를 들어 웹 서버 데이터는 다음과 같이 백업할 수 있습니다.

 
tar czf backup.tar.gz /var/www
 

GitLab 서버라면 다음 경로도 반드시 확인해야 합니다.

/var/opt/gitlab
 

Nexus Repository를 운영 중이라면 데이터 저장소도 백업하는 것이 좋습니다.

/nexus-data
 

Docker Registry를 사용하는 경우 이미지 저장 경로도 함께 백업하는 것을 권장합니다.

/var/lib/docker
 

실무에서 자주 사용하는 LVM 확인 명령어

디스크 구조 확인

 
lsblk
 

Physical Volume 확인

 
sudo pvs
 

Volume Group 확인

 
sudo vgs
 

Logical Volume 확인

 
sudo lvs
 

파일 시스템 사용량 확인

 
df -h
 

FAQ

Ubuntu LVM 확장 시 재부팅이 필요한가요?

아닙니다. 일반적으로 lvextend와 resize2fs는 온라인 상태에서 수행 가능하며 재부팅 없이 즉시 적용됩니다.

XFS 파일 시스템도 동일한가요?

아닙니다.

XFS는 resize2fs 대신 다음 명령을 사용합니다.

 
sudo xfs_growfs /
 

LVM이 아닌 일반 파티션도 확장 가능한가요?

가능하지만 growpart, parted, fdisk 등을 사용해야 하며 절차가 LVM보다 복잡합니다.

전체 공간 대신 일부만 확장할 수 있나요?

가능합니다.

예를 들어 500GB만 추가하려면 다음과 같이 실행합니다.

 
sudo lvextend -L +500G /dev/ubuntu-vg/ubuntu-lv
 

마무리

Ubuntu 22.04 LVM 환경에서는 실제 디스크 용량이 충분해도 Logical Volume 크기가 작게 설정되어 있으면 디스크 공간 부족 문제가 발생할 수 있습니다.

이번 사례에서는 3.6TB SSD를 사용하고 있었지만 루트 Logical Volume은 100GB만 할당되어 있었고, 나머지 3.5TB 이상이 미사용 상태로 남아 있었습니다. 다행히 lvextend 명령 한 번으로 전체 공간을 루트 파일 시스템에 할당하여 문제를 해결할 수 있었습니다.

GitLab, Nexus Repository, Docker Registry, Jenkins, Harbor, AI 모델 서버(vLLM) 등 대용량 데이터를 저장하는 서비스를 운영할 계획이라면 서버 구축 직후 pvs, vgs, lvs 명령으로 LVM 상태를 반드시 확인해 보시기 바랍니다.


 

Ubuntu,LVM,Ubuntu22.04,lvextend,resize2fs,디스크확장,Linux,서버운영,GitLab,Nexus,Docker,vLLM,NVMeSSD,UbuntuLVM,LogicalVolume