LVM(Logical Volume Manager)은
Linux에서 디스크 파티션을 유연하게 관리할 수 있도록 도와주는 시스템입니다.
1. PV (Physical Volume, 물리 볼륨)
- 실제 디스크 또는 디스크의 파티션을 의미합니다.
- LVM을 사용하려면 먼저 물리 디스크를 PV로 초기화해야 합니다.
- 예시:
pvcreate /dev/sdb
2. VG (Volume Group, 볼륨 그룹)
- 여러 개의 PV를 하나의 그룹으로 묶은 단위입니다.
- VG 내에서 논리적으로 파티션을 나누고 확장할 수 있습니다.
- 예시:
vgcreate my_vg /dev/sdb /dev/sdc
3. LV (Logical Volume, 논리 볼륨)
- VG 내에서 생성되는 논리적인 디스크 공간으로, 일반적인 파일 시스템(ext4, xfs 등)을 올려 사용할 수 있습니다.
- 사용자가 최종적으로 다루게되는 논리적인 스토리지입니다.
- 예시:
lvcreate -L 20G -n my_lv my_vg mkfs.ext4 /dev/my_vg/my_lv
4. PE (Physical Extent, 물리 익스텐트)
- PV 내에서 할당할 수 있는 최소 저장 단위입니다.
- 기본적으로 4MB이며, LVM 볼륨을 확장할 때 PE 단위로 관리됩니다.
- VG를 생성할 때 PE 크기를 변경할 수 있습니다.
- 예시:
vgcreate -s 8M my_vg /dev/sdb
5. LE (Logical Extent, 논리 익스텐트)
- PE가 물리 볼륨에서의 단위라면, LE는 논리 볼륨에서의 단위입니다.
- PE와 LE의 크기는 동일하며, 논리 볼륨을 확장할 때 PE 단위로 확장됩니다.
6. Snapshot (스냅샷)
- 현재 LV의 상태를 저장하는 기능으로, 백업 용도로 주로 사용됩니다.
- 원본 LV의 데이터를 변경하지 않고 스냅샷을 통해 복구할 수 있습니다.
- 예시:
lvcreate -L 5G -s -n my_snapshot /dev/my_vg/my_lv
7. Thin Provisioning (씬 프로비저닝)
- 실제로 사용된 용량만큼만 디스크를 할당하는 방식입니다.
- 저장 공간을 효율적으로 사용할 수 있도록 도와줍니다.
- 예시:
lvcreate --thinpool my_pool -L 50G my_vg lvcreate --thin -V 10G -T my_vg/my_pool -n my_thin_lv
- LVM 주요 명령어 요약
명령어설명
pvcreate | 물리 볼륨(PV) 생성 |
vgcreate | 볼륨 그룹(VG) 생성 |
lvcreate | 논리 볼륨(LV) 생성 |
vgextend | 기존 VG에 새로운 PV 추가 |
lvextend | 기존 LV 크기 확장 |
lvresize | LV 크기 조정 |
lvremove | LV 삭제 |
vgremove | VG 삭제 |
pvremove | PV 삭제 |
LVM을 사용하면 디스크를 유연하게 관리할 수 있어서, 서버 운영 및 스토리지 확장 시 유용하다는 장점이 있습니다.