LVM 관리 PV, VG, LV 생성과 삭제, 조회, 추가 방법

리눅스 환경에서 LVM(Logical Volume Manager)은 저장 장치를 효율적으로 관리하는 데에 매우 유용한 도구입니다. LVM을 사용하면 물리적인 디스크를 논리적으로 구성하여 더 유연하고 효율적인 저장 공간 관리를 할 수 있습니다.

이번 글에서는 LVM의 기본 개념부터 시작하여 PV(Physical Volume), VG(Volume Group), LV(Logical Volume)의 생성, 삭제, 조회 및 추가 방법을 자세히 설명하겠습니다.

썸네일

LVM의 기본 개념

LVM 기본 개념

LVM은 기존의 고정된 파티션 구조에서 벗어나 동적으로 저장 공간을 관리할 수 있게 해주는 시스템입니다. 사용자는 LVM을 통해 필요한 만큼의 저장 공간을 자유롭게 생성하고 관리할 수 있으며, 데이터의 이동 없이도 논리 볼륨의 크기를 조정할 수 있습니다.

LVM은 크게 다음과 같은 구성 요소로 나뉩니다.

용어 설명
PV (Physical Volume) 물리적 볼륨으로, LVM에서 사용할 수 있는 실제 저장 장치의 파티션입니다.
VG (Volume Group) 여러 개의 PV를 묶어 하나의 저장 공간으로 만드는 그룹입니다.
LV (Logical Volume) 사용자가 데이터를 저장할 수 있는 논리적 단위로, VG에서 생성됩니다.
PE (Physical Extent) PV를 구성하는 일정한 크기의 블록으로, 기본적으로 4MB입니다.
LE (Logical Extent) LV를 구성하는 블록으로, PE와 1:1로 매핑됩니다.

LVM은 이러한 구성 요소를 통해 물리적인 저장 장치를 유연하게 관리할 수 있도록 해줍니다. LVM을 사용하는 주된 이유는 다음과 같습니다.

  • 유연한 용량 관리: LVM에서는 필요한 경우 저장 공간의 크기를 동적으로 조정할 수 있습니다.
  • 데이터 안전성: LVM을 사용하면 데이터의 이동 없이도 볼륨 크기를 조정할 수 있습니다.
  • 효율적인 스토리지 사용: 여러 개의 PV를 하나의 VG로 묶어 사용함으로써, 저장 공간을 보다 효율적으로 활용할 수 있습니다.

PV(Physical Volume) 생성 및 관리

물리적 볼륨

PV는 LVM의 기본 구성 요소로, 물리적인 저장 장치를 의미합니다. LVM을 사용하기 위해서는 먼저 사용하고자 하는 디스크를 PV로 초기화해야 합니다.

다음은 PV를 생성하는 과정입니다.

  1. 디스크 확인: fdisk -l 명령어를 사용하여 현재 시스템에 연결된 디스크를 확인합니다.

bash
fdisk -l

  1. 디스크 파티셔닝: 원하는 디스크를 파티셔닝합니다. fdisk 또는 parted 등의 도구를 사용하여 필요한 크기로 파티션을 나눕니다.

  2. PV 생성: pvcreate 명령어를 사용하여 파티션을 PV로 초기화합니다.

bash
pvcreate /dev/sdX1

명령어 설명
fdisk -l 현재 연결된 디스크 확인
pvcreate 파티션을 PV로 초기화
pvdisplay 현재 PV의 상태와 정보를 표시
  1. PV 상태 확인: pvdisplay 명령어를 사용하여 생성한 PV의 상태를 확인할 수 있습니다.

bash
pvdisplay

PV를 생성한 후에는 물리적인 볼륨의 상태를 주기적으로 확인하여, 문제가 발생하지 않도록 관리하는 것이 필요합니다. LVM이 제공하는 유연성을 최대한 활용하려면 PV를 잘 관리해야 합니다.

다른 내용도 보러가기 #1

VG(Volume Group) 생성 및 관리

VG는 여러 개의 PV를 묶어 하나의 저장 공간으로 만드는 그룹입니다. VG를 통해 사용자는 복수의 물리 저장 장치를 하나의 논리적 단위로 관리할 수 있습니다.

