Home Linux AWS Cloud Docker Python AI
클릭하여 터미널 활성화

Linux LVM이란? Rocky Linux 9.2에서 디스크 분리하는 방법

// Linux · LVM · Rocky Linux · 디스크관리 · 실습 · Step by Step
Rocky Linux 9.2 + kernel 5.14.* 환경 — /var/log 로그 디렉터리를 새 디스크에 LVM으로 분리하는 실습 가이드

왜 /var/log를 LVM으로 분리해야 할까?

운영 서버를 운용하다 보면 /var/log 디렉터리가 예상보다 빠르게 가득 차는 경우가 생긴다. 로그가 루트 파티션을 꽉 채워버리면 시스템 전체가 먹통이 될 수 있다. 서비스 장애로 이어지는 흔한 원인 중 하나다.

이 문제를 예방하는 가장 깔끔한 방법이 LVM(Logical Volume Manager)을 활용해 로그 디렉터리를 별도 디스크로 분리하는 것이다. 디스크가 꽉 차도 루트 파티션은 안전하고, 나중에 용량 확장도 서비스 중단 없이 가능하다.

실습 환경
OSRocky Linux 9.2
Kernel5.14.*
목표/var/log 로그 경로를 새 디스크(10GB)에 LVM으로 분리
환경VMware 가상머신 (물리 서버도 동일하게 적용 가능)

1. LVM(Logical Volume Manager)이란?

LVM은 리눅스에서 디스크를 논리적으로 묶어서 유연하게 관리하는 도구다. 물리 디스크나 파티션을 추상화해서, 크기를 동적으로 조정하거나 여러 디스크를 하나처럼 쓸 수 있게 해준다.

LVM 3계층 구조
계층 이름 설명
1계층 PV (Physical Volume) 실제 물리 디스크 또는 파티션. LVM이 인식할 수 있게 초기화한 단위
2계층 VG (Volume Group) 하나 이상의 PV를 묶은 그룹. 스토리지 풀(pool) 개념
3계층 LV (Logical Volume) VG에서 잘라낸 논리 볼륨. 실제로 파티션처럼 마운트해서 사용하는 단위

2. LVM 사용 시 이점

⚡ 유연한 용량 관리
운영 중인 시스템에서도 디스크 공간을 확장하거나 축소할 수 있다. 서비스를 중단하지 않아도 된다.
🔄 실시간 크기 조정
논리 볼륨의 크기를 실시간으로 늘리거나 줄일 수 있다. 파티션 방식으로는 불가능한 작업이다.
📸 스냅샷(Snapshot)
특정 시점의 데이터 상태를 보존할 수 있다. 작업 전 스냅샷을 찍으면 문제가 생겨도 롤백이 가능하다.
💾 디스크 결합
여러 물리 디스크를 하나의 볼륨 그룹으로 묶어 사용할 수 있다. 대용량 스토리지가 필요할 때 유용하다.

3. LVM 주요 명령어 정리

생성 명령어
pvcreate 물리 볼륨 생성 HDD/파티션을 LVM에서 사용 가능한 PV로 초기화
vgcreate 볼륨 그룹 생성 하나 이상의 PV를 묶어 VG(스토리지 풀) 생성
lvcreate 논리 볼륨 생성 VG 내에서 LV를 생성하고 크기를 할당
조회 명령어
pvdisplay 물리 볼륨 이름, 크기, 사용 가능한 공간 등 상세 정보 출력
vgdisplay 볼륨 그룹의 이름, 소속 PV, LV 목록 등 상세 정보 출력
lvdisplay 논리 볼륨의 이름, 크기, 장치 경로 등 상세 정보 출력
관리 명령어
lvresize 논리 볼륨 크기 확장 또는 축소 (주의: 축소 시 데이터 손실 위험)
lvremove 논리 볼륨 삭제, 해당 공간은 VG로 반환됨
💡
각 명령어는 다양한 옵션을 제공한다. 자세한 사용법은 man pvcreate, man lvcreate 등으로 확인하자.

4. 실습 — /var/log LVM 분리 (10GB 디스크 추가)

⚠️
개인 환경마다 디스크 경로가 다르다
아래 예시의 /dev/sdb 경로는 환경마다 다를 수 있다. 반드시 fdisk -l로 먼저 확인 후 본인 환경에 맞는 경로를 사용할 것.
STEP 1 서버에 디스크 추가 (VM 환경)

VMware에서 가상 디스크를 추가한다. VMware 버전에 따라 UI가 다르게 나올 수 있지만 Edit virtual machine settings → Add → Hard Disk 순서로 진행하면 된다.


STEP 2 디스크 추가 확인 — fdisk -l

디스크 추가 후 인식되었는지 확인한다. 가상머신 환경에 따라 /dev/sdb, /dev/vdb 등 경로가 달라질 수 있다.

# 디스크 목록 확인
$ sudo fdisk -l
# 새로 추가된 디스크가 /dev/sdb 등으로 나타남

