Logical Volume Manager
LVM(Logical Volume Manager)은 리눅스 커널을 위한 논리적 볼륨 관리 및 스토리지 추상화 기술이다. 물리적 디스크의 스토리지 공간을 논리적인 단위로 풀링하여, 전통적인 디스크 파티셔닝 방식보다 유연하게 용량을 할당하고 크기를 조정할 수 있도록 한다.
주요 구성 요소 LVM 아키텍처는 세 가지 주요 계층으로 구성된다.
-
물리 볼륨 (Physical Volume, PV) 실제 하드 드라이브, SSD, 또는 하드웨어 RAID 컨트롤러의 LUN과 같은 물리적 블록 장치이다. LVM 시스템에 스토리지를 제공하기 위해 초기화된 장치이다.
-
볼륨 그룹 (Volume Group, VG) 하나 이상의 물리 볼륨(PV)을 모아 만든 단일 스토리지 풀이다. 스토리지 용량의 중앙 저장소 역할을 하며, 이 그룹 내에서 논리 볼륨을 생성한다.
-
논리 볼륨 (Logical Volume, LV) 볼륨 그룹(VG)의 사용 가능한 공간 일부를 할당받아 생성된 가상의 파티션이다. 사용자는 이 계층에 파일 시스템(ext4, XFS 등)을 생성하고 마운트하여 데이터를 저장한다. 시스템 가동 중에도 크기를 확장하거나 축소할 수 있다.
전통적인 파티셔닝과 LVM 비교
전통적인 물리적 파티셔닝 시스템과 LVM의 구조적 및 기능적 차이는 다음과 같다.
| 특징 (Feature) | 전통적인 파티셔닝 (Traditional Partitioning) | LVM (Logical Volume Manager) |
|---|---|---|
| 크기 조정 (Resizing) | 파티션 크기 변경이 제한적이며, 연속된 빈 실린더/섹터가 필요함. | 파일 시스템 언마운트 없이 온라인 상태에서 볼륨 크기 확장/축소 가능. |
| 디스크 확장 (Spanning) | 파티션은 단일 물리적 디스크의 크기를 초과할 수 없음. | 여러 개의 물리적 디스크를 결합하여 단일 대용량 볼륨으로 구성 가능. |
| 스냅샷 (Snapshots) | OS 수준에서 기본적으로 지원하지 않음. | 활성 상태의 논리 볼륨에 대한 읽기/쓰기 스냅샷 지원. 백업 목적에 적합함. |
| 복잡성 (Complexity) | 구조가 단순하고 설정이 직관적임. | 물리 계층과 파일 시스템 사이에 추상화 계층이 추가되어 관리 구조가 복잡함. |
| 데이터 이동 (Data Migration) | 데이터를 다른 디스크로 마이그레이션하려면 수동 복사 필요. | pvmove 명령을 사용하여 서비스 중단 없이 물리적 장치 간 데이터 이동 가능. |
출처 (Sources)
- Red Hat System Design Guide: “Storage management with Logical Volume Manager (LVM)”
- Arch Linux Wiki: “LVM (Logical Volume Manager)”
- Ubuntu Server Documentation: “Logical Volume Manager (LVM)“