공든탑앱 열기

LVM

리눅스마스터 2급 · 리눅스 설치 · 약 10분

쉽게 말하면

디스크 칸 크기는 한 번 정하면 바꾸기 어려워요. LVM은 여러 디스크를 큰 통 하나에 모아 두고, 거기서 필요한 만큼 떼어 쓰게 해 줘요. 공간이 모자라면 디스크를 하나 더 붓고 칸을 늘리면 되니, 쓰던 서버를 멈추지 않고도 늘릴 수 있어요.

시험용 정의

LVM(Logical Volume Manager)은 물리 디스크 위에 한 단계 추상화를 두어 파티션 크기를 유연하게 바꾸는 기술이다. 구성은 PV(물리 볼륨) → VG(볼륨 그룹) → LV(논리 볼륨) 순서이고, 공간의 최소 단위는 PE(Physical Extent, 기본 4MB)다.

비유로 이해하기

여러 개의 물통(디스크, PV)을 큰 저수조 하나(VG)에 모아 두고, 필요한 만큼 수도꼭지(LV)로 나눠 쓰는 것이다. 물이 모자라면 물통을 하나 더 붓고 꼭지를 늘린다.

자세히

왜 LVM을 쓰나

일반 파티션은 디스크의 연속된 구간이라, 한번 나누면 크기를 바꾸기 어렵다. /home이 가득 찼는데 바로 뒤에 다른 파티션이 있으면 늘릴 수 없고, 디스크를 새로 달아도 그 디스크는 따로 놀 뿐이다.

LVM은 디스크들을 한 공간 풀(VG)에 모아 두고, 거기서 필요한 만큼 떼어 논리 볼륨(LV)을 만든다. LV는 여러 디스크에 흩어져 있어도 하나의 파티션처럼 보이고, 쓰는 중에도 늘리거나(디스크 추가 포함) 줄일 수 있다. 사용자는 LV를 파티션처럼 포맷하고 마운트한다.

  • 볼륨: 파일시스템을 만들어 쓸 수 있는 저장 공간 하나(파티션과 같은 역할)
  • 추상화: 실제 디스크 위치를 숨기고 논리적인 이름과 크기로만 다루게 하는 것
  • 스냅샷: 특정 순간의 LV 상태를 그대로 얼려 둔 복사본. 백업하는 동안 데이터가 바뀌지 않게 쓴다

구성 요소

단계뜻만드는 명령
PV (Physical Volume)LVM용으로 초기화한 디스크·파티션 (타입 8e)pvcreate /dev/sdb1
VG (Volume Group)PV 여러 개를 묶은 저장 공간 풀vgcreate vg01 /dev/sdb1 /dev/sdc1
LV (Logical Volume)VG에서 잘라 낸 볼륨. 파일시스템을 만들어 마운트lvcreate -L 20G -n lv_home vg01
PE (Physical Extent)공간 할당 최소 단위 (기본 4MB)vgcreate -s

확인·확장·삭제

pvs · vgs · lvs간단 목록 (pvdisplay·vgdisplay·lvdisplay는 자세히)
vgextend vg01 /dev/sdd1VG에 PV 추가
lvextend -L +10G /dev/vg01/lv_homeLV 늘리기 (-r이면 파일시스템도 함께)
resize2fs / xfs_growfsext4 / XFS 파일시스템 늘리기
lvreduceLV 줄이기 (ext4만, 파일시스템 먼저 줄여야 함). 줄이는 작업은 데이터 손실 위험이 있어 백업 후에
lvcreate -s스냅샷 만들기 (백업 시점 고정)
lvremove · vgremove · pvremove삭제 (LV → VG → PV 순)

장치 경로

LV는 /dev/VG이름/LV이름(예: /dev/vg01/lv_home) 또는 /dev/mapper/vg01-lv_home으로 접근한다.

시험에 이렇게 나와요

확인 문제

Q1. /home 파티션이 가득 찼다. 새 디스크를 추가해 /home의 크기를 서비스 중단 없이 늘리고 싶다. 무엇으로 구성되어 있어야 가능할까?

  1. MBR 주 파티션
  2. 확장 파티션
  3. LVM 논리 볼륨
  4. 스왑 파티션
정답 보기

3번 LVM 논리 볼륨

LVM은 여러 디스크를 하나의 저장 공간 풀(볼륨 그룹)로 묶고 거기서 원하는 크기만큼 논리 볼륨을 잘라 쓴다. 새 디스크를 풀에 넣고(vgextend) 논리 볼륨을 늘리면(lvextend) 마운트된 상태로도 확장할 수 있다.

Q2. LVM에서 물리 볼륨을 일정한 크기로 나눈 할당 단위는?

  1. PV
  2. LV
  3. VG
  4. PE
정답 보기

4번 PE

PE(Physical Extent), 기본 4MB.

Q3. LVM 구성 순서로 옳은 것은?

  1. LV → VG → PV
  2. PV → VG → LV
  3. VG → PV → LV
  4. PV → LV → VG
정답 보기

2번 PV → VG → LV

pvcreate → vgcreate → lvcreate.

Q4. 볼륨 그룹에 새 물리 볼륨을 추가하는 명령은?

  1. pvextend
  2. vgextend
  3. vgadd
  4. lvextend
정답 보기

2번 vgextend

vgextend다. 볼륨 그룹(VG)을 새 물리 볼륨(PV)으로 넓힌다. lvextend는 논리 볼륨(LV)의 크기를 늘린다.

Q5. LVM에서 공간을 나누는 기본 단위는?

  1. inode
  2. PE
  3. 블록
  4. 섹터
정답 보기

2번 PE

PE(Physical Extent), 기본 4MB.

헷갈리기 쉬운 O·X

LVM을 쓰면 여러 디스크를 하나의 볼륨처럼 묶어 쓸 수 있다.

정답 보기

O 맞는 설명이다.

lvextend로 LV를 늘리면 그 위의 파일시스템도 항상 자동으로 커진다.

정답 보기

X -r 옵션을 주거나 resize2fs·xfs_growfs를 따로 실행해야 한다.

LVM 파티션의 fdisk 타입 코드는 8e다.

정답 보기

O 맞는 설명이다.

함께 보면 좋은 개념