리눅스에서 LVM(Logical Volume Management)은 유연한 저장소 관리를 제공합니다. LVM을 사용하면 디스크 공간을 효율적으로 관리하고 필요에 따라 용량을 조정할 수 있습니다.
본 글에서는 LVM의 구성 요소인 Physical Volume(PV), Volume Group(VG), Logical Volume(LV)의 생성, 삭제, 조회 및 추가 방법에 대해 상세히 알아보겠습니다.
LVM의 구성 요소
LVM은 물리적 볼륨(Physical Volume), 볼륨 그룹(Volume Group), 논리적 볼륨(Logical Volume)의 세 가지 주요 구성 요소로 이루어져 있습니다. 이들 각각의 요소는 LVM의 기능을 효과적으로 수행하는 데 필요합니다.
구성 요소 | 설명 |
---|---|
Physical Volume (PV) | 실제 물리적인 디스크 또는 파티션으로, LVM에서 사용할 수 있도록 초기화된 저장 공간입니다. |
Volume Group (VG) | 하나 이상의 PV를 모아 만든 그룹으로, LVM의 논리적 볼륨을 생성하는 데 사용됩니다. |
Logical Volume (LV) | VG에서 할당된 저장 공간으로, 실제로 파일 시스템을 생성하여 데이터를 저장하는 단위입니다. |
이러한 구성 요소를 통해 LVM은 저장소를 보다 유연하게 관리할 수 있도록 합니다.
Physical Volume(PV) 관리
PV는 LVM의 기본 단위로, 실제 하드 디스크의 파티션 또는 전체 디스크를 나타냅니다. PV를 생성하고 삭제하는 과정은 다음과 같습니다.
PV 생성
PV를 생성하려면 pvcreate
명령을 사용합니다. 이 명령은 지정된 디스크 또는 파티션을 LVM에서 사용할 수 있도록 초기화합니다.
bash
pvcreate /dev/sdb1
위 명령은 /dev/sdb1
을 PV로 생성합니다. 이때 해당 파티션은 LVM에서 사용 가능한 상태로 변환됩니다.
PV 조회
생성한 PV의 상태를 확인하려면 pvdisplay
명령을 사용합니다. 이 명령은 PV의 상세 정보를 제공합니다.
bash
pvdisplay
결과에는 PV의 이름, 크기, 할당 가능 여부 등의 정보가 포함됩니다.
PV 삭제
더 이상 사용하지 않는 PV를 삭제하려면 pvremove
명령을 사용합니다. 이 명령은 PV의 모든 데이터를 삭제하고 LVM에서 해당 PV를 제거합니다.
bash
pvremove /dev/sdb1
이렇게 하면 /dev/sdb1
에서 LVM 정보가 삭제됩니다.
PV 명령어 | 설명 |
---|---|
pvcreate | 새로운 PV 생성 |
pvdisplay | PV 상태 조회 |
pvremove | PV 삭제 |
Volume Group(VG) 관리
VG는 여러 PV를 모아 구성됩니다. VG는 LVM의 논리적 볼륨을 생성하는 데 필요한 공간을 제공합니다.
VG 생성
VG를 생성하려면 vgcreate
명령을 사용합니다. 이 명령은 하나 이상의 PV를 포함하여 새로운 볼륨 그룹을 생성합니다.
bash
vgcreate VolGroup01 /dev/sdb1 /dev/sdc1
위 명령은 /dev/sdb1
과 /dev/sdc1
을 포함하는 VolGroup01
이라는 이름의 VG를 생성합니다.
VG 조회
생성한 VG의 상태를 확인하려면 vgdisplay
명령을 사용합니다. 이 명령은 VG의 상세 정보를 제공합니다.
bash
vgdisplay
여기에는 VG의 이름, 크기, 포함된 PV 수, 할당 가능 공간 등의 정보가 포함됩니다.
VG 확장
VG에 새로운 PV를 추가하려면 vgextend
명령을 사용합니다. 이 명령은 기존 VG에 새로운 PV를 추가하여 저장 공간을 확장합니다.
bash
vgextend VolGroup01 /dev/sdd1
이렇게 하면 VolGroup01
에 /dev/sdd1
이 추가됩니다.
VG 명령어 | 설명 |
---|---|
vgcreate | 새로운 VG 생성 |
vgdisplay | VG 상태 조회 |
vgextend | VG 확장 |
vgremove | VG 삭제 |
Logical Volume(LV) 관리
LV는 VG에서 사용 가능한 공간을 할당받아 생성되는 논리적 파티션입니다. LV는 실제로 파일 시스템을 생성하고 데이터를 저장하는 단위입니다.
LV 생성
LV를 생성하려면 lvcreate
명령을 사용합니다. 이 명령은 VG에서 지정한 크기만큼의 공간을 할당받아 새로운 LV를 생성합니다.
bash
lvcreate -L 10G -n myvolume VolGroup01
위 명령은 VolGroup01
에서 10GB 크기의 myvolume
이라는 LV를 생성합니다.
LV 조회
생성한 LV의 상태를 확인하려면 lvdisplay
명령을 사용합니다. 이 명령은 LV의 상세 정보를 제공합니다.
bash
lvdisplay
결과에는 LV의 이름, 크기, 상태 등의 정보가 포함됩니다.
LV 확장
LV의 크기를 늘리려면 lvextend
명령을 사용합니다. 이 명령은 LV의 용량을 증가시킵니다.
bash
lvextend -L +5G /dev/VolGroup01/myvolume
이렇게 하면 myvolume
의 크기가 5GB 증가합니다.
LV 삭제
더 이상 사용하지 않는 LV를 삭제하려면 lvremove
명령을 사용합니다. 이 명령은 LV의 모든 데이터를 삭제하고 LVM에서 해당 LV를 제거합니다.
bash
lvremove /dev/VolGroup01/myvolume
이렇게 하면 myvolume
이 삭제됩니다.
LV 명령어 | 설명 |
---|---|
lvcreate | 새로운 LV 생성 |
lvdisplay | LV 상태 조회 |
lvextend | LV 확장 |
lvremove | LV 삭제 |
결론
LVM은 리눅스에서 저장소를 효율적으로 관리하는 강력한 도구입니다. PV, VG, LV의 개념을 알아보고 이를 관리하는 명령어를 숙지하면, 디스크 공간을 유연하게 조정하고 필요한 만큼의 저장소를 쉽게 확보할 수 있습니다.
LVM을 통해 시스템 관리자는 데이터의 안전성과 가용성을 높일 수 있으며, 변화하는 요구에 따라 저장소를 최적화할 수 있습니다. 이러한 LVM의 장점을 활용하여, 효율적인 시스템 운영이 가능하게 되기를 바랍니다.