![]()
LVM의 기본 개념

LVM은 일반적으로 물리적 볼륨, 볼륨 그룹, 논리적 볼륨으로 구성되어 있습니다. 이 각각의 요소는 저장 공간 관리에서 중요한 역할을 합니다.
아래의 표는 LVM의 기본 구성 요소를 정리한 것입니다.| 구성 요소 | 설명 |
|---|---|
| 물리적 볼륨 (PV) | 실제 하드 디스크 또는 파티션으로 구성되며, LVM에서 관리하기 위해 초기화된 블록 장치입니다. |
| 볼륨 그룹 (VG) | 하나 이상의 물리적 볼륨을 묶어 관리하는 단위로, 논리적 볼륨을 생성할 수 있는 공간을 제공합니다. |
| 논리적 볼륨 (LV) | 사용자가 실제로 다루는 저장 공간으로, 볼륨 그룹 내에서 정의된 크기로 할당된 영역입니다. |
LVM의 가장 큰 장점은 물리적 저장 장치의 크기를 동적으로 조정할 수 있다는 점입니다. 기존의 파티셔닝 방식에서는 파티션의 크기를 변경하기 위해 데이터 이동이 필요하지만, LVM에서는 이러한 과정을 최소화하여 더 유연한 관리가 가능합니다.
LVM 구축 과정
LVM을 구축하는 과정은 몇 가지 단계로 나뉘어 있습니다. 아래의 단계별 설명을 통해 LVM을 효과적으로 설정하는 방법을 알아보겠습니다.
1. 디스크 파티셔닝
LVM을 사용하기 위해서는 먼저 사용할 디스크를 파티셔닝해야 합니다. fdisk 명령어를 통해 현재 장착된 디스크를 확인하고, 필요한 파티션을 생성합니다.
8e로 설정해야 합니다. 이는 LVM에서 사용되는 리눅스 LVM 파일 시스템을 의미합니다.
| 명령어 | 설명 |
|---|---|
fdisk -l |
현재 장착된 디스크와 파티션 목록을 표시합니다. |
n |
새 파티션을 생성합니다. |
t |
파티션 타입을 변경합니다. |
w |
변경 내용을 저장하고 종료합니다. |
2. 물리적 볼륨(PV) 생성
pvcreate 명령어를 사용하여 생성한 파티션을 물리적 볼륨으로 초기화합니다. 이 단계는 LVM이 관리할 수 있는 첫 번째 단계로, LVM에서 블록 장치를 사용하기 위해 반드시 필요합니다.
/dev/sdc1과 /dev/sdd1을 물리적 볼륨으로 초기화할 수 있습니다.
| 명령어 | 설명 |
|---|---|
pvcreate /dev/sdc1 |
/dev/sdc1을 물리적 볼륨으로 초기화합니다. |
pvcreate /dev/sdd1 |
/dev/sdd1을 물리적 볼륨으로 초기화합니다. |
3. 볼륨 그룹(VG) 생성
이제 생성한 물리적 볼륨을 묶어 볼륨 그룹을 생성할 차례입니다. vgcreate 명령어를 사용하여 원하는 이름의 볼륨 그룹을 만들 수 있습니다.
data_vg라는 이름의 볼륨 그룹을 생성하고 /dev/sdc1과 /dev/sdd1을 포함시킬 수 있습니다.
| 명령어 | 설명 |
|---|---|
vgcreate data_vg /dev/sdc1 /dev/sdd1 |
data_vg라는 볼륨 그룹을 생성합니다. |
4. 논리적 볼륨(LV) 생성
이제 볼륨 그룹을 기반으로 논리적 볼륨을 생성할 수 있습니다. lvcreate 명령어를 사용하여 원하는 크기와 이름으로 논리적 볼륨을 생성합니다.
lvcreate -L 10G -n mylv data_vg 명령어를 통해 data_vg 볼륨 그룹 내에 크기가 10GB인 mylv라는 논리적 볼륨을 생성할 수 있습니다.
| 명령어 | 설명 |
|---|---|
lvcreate -L 10G -n mylv data_vg |
data_vg 내에 mylv라는 논리적 볼륨을 생성합니다. |
5. 파일 시스템 생성 및 마운트
생성한 논리적 볼륨에 파일 시스템을 생성하고, 이를 특정 디렉터리에 마운트합니다. mkfs 명령어를 사용하여 파일 시스템을 포맷한 후, 마운트 포인트를 생성하고 mount 명령어로 마운트합니다.
| 명령어 | 설명 |
|---|---|
mkfs.ext4 /dev/data_vg/mylv |
논리적 볼륨에 ext4 파일 시스템을 생성합니다. |
mkdir /mnt/mylv |
마운트 포인트 디렉터리를 생성합니다. |
mount /dev/data_vg/mylv /mnt/mylv |
논리적 볼륨을 마운트합니다. |
이제 LVM이 성공적으로 설정되었습니다. 사용자는 /mnt/mylv 디렉터리를 통해 논리적 볼륨에 액세스할 수 있습니다.
LVM 삭제 및 수정
LVM을 삭제하거나 수정하는 과정도 중요합니다. 오류를 방지하기 위해 사전에 주의사항을 숙지하는 것이 필요합니다.
LVM을 삭제할 때는 다음과 같은 단계를 따릅니다.1. 마운트 해제
LVM을 삭제하기 전에 해당 논리적 볼륨이 마운트되어 있는지 확인하고, 마운트를 해제해야 합니다. umount 명령어를 사용하여 논리적 볼륨을 언마운트합니다.
| 명령어 | 설명 |
|---|---|
umount /mnt/mylv |
/mnt/mylv에서 논리적 볼륨을 해제합니다. |
2. 논리적 볼륨(LV) 삭제
마운트를 해제한 후, lvremove 명령어를 사용하여 논리적 볼륨을 삭제합니다. 예를 들어, lvremove /dev/data_vg/mylv를 입력하여 mylv를 제거할 수 있습니다.
| 명령어 | 설명 |
|---|---|
lvremove /dev/data_vg/mylv |
논리적 볼륨 mylv를 삭제합니다. |
3. 볼륨 그룹(VG) 삭제
논리적 볼륨을 삭제한 후, vgremove 명령어를 사용하여 볼륨 그룹을 삭제합니다. 이 과정에서 해당 볼륨 그룹에 속한 모든 논리적 볼륨이 삭제되므로 주의가 필요합니다.
| 명령어 | 설명 |
|---|---|
vgremove data_vg |
볼륨 그룹 data_vg를 삭제합니다. |
4. 물리적 볼륨(PV) 삭제
마지막으로, 사용하지 않는 물리적 볼륨을 삭제합니다. pvremove 명령어를 사용하여 물리적 볼륨을 제거할 수 있습니다.
| 명령어 | 설명 |
|---|---|
pvremove /dev/sdc1 |
물리적 볼륨 /dev/sdc1을 삭제합니다. |
LVM 확장
LVM의 가장 큰 장점 중 하나는 저장 공간의 확장입니다. 사용 중인 논리적 볼륨의 용량을 늘리고 싶을 때, 추가 디스크를 장착하거나 기존 디스크의 여유 공간을 활용할 수 있습니다.
이 과정은 다음과 같은 단계로 진행됩니다.1. 추가 디스크 장착
새로운 디스크를 시스템에 장착하고, fdisk 명령어로 파티셔닝합니다. 이후, pvcreate를 통해 물리적 볼륨으로 초기화합니다.
| 명령어 | 설명 |
|---|---|
fdisk /dev/sde |
새 디스크 /dev/sde를 파티셔닝합니다. |
pvcreate /dev/sde1 |
새로 생성한 파티션을 물리적 볼륨으로 초기화합니다. |
2. 볼륨 그룹(VG) 확장
추가된 물리적 볼륨을 기존 볼륨 그룹에 추가하기 위해 vgextend 명령어를 사용합니다. 예를 들어, vgextend data_vg /dev/sde1과 같은 방식으로 볼륨 그룹을 확장할 수 있습니다.
| 명령어 | 설명 |
|---|---|
vgextend data_vg /dev/sde1 |
data_vg에 /dev/sde1을 추가하여 확장합니다. |
3. 논리적 볼륨(LV) 크기 조정
이제 추가된 볼륨 그룹 내에서 논리적 볼륨의 크기를 조정할 수 있습니다. lvresize 명령어를 사용하여 원하는 용량으로 논리적 볼륨을 확장합니다.
lvresize -L +10G /dev/data_vg/mylv는 mylv를 10GB 확장합니다.
| 명령어 | 설명 |
|---|---|
lvresize -L +10G /dev/data_vg/mylv |
논리적 볼륨 mylv를 10GB 확장합니다. |
4. 파일 시스템 크기 조정
마지막으로, 파일 시스템의 크기를 조정하여 새로 할당된 저장 공간을 사용할 수 있도록 합니다. 예를 들어, resize2fs /dev/data_vg/mylv 명령어를 통해 ext4 파일 시스템의 크기를 조정합니다.
| 명령어 | 설명 |
|---|---|
resize2fs /dev/data_vg/mylv |
논리적 볼륨 mylv의 파일 시스템 크기를 조정합니다. |
이 과정을 통해 사용자는 서비스 중에도 논리적 볼륨의 용량을 확장할 수 있습니다. LVM은 이러한 유연성을 제공하여 시스템 관리자가 필요에 따라 저장 공간을 효율적으로 관리할 수 있게 합니다.
결론
LVM은 리눅스에서 저장 공간을 효율적이고 유연하게 관리할 수 있는 강력한 도구입니다. 물리적 볼륨, 볼륨 그룹, 논리적 볼륨의 생성과 삭제, 그리고 확장 과정은 시스템 관리자가 저장 공간을 최적화하는 데 큰 도움을 줍니다.
LVM을 통해 사용자는 데이터의 안전성을 유지하면서도 저장 공간을 동적으로 조정할 수 있습니다. 리눅스 시스템에서 LVM의 기능을 충분히 활용하여 저장 공간을 효율적으로 관리하시기 바랍니다.