STEP 3 물리 볼륨(PV) 생성 — pvcreate

추가한 디스크를 LVM이 인식할 수 있도록 물리 볼륨으로 초기화한다. /dev/path 부분을 앞 단계에서 확인한 경로로 교체해야 한다.

# fdisk에서 확인한 경로로 PV 생성
$ sudo pvcreate /dev/sdb
# 성공 시: Physical volume "/dev/sdb" successfully created.

STEP 4 볼륨 그룹(VG) 생성 — vgcreate

PV를 묶어서 볼륨 그룹을 만든다. 이 그룹이 논리 볼륨을 만드는 스토리지 풀 역할을 한다. 이름은 원하는 대로 지정하면 된다. (예시에서는 myvlog)

# myvlog라는 이름의 볼륨 그룹 생성, /dev/sdb를 포함
$ sudo vgcreate myvlog /dev/sdb
# 성공 시: Volume group "myvlog" successfully created

STEP 5 논리 볼륨(LV) 생성 — lvcreate

볼륨 그룹에서 논리 볼륨을 잘라낸다. -l 100%FREE 옵션을 쓰면 VG의 남은 공간을 전부 할당한다.

# loglv라는 이름의 LV 생성, myvlog VG의 100% 공간 할당
$ sudo lvcreate -n loglv -l 100%FREE myvlog
# 특정 크기만 할당하고 싶다면 -L 옵션 사용
$ sudo lvcreate -n loglv -L 8G myvlog

STEP 6 파일시스템 생성 — mkfs.ext4

논리 볼륨에 파일시스템을 생성한다. 파일시스템이 없으면 데이터를 읽고 쓸 수 없다. Rocky Linux에서 일반적으로 ext4 또는 xfs를 사용한다.

# ext4 파일시스템 생성
$ sudo mkfs.ext4 /dev/myvlog/loglv
# xfs를 선호한다면
$ sudo mkfs.xfs /dev/myvlog/loglv
💡
ext4 vs xfs
ext4는 안정성이 높고 소규모 파일 처리에 강하다. xfs는 대용량 파일과 병렬 I/O에 유리하며 Rocky Linux의 기본 파일시스템이다. 로그 저장용이라면 어느 쪽이든 무방하다.

STEP 7 임시 마운트 후 기존 로그 복사 — rsync

새 LV를 /mnt에 임시 마운트하고, 기존 /var/log의 내용을 통째로 복사한다. rsync -av는 파일 권한·소유자·타임스탬프까지 모두 보존하면서 복사한다.

# LV를 /mnt에 임시 마운트
$ sudo mount /dev/myvlog/loglv /mnt
# 기존 /var/log 내용을 /mnt로 복사 (권한·소유자 유지)
$ sudo rsync -av /var/log/ /mnt
⚠️
rsync 경로 슬래시에 주의/var/log/(슬래시 있음)는 디렉터리 안의 내용을 복사한다. /var/log(슬래시 없음)는 디렉터리 자체를 복사해서 /mnt/log/가 된다.

STEP 8 기존 로그 백업 후 임시 마운트 해제 — umount

임시 마운트를 해제하기 전에 기존 /var/log를 백업 디렉터리에 보관해두는 것이 안전하다. 문제가 생겼을 때 복원할 수 있다.

# 임시 마운트 해제 (반드시 먼저 해야 함)
$ sudo umount /mnt
# 기존 /var/log를 백업 디렉터리로 복사
$ sudo cp -a /var/log /var/log_backup

STEP 9 fstab 등록 — 재부팅 후 자동 마운트

재부팅해도 LV가 /var/log에 자동으로 마운트되도록 /etc/fstab에 등록한다. fstab 설정이 잘못되면 부팅이 안 될 수 있으니 신중하게 작성해야 한다.

# fstab 편집
$ sudo vi /etc/fstab
# 아래 줄 추가 (형식: 장치경로 마운트포인트 파일시스템 옵션 dump pass)
/dev/myvlog/loglv /var/log ext4 defaults 0 0
# 저장 후 fstab 즉시 적용
$ sudo mount -a
⚠️
fstab 오타는 부팅 실패로 이어진다
mount -a 명령어 실행 시 에러가 없으면 정상이다. 에러가 나면 fstab을 다시 확인하자. VM 환경이라면 스냅샷 찍어두고 진행하는 걸 강력히 권장한다.

STEP 10 최종 확인

LVM이 올바르게 설정되었는지 확인한다. df -h에서 /var/log가 새 LV로 마운트된 것이 보이면 성공이다.

# 마운트 상태 확인
$ df -h
# LVM 구성 확인
$ sudo lvdisplay
$ sudo vgdisplay

// 정리
PV → VG → LV → 파일시스템 → 마운트 → fstab
이 흐름만 기억하면 LVM은 어렵지 않다.
Tags: #Linux #RockyLinux #LVM #DISK #디스크관리 #LogicalVolumeManager #서버운영