Ubuntu – LVM (Logical Volume Manager)

LVM (Logical Volume Manager)

LVM은 리눅스 환경에서 유연하고 효율적인 디스크 관리 기능을 제공하는 논리 볼륨 관리 시스템

디스크 공간을 논리적으로 관리하고 확장하거나 축소할 수 있으며, 물리적인 디스크 파티션에 의존하지 않고도 유연한 디스크 관리를 가능하게 함

LVM 주요 개념 3가지

1. Physical Volume (PV)

실제 물리적 디스크 또는 디스크의 파티션

예: /dev/sda1, /dev/sdb1

pvcreate 명령으로 생성

2. Volume Group (VG)

여러 PV를 묶어 하나의 논리적 디스크 풀(pool)로 만듭니다.

VG는 디스크의 물리적 경계를 초월하여 디스크를 통합 관리할 수 있게 합니다.

예: vgcreate my_vg /dev/sda1 /dev/sdb1

3. Logical Volume (LV)

VG에서 원하는 크기의 논리 디스크를 할당하여 생성한 가상의 디스크입니다.

일반 파일 시스템처럼 마운트하여 사용합니다.

LV는 필요에 따라 크기를 동적으로 조정할 수 있습니다.

예: lvcreate -L 20G -n my_lv my_vg

LVM 주요 기능

  1. 유연한 디스크 관리
    • 디스크 추가/제거가 간단하며, 운영 중에도 가능
    • 파티션 크기 조정이 자유로움.
  2. 디스크 공간 통합
    • 여러 디스크를 하나의 Volume Group으로 통합하여 사용할 수 있음
  3. 스냅샷 기능
    • 현재 상태의 복사본(Snapshot)을 생성하여 백업이나 테스트에 사용
  4. 디스크 확장/축소
    • LV와 VG의 크기를 유동적으로 조정 가능
  5. RAID 기능 지원
    • LVM은 소프트웨어 RAID와 함께 사용하여 데이터 중복성을 제공할 수 있음

LVM 장점

  • 디스크 크기 및 배치 유연성
  • 디스크 추가 및 제거가 쉬움
  • 파일 시스템 확장/축소가 가능
  • 스냅샷으로 데이터 백업 및 복구 용이

LVM 단점

  • 설정이 일반 파티션보다 복잡
  • 추가 추상화 계층으로 인해 성능 오버헤드 발생 가능
  • 설정 오류 시 데이터 복구가 더 어려울 수 있음

LVM 실습

LVM 구성 실습 목표 (1)
https://www.youtube.com/watch?v=IHWpSXPXb6k&list=PLVsNizTWUw7HAcyW6bma7trGJfiTSDA44&index=40
실습 가상하드 준비 2GB, 3GB
LVM 구성 실습 목표 (2)
https://www.youtube.com/watch?v=IHWpSXPXb6k&list=PLVsNizTWUw7HAcyW6bma7trGJfiTSDA44&index=40
# lvm2 패키지 다운로드
sudo apt update
sudo apt -y install lvm2
ls -a /dev/sd*

# Linux LVM 타입으로 파티션 생성
fdisk /dev/sdb
fdisk /dev/sdc
# 물리 볼륨으로 변경
pvcreate /dev/sdb1
pvcreate /dev/sdc1

# 볼륨 "myVG" 그룹 생성
vgcreate "myVG" /dev/sdb1 /dev/sdc1

# 볼륨 확인 
vgdisplay
# Logical Volume 1G, 3G, 1G 설정
lvcreate --size 1G --name myLG1 myVG
lvcreate --size 3G --name myLG2 myVG

# 저장 공간이 정확하게 떨어지지 않을 수 있기 때문에 나머지를 전부 사용하는 방법(extents)으로 함
lvcreate --extents 100%FREE --name myLG3 myVG 

# 확인
lvdisplay 

# 확인
ls -l /dev/myVG
# file system 생성 및 포맷
mkfs.ext4 /dev/myVG/myLG1
mkfs.ext4 /dev/myVG/myLG2
mkfs.ext4 /dev/myVG/myLG3

# 마운트 작업
mkdir /lvm1 /lvm2 /lvm3
mount /dev/myVG/myLG1 /lvm1
mount /dev/myVG/myLG2 /lvm2
mount /dev/myVG/myLG3 /lvm3

# 재부팅 자동 마운트 등
gedit /etc/fstab

/dev/myVG/myLG1 /lvm1 ext4 defaults 0 0
/dev/myVG/myLG2 /lvm2 ext4 defaults 0 0
/dev/myVG/myLG3 /lvm3 ext4 defaults 0 0

댓글 달기

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

위로 스크롤