VG의 생성 과정은 다음과 같습니다.

  1. VG 생성: vgcreate 명령어를 사용하여 VG를 생성합니다. 이때, 여러 개의 PV를 동시에 묶어서 VG를 만들 수 있습니다.

bash
vgcreate my_volume_group /dev/sdX1 /dev/sdY1

  1. VG 상태 확인: vgdisplay 명령어를 사용하여 VG의 상태를 확인할 수 있습니다.

bash
vgdisplay

명령어 설명
vgcreate VG를 생성하는 명령어
vgdisplay VG의 상태 및 정보를 확인하는 명령어
vgextend 기존 VG에 추가 PV를 더하는 명령어
  1. VG 확장: 만약 VG의 용량이 부족해지면, 새로운 PV를 추가하여 VG를 확장할 수 있습니다. vgextend 명령어를 사용하여 수행합니다.

bash
vgextend my_volume_group /dev/sdZ1

VG를 효과적으로 관리하는 것은 LVM의 성능을 극대화하는 데 큰 도움이 됩니다. VG의 크기를 주기적으로 확인하고, 필요에 따라 확장하는 것이 필요합니다.

LV(Logical Volume) 생성 및 관리

LV는 사용자가 실제로 데이터를 저장하는 단위입니다. LV의 생성 과정은 다음과 같습니다.

  1. LV 생성: lvcreate 명령어를 사용하여 LV를 생성합니다. 이때, LV의 크기와 이름을 지정할 수 있습니다.

bash
lvcreate -L 10G -n my_logical_volume my_volume_group

  1. LV 상태 확인: lvdisplay 명령어를 사용하여 LV의 상태를 확인할 수 있습니다.

bash
lvdisplay

명령어 설명
lvcreate LV를 생성하는 명령어
lvdisplay LV의 상태 및 정보를 확인하는 명령어
lvextend LV의 크기를 늘리는 명령어
  1. LV 확장: LV의 용량이 부족하면, lvextend 명령어를 사용하여 LV의 크기를 늘릴 수 있습니다.

bash
lvextend -L +5G /dev/my_volume_group/my_logical_volume

  1. 파일 시스템 생성: LV를 파일 시스템으로 포맷하여 실제로 데이터를 저장할 수 있도록 합니다.

bash
mkfs.ext4 /dev/my_volume_group/my_logical_volume

LV를 생성한 후에는 주기적으로 상태를 확인하고, 필요한 경우 크기를 조정하여 효율적으로 데이터를 관리하는 것이 필요합니다.

LVM 삭제 및 수정

LVM을 관리하다 보면 필요에 따라 생성한 PV, VG, LV를 삭제해야 할 경우가 있습니다. 삭제 시 주의해야 할 사항과 과정은 다음과 같습니다.

  1. LV 삭제: 먼저 LV를 삭제합니다. 이때, LV가 마운트되어 있지 않은지 확인해야 합니다.

bash
umount /dev/my_volume_group/my_logical_volume
lvremove /dev/my_volume_group/my_logical_volume

  1. VG 삭제: LV가 삭제된 후, VG를 삭제합니다.

bash
vgremove my_volume_group

  1. PV 삭제: 마지막으로 PV를 삭제합니다. PV가 VG에 속해있지 않아야 합니다.

bash
pvremove /dev/sdX1

명령어 설명
lvremove LV를 삭제하는 명령어
vgremove VG를 삭제하는 명령어
pvremove PV를 삭제하는 명령어

LVM을 삭제할 때에는 데이터 손실을 방지하기 위해 항상 주의해야 하며, 필요시 백업을 생각해야 합니다.

다른 내용도 보러가기 #2

결론

LVM은 리눅스 환경에서 저장 공간을 유연하게 관리할 수 있는 강력한 도구입니다. PV, VG, LV의 생성과 삭제, 조회 및 추가 방법을 이해하면, 데이터 저장소를 보다 효율적으로 관리할 수 있습니다.

LVM을 활용하여 물리적인 저장 장치를 보다 유연하게 사용할 수 있으며, 데이터의 안전성과 효율성을 동시에 확보할 수 있습니다. LVM을 적절히 활용하여 리눅스 시스템의 저장 관리를 최적화하시기 바랍니다.

관련 영상

같이 보면 좋은 글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다