목차
본문으로 바로가기

Linux LVM 구성 및 디스크 확장 가이드

category OS/Linux 2025. 6. 1. 11:22

개요

  • Linux 환경에서 LVM(Logical Volume Manager)을 사용하여 유연한 디스크 관리를 수행하는 방법 정리
  • 특히 2TB 이상 대용량 디스크 구성 시 parted 사용 필요
  • 파일 시스템 종류별 차이 및 확장 절차 포함

Test 환경

  • 목적: 3TB → 4TB LVM 볼륨 리사이징
  • OS: Oracle Linux 8

파일 시스템 비교: EXT4 vs XFS

항목 EXT4 XFS
아키텍처 Linked list + B-Tree B+ Tree
최대 파일 크기 16 TB 8 EB
최대 볼륨 크기 1 EB 8 EB
COW (Copy-on-write) X 예정
스냅샷 지원 X 예정
기본 파일 시스템 채택 Debian/Ubuntu RHEL/CentOS 7 이후

fdisk vs parted 차이

항목 fdisk parted
파티션 타입 MBR (최대 2TB) GPT (2TB 초과 지원)
명령 방식 CLI 기반 입력 방식 인터랙티브 또는 비대화형 명령 지원
사용 시기 2TB 이하 디스크 2TB 이상 디스크

💡 GPT 기반 디스크에 대해선 반드시 parted 사용 권장


작업 절차 요약

단계 명령어 설명
1 fdisk 또는 parted 파티션 생성 및 LVM 타입 지정
2 pvcreate 물리 볼륨(PV) 생성
3 vgcreate 볼륨 그룹(VG) 생성
4 lvcreate 논리 볼륨(LV) 생성
5 mkfs / mount 파일시스템 포맷 및 마운트

1. 파티션 생성

1-1. 2TB 미만: fdisk

sudo fdisk /dev/sdb
n → p → 1 → Enter → Enter
t → 8e (Linux LVM)
w (저장)

1-2. 2TB 이상: parted

sudo parted /dev/sdb
mklabel gpt
mkpart primary 0 100%
set 1 lvm on
print
quit

2. 물리 볼륨 생성

sudo pvcreate /dev/sdb1
sudo pvdisplay

3. 볼륨 그룹 생성

sudo vgcreate data_vg /dev/sdb1
sudo vgdisplay

4. 논리 볼륨 생성

sudo lvcreate -n data -l 100%FREE data_vg
sudo lvdisplay

5. 파일시스템 포맷 및 마운트

5-1. 파일시스템 생성 (XFS 예시)

sudo mkfs.xfs -L DATA /dev/data_vg/data

5-2. 마운트 및 fstab 등록

sudo mkdir /data
sudo blkid | grep DATA

# /etc/fstab 예시
LABEL=DATA /data xfs defaults,_netdev,nofail 0 2

sudo mount -a

6. LVM 디스크 확장 (3TB → 4TB 예시)

6-1. 디스크 스캔

echo 1 | sudo tee /sys/class/block/$(readlink /dev/oracleoci/oraclevdb | cut -d'/' -f2)/device/rescan

6-2. 파티션 확장

sudo growpart /dev/sdb 1

6-3. PV 확장

sudo pvresize /dev/sdb1

6-4. LV 확장

sudo lvextend -l +100%FREE /dev/data_vg/data

6-5. 파일 시스템 확장

sudo xfs_growfs /dev/data_vg/data

mkfs 실무 옵션 예시

XFS

mkfs.xfs -f -i size=512 -L DATA /dev/data_vg/data

EXT4

mkfs.ext4 -m 1 -L DATA /dev/data_vg/data

테스트 환경 검증 및 운영 적용 가이드

1. 테스트 환경 준비

항목 내용
OS 운영과 동일한 Oracle Linux 8 또는 Red Hat 7/8
디스크 구성 실제 운영 환경과 유사한 디스크 사이즈, 파티션 구조
파일시스템 운영 환경과 동일한 XFS 또는 EXT4 사용
작업 시나리오 신규 디스크 추가, 파티션 구성, LVM 생성, 용량 확장 등 모든 과정을 재현

💡 OCI 환경일 경우 Block Volume 3T 생성 → LVM 구성 → 4T로 크기 증설 후 반영까지 전 과정 수행

2. 테스트 항목 체크리스트

단계 검증 항목 결과
파티션 생성 fdisk 또는 parted로 LVM 타입 설정 OK
PV 생성 pvcreate 정상 동작 여부 OK
VG 생성 vgcreate, vgextend로 그룹 생성 및 추가 OK
LV 생성/확장 lvcreate, lvextend 수행 후 사이즈 확인 OK
파일시스템 생성/확장 mkfs.xfs, xfs_growfs, resize2fs 결과 확인 OK
마운트 확인 df -h/etc/fstab 등록 테스트 OK
재부팅 후 정상 마운트 mount -a, reboot 후 자동 마운트 확인 OK

3. 운영 환경 적용 전략

항목 권장 사항
백업 Snapshot 또는 이미지 백업 사전 수행 (OCI/VMware 등)
점검 시간 저녁 또는 점검 창 설정 (디스크 관련 작업은 리스크 존재)
변경 관리 작업 전 변경관리 등록 (운영 변경관리 프로세스)
작업 절차 공유 명령어와 예상 출력 결과를 팀과 사전 공유
모니터링 작업 후 iostat, vmstat, df -h 등으로 상태 점검
rollback 전략 기존 LV 스냅샷 또는 백업 볼륨 활용 방안 마련

4. 운영 시 유의사항

  • growpart 명령은 Cloud 환경 (OCI/AWS)에서만 사용 가능
  • /etc/fstab 설정 오류 시 부팅 실패 → _netdev, nofail 옵션 권장
  • xfs는 축소 불가 → 운영 시 용량 계획 중요
  • pvresizelvextend는 실제 디스크 크기 반영 후 실행

5. 정리된 명령어 모음 (운영 적용용)

# 디스크 스캔 및 확장
echo 1 > /sys/class/block/$(readlink -f /dev/sdb | cut -d'/' -f3)/device/rescan
sudo growpart /dev/sdb 1
sudo pvresize /dev/sdb1
sudo lvextend -l +100%FREE /dev/VolGroup/lv_data
sudo xfs_growfs /dev/VolGroup/lv_data

참고