카테고리 없음

LVM 구성 방법 :: 논리 볼륨 관리로 유연한 디스크 관리하기

gamjadori 2026. 8. 9. 00:02
728x90

LVM 구성 방법 :: 논리 볼륨 관리로 유연한 디스크 관리하기


LVM:  Logical Volume Manager의 약자로 물리 디스크를 파티션처럼 딱 고정된 크기로 나누는 대신 유연하게 늘리고 줄일 수 있는 가상의 논리 단위로 관리하는 방식

기존 방식(일반 파티션)의 한계부터 보면 이해가 쉬움:
일반적으로 디스크를 파티션(예: /dev/nvme0n1p1, /dev/nvme0n1p2)으로 나누면, 한번 크기를 정하면 나중에 늘리거나 줄이기가 까다로움. 예를 들어 파티션 하나가 공간이 부족해졌는데 바로 옆 파티션에 여유가 있어도, 그 여유 공간을 가져다 쓰기가 구조적으로 번거로움.

LVM은 이 사이에 한 단계를 더 끼워 넣어서 유연하게 만듦:

물리 볼륨(PV, Physical Volume)
실제 디스크나 파티션 자체 (예: /dev/nvme0n1p2)

볼륨 그룹(VG, Volume Group)
여러 개의 물리 볼륨을 하나로 묶은 저장 공간 풀 — 디스크 두 개를 하나의 풀로 합칠 수도 있음

논리 볼륨(LV, Logical Volume)
이 풀에서 필요한 만큼 잘라서 만든 실제 사용 공간 — 이게 우리가 마운트해서 쓰는 단위

이 구조 덕분에 나중에 공간이 부족하면, 새 디스크를 볼륨 그룹에 추가하고 논리 볼륨 크기를 그 자리에서 늘릴 수 있음. 서버를 끄거나 재설치할 필요 없이. 그리고 아까 얘기했던 스냅샷 기능도 이 구조 위에서 지원되는 것.

여러 개의 물리 디스크를 하나처럼 묶어 쓰고 싶을 때
디스크 여러 개를 붙여서 하나의 큰 저장 공간처럼 쓰고 싶은 경우 (예: 500G 디스크 두 개를 합쳐서 1T처럼 사용)
파티션 방식으로는 불가능한 구조를 LVM 볼륨 그룹으로는 자연스럽게 구현 가능

정기적인 스냅샷 백업이 필요할 때
특정 시점 상태를 스냅샷으로 떠두고, 문제 생기면 그 시점으로 되돌릴 수 있어야 하는 서버
패치나 업데이트 전에 스냅샷을 떠두는 식으로 활용하면 롤백이 훨씬 빠름 (오늘 얘기했던 사전 예방 방법 중 하나)

테스트/개발 환경처럼 자주 볼륨을 만들고 지워야 할 때
가상 머신이나 컨테이너 환경 구축 시, 필요할 때마다 논리 볼륨을 만들었다 지웠다 하며 유연하게 운영해야 하는 경우



준비 사항
LVM 도구 설치

sudo apt install lvm2 -y

 


>> LVM 관련 명령어(pvcreate, vgcreate, lvcreate 등)를 사용하기 위한 패키지 설치

 



현재 디스크 구조 확인

lsblk


시스템에 연결된 디스크와 파티션 목록 확인, LVM으로 구성할 새 디스크나 파티션이 있는지 파악

주의할 점
이미 데이터가 있고 사용 중인 파티션을 LVM으로 바꾸는 건 데이터가 모두 삭제되는 작업임
그래서 보통은 새로 추가한 디스크나 파티션(예: /dev/sdb처럼 아직 아무 데이터도 없는 디스크)을 대상으로 진행
실습은 반드시 테스트용 디스크나 가상 디스크에서 진행할 것

1단계, 물리 볼륨(PV) 생성
sudo pvcreate /dev/sdb

 



/dev/sdb라는 디스크를 LVM이 관리할 수 있는 물리 볼륨으로 초기화
실제 디스크 이름은 lsblk 결과에서 확인한 실제 이름으로 바꿔서 입력

확인
sudo pvs

 



생성된 물리 볼륨 목록과 크기 확인

2단계, 볼륨 그룹(VG) 생성
sudo vgcreate my_vg /dev/sdb

 



my_vg라는 이름의 볼륨 그룹을 만들고, 앞서 만든 물리 볼륨을 여기에 포함시킴
여러 개의 물리 볼륨을 한 볼륨 그룹에 묶을 수도 있음 (예: vgcreate my_vg /dev/sdb /dev/sdc)

확인
sudo vgs

 



생성된 볼륨 그룹과 전체 용량 확인

3단계, 논리 볼륨(LV) 생성
sudo lvcreate --extents 100%FREE --name my_lv my_vg

 



my_vg 볼륨 그룹 안에서 10G 크기의 my_lv라는 논리 볼륨 생성
이 논리 볼륨이 실제로 마운트해서 쓸 수 있는 단위

확인
sudo lvs

 



생성된 논리 볼륨 목록과 크기 확인

4단계, 파일시스템 생성 및 마운트
sudo mkfs.ext4 /dev/my_vg/my_lv

 



논리 볼륨 위에 ext4 파일시스템 생성 (포맷)

sudo mkdir -p /mnt/my_lv

마운트할 디렉토리 생성

sudo mount /dev/my_vg/my_lv /mnt/my_lv

 



논리 볼륨을 해당 디렉토리에 마운트

확인
df -h /mnt/my_lv

 



마운트된 논리 볼륨의 용량과 사용률 확인

5단계, 부팅 시 자동 마운트 설정 (선택)
vi /etc/fstab

파일 맨 아래에 다음 줄 추가:
/dev/my_vg/my_lv /mnt/my_lv ext4 defaults 0 0
저장(Esc, :wq) 후 서버 재부팅해도 자동으로 마운트되게 설정