// 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)을 활용해 로그 디렉터리를 별도 디스크로 분리하는 것이다. 디스크가 꽉 차도 루트 파티션은 안전하고, 나중에 용량 확장도 서비스 중단 없이 가능하다.
실습 환경
OS│Rocky Linux 9.2
Kernel│5.14.*
목표│/var/log 로그 경로를 새 디스크(10GB)에 LVM으로 분리
환경│VMware 가상머신 (물리 서버도 동일하게 적용 가능)
1. LVM(Logical Volume Manager)이란?
LVM은 리눅스에서 디스크를 논리적으로 묶어서 유연하게 관리하는 도구다. 물리 디스크나 파티션을 추상화해서, 크기를 동적으로 조정하거나 여러 디스크를 하나처럼 쓸 수 있게 해준다.
| 계층 |
이름 |
설명 |
| 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
#서버운영