관리 메뉴

ImJay

[리눅스 마스터 2급] LVM(Logical Volume Manager) 완벽 가이드 — 기초부터 활용까지 본문

CS 지식

[리눅스 마스터 2급] LVM(Logical Volume Manager) 완벽 가이드 — 기초부터 활용까지

ImJay 2025. 8. 9. 19:40
반응형

LVM(Logical Volume Manager) 완벽 가이드 — 기초부터 활용까지

1. 들어가며

서버나 스토리지를 운영하다 보면, “디스크 공간이 부족해졌을 때 어떻게 확장하지?”라는 고민을 하게 됩니다.
전통적인 파티션 방식은 구조가 고정되어 있어, 용량을 변경하려면 서비스 중단이 필요하고 데이터 손실 위험도 있습니다.
이때 **LVM(Logical Volume Manager)**을 사용하면, 디스크 공간을 훨씬 더 유연하고 안전하게 관리할 수 있습니다.


2. 기본 배경 지식

2-1. 파티션(Partition)이란?

  • 하드디스크나 SSD를 '논리적으로 나눈 구역'
  • 각 구역은 독립적으로 운영체제에서 관리
  • 예: C 드라이브(운영체제), D 드라이브(데이터), E 드라이브(백업)
  • 리눅스에서는 /dev/sda1, /dev/sda2 같은 형식
  • 단점: 크기를 변경하기 어렵고, 다른 디스크 공간을 합치는 것이 사실상 불가능

2-2. 컨트롤러(Controller)란?

  • 하드웨어 장치와 운영체제(OS) 사이에서 데이터를 주고받는 장치
  • 스토리지 컨트롤러: 디스크 입출력, RAID 관리 등을 수행
  • RAID의 동작 레벨
    • 하드웨어 RAID: 컨트롤러가 직접 관리, OS에는 하나의 디스크처럼 보임
    • 소프트웨어 RAID: OS가 직접 RAID 기능을 수행 (리눅스 mdadm 등)

3. LVM이란?

**LVM(Logical Volume Manager)**는 운영체제(OS) 레벨에서 디스크를 추상화해 논리적 볼륨으로 관리하는 기술입니다.
즉, 여러 디스크나 파티션을 하나의 저장 풀(VG)로 묶고, 필요한 만큼 잘라서(LV) 사용할 수 있습니다.


4. LVM의 구성 요소

  1. PV (Physical Volume) – 물리 볼륨
    LVM이 관리할 수 있도록 초기화된 디스크 또는 파티션
  2. bash
    복사편집
    pvcreate /dev/sda1
  3. VG (Volume Group) – 볼륨 그룹
    여러 PV를 묶어서 하나의 큰 저장 풀로 만든 것
  4. bash
    복사편집
    vgcreate my_vg /dev/sda1 /dev/sdb1
  5. LV (Logical Volume) – 논리 볼륨
    VG에서 필요한 만큼 공간을 할당해 만든 가상의 디스크
  6. nginx
    복사편집
    lvcreate -L 100G -n my_lv my_vg

5. LVM과 전통 파티션의 차이

항목전통 파티션LVM
크기 변경 어려움, 위험 유연하고 안전
여러 디스크 결합 불가능 가능
서비스 중 용량 변경 불가능(마운트 해제 필요) 가능(실시간 확장)
스냅샷 불가능 가능
복잡성 단순 구조 이해 필요
 

6. "마운트 해제 없이"란?

  • 마운트(Mount): 디스크를 특정 경로(폴더)에 연결하는 것
  • 마운트 해제(Unmount): 연결을 끊는 것
  • 전통 파티션 방식: 용량 변경 시 반드시 마운트 해제 → 해당 서비스 중단
  • LVM: 온라인 상태에서 크기 변경 가능 → 서비스 중단 없이 운영 가능

7. LVM이 좋은 이유

  1. 용량 확장/축소 자유로움
    새 디스크를 VG에 추가 → LV 용량 확장 → 파일시스템 확장
    (예: /home을 500GB → 800GB로 확장, 서비스 중단 없음)
  2. 여러 디스크를 하나처럼 사용
    서로 다른 크기·종류의 디스크도 하나의 VG로 묶어 활용
  3. 스냅샷 지원
    작업 전 상태를 저장해두고, 실패 시 해당 시점으로 롤백 가능
  4. 마운트 해제 없이 관리 가능
    서비스 가동 중에도 디스크 관리 가능

8. LVM을 굳이 쓰지 않는 경우

  • 단순 환경: 개인 PC, NAS, 외장하드 등 용량 변동이 거의 없는 경우
  • 성능 우선 환경: 극한의 I/O 성능이 필요한 경우(미세한 성능 저하 방지)
  • 호환성 문제: 오래된 OS나 일부 복구 툴이 LVM을 지원하지 않는 경우
  • 복잡성 회피: PV/VG/LV 구조 학습이 부담되는 경우

9. LVM과 RAID의 관계

  • RAID: 디스크를 묶어 성능·안정성 향상 (하드웨어 또는 소프트웨어에서 처리)
  • LVM: 디스크를 묶어 공간 관리 유연성 향상 (OS 레벨에서 처리)
  • 둘은 계층이 다르며, 병행 사용 가능
    • 예: RAID-5로 묶은 디스크를 LVM으로 관리

10. 정리

LVM은 운영 중 디스크 관리가 필요한 환경에서 강력한 도구입니다.
특히 서버 운영 중 용량 부족 문제를 서비스 중단 없이 해결할 수 있다는 점이 큰 장점입니다.
다만 단순 환경에서는 오히려 복잡성만 늘릴 수 있으므로, 용도에 맞게 선택하는 것이 중요합니다.


💡 한 줄 요약

LVM = 디스크 공간을 가변적으로 나누고 합치는 ‘가변형 칸막이’
RAID = 여러 디스크를 묶어 성능과 안정성을 높이는 ‘집의 기초 공사’

반응형
Comments