들어가며
오늘은 리눅스 디스크 관리 방식 중 파티션 방식과 LVM(Logical Volume Manager)에 대해 공부했다.
"왜 LVM을 쓰는가?", "파티션과 차이가 뭔가?"를 중심으로 이해했다.
파티션 방식
파티션은 말 그대로 디스크를 층별로 나누는 고정 공간이다.
아파트를 비유로 들면 다음과 같다
- 디스크 = 아파트 한 동
- 각 파티션 = 층별 고정 방
- 각 층은 완전히 독립 → 용량 공유 불가
특징:
- 고정된 크기
- 파티션 간, 디스크 간 용량 공유 불가
- 파일시스템이 PV(Physical Volume)를 그대로 읽음 → 물리적 제약 그대로
- 확장/축소 어렵고, 서비스 중단 필요
단점:
- 공간 활용 비효율적
- 대형 서버나 동적으로 용량을 늘려야 하는 환경에는 부적합
예시:
- 디스크 1GB, 파티션 3개로 나눔 (각 1GB)
- 각 파티션에 600MB 사용 중일 때, 새로운 500MB 파일을 넣고 싶어도 어느 파티션에도 충분한 공간 없음
- 용량 활용 비효율, 물리적 제약 그대로
LVM(Logical Volume Manager) 방식
LVM은 디스크를 논리적으로 묶어 유연하게 관리할 수 있는 기술이다.
아파트 비유:
- PV(Physical Volume) = 각각의 건물
- VG(Volume Group) = 모든 건물을 합친 공동 창고
- LV(Logical Volume) = 창고에서 필요한 만큼 공간을 가져다 쓰는 논리적 방
- Extent = LV가 가져가는 작은 블록 단위(일반적으로 4mb)
- 스냅샷 = 특정 시점의 LV 상태를 복제해 백업/테스트에 활용
특징:
- 여러 디스크(PV)를 VG로 묶어 하나의 논리적 풀로 사용
- LV를 통해 OS/파일시스템이 하나의 디스크처럼 접근 가능
- Extent 단위로 블록을 관리 → 디스크 간, 파티션 간 용량 공유 가능
- LV 확장/축소 가능, 서비스 중단 최소화
- 스냅샷으로 백업 효율 극대화
예시:
- 디스크 3개, 각 1GB
- 각 디스크 600MB 사용 중일 때, 각 디스크의 남은 공간은 400MB
- 하지만, VG의 총 여유 공간 = 1.2GB
- 500MB 파일을 저장하고 싶을 때 파일 일부는 디스크1, 일부는 디스크2에 저장
(LV가 블록 단위로 조각 관리)
- 파일 문제없이 저장 가능
- 즉, 파티션 방식에서 불가능했던 용량 공유가 가능
핵심 요약
파티션:
- 고정된 벽으로 방을 나누는 구조
- 용량 공유 불가
- 물리적 제약 존재
LVM:
- 블록 단위로 쪼개서 논리 공간으로 재배치
- 디스크 간, 파티션 간 용량 공유 가능
- 확장/스냅샷 지원, 운영 편의성 극대화
결론
LVM은 서버 운영 환경에서 디스크 용량을 유연하게 관리하고, 서비스 중단 없이 확장/백업이 가능한 필수 기술이다.