본문 바로가기
IT/리눅스

LVM 생성

by Itlee 2024. 5. 30.
반응형

LVM이란?

LVM(Logical Volume Manager)은 물리적인 저장 장치들을 논리적으로 관리할 수 있게 해주는 시스템입니다. 이를 통해 저장 장치를 보다 유연하고 효율적으로 사용할 수 있습니다. LVM은 여러 디스크를 하나의 논리적 볼륨으로 묶어서 관리하거나, 기존의 논리 볼륨을 쉽게 확장하거나 축소할 수 있게 해줍니다.

 

LVM의 주요 구성 요소

  1. Physical Volume (PV):
    • 물리적인 저장 장치를 의미합니다. 예를 들어, 하드 디스크나 SSD 등이 이에 해당합니다.
    • 명령어: pvcreate
  2. Volume Group (VG):
    • 여러 개의 Physical Volume을 묶어서 하나의 논리적 단위로 관리합니다.
    • 명령어: vgcreate
  3. Logical Volume (LV):
    • Volume Group 내에서 논리적인 파티션을 의미합니다. 실제 데이터를 저장하는 공간입니다.
    • 명령어: lvcreate

LVM의 장점

  1. 유연성:
    • 디스크 추가 및 제거가 쉽습니다. 예를 들어, 데이터베이스의 크기가 커짐에 따라 쉽게 디스크를 추가하여 논리 볼륨을 확장할 수 있습니다.
  2. 크기 조정:
    • 논리 볼륨의 크기를 동적으로 조정할 수 있습니다. 디스크 공간이 부족해지면 기존 논리 볼륨을 확장하고, 필요에 따라 축소할 수도 있습니다.
  3. 스냅샷:
    • 스냅샷 기능을 통해 특정 시점의 데이터를 백업할 수 있습니다. 이를 통해 데이터 손실 시 빠르게 복구할 수 있습니다.
  4. 성능:
    • 여러 디스크를 하나의 논리 볼륨으로 묶어 병렬로 데이터를 읽고 쓸 수 있어 성능을 향상시킬 수 있습니다.

LVM 생성

1. PV 생성

새로운 물리 볼륨(Physical Volume, PV)을 생성합니다

pvcreate /dev/sdb

2. VG 생성

생성된 PV를 사용하여 볼륨 그룹(Volume Group, VG)을 생성합니다

vgcreate vgname /dev/sdb

3. LV 생성

볼륨 그룹 내에서 논리 볼륨(Logical Volume, LV)을 생성합니다. 각각 3GB 크기의 세 개의 논리 볼륨을 만듭니다

 lvcreate -L 3g -n lvname vgname
 lvcreate -L 3g -n lvname2 vgname
 lvcreate -L 3g -n lvname3 vgname

4. LV 확인

생성된 논리 볼륨을 확인합니다:

lvs

출력 예시

  LV      VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root    centos -wi-ao---- <17.00g                                                    
  swap    centos -wi-ao----   2.00g                                                    
  lvname  vgname -wi-a-----   3.00g                                                    
  lvname2 vgname -wi-a-----   3.00g                                                    
  lvname3 vgname -wi-a-----   3.00g

5. 파일 시스템 생성

논리 볼륨에 파일 시스템을 생성합니다

 mkfs -t ext4 /dev/mapper/vgname-lvname
 mkfs -t ext4 /dev/mapper/vgname-lvname2
 mkfs -t ext4 /dev/mapper/vgname-lvname3

 

6. UUID 확인

논리 볼륨의 UUID를 확인합니다

blkid

출력 예시

/dev/mapper/vgname-lvname: UUID="0459e228-ec66-4404-a4bc-96f622247fb5" TYPE="ext4" 
/dev/mapper/vgname-lvname2: UUID="1a51f530-dcca-45bf-8cbb-30549ed93aa9" TYPE="ext4" 
/dev/mapper/vgname-lvname3: UUID="d48114f6-545f-4594-af49-b961a855cd8d" TYPE="ext4"

7. fstab에 추가

UUID를 /etc/fstab 파일에 추가하여 부팅 시 자동으로 마운트되도록 설정합니다.

vi /etc/fstab

다음 내용을 추가합니다.

UUID=0459e228-ec66-4404-a4bc-96f622247fb5       /lvname ext4    defaults        0       0
UUID=1a51f530-dcca-45bf-8cbb-30549ed93aa9       /lvname2        ext4    defaults        0       0
UUID=d48114f6-545f-4594-af49-b961a855cd8d       /lvname3        ext4    defaults        0       0

8. 마운트 포인트 디렉토리 생성

논리 볼륨을 마운트할 디렉토리를 생성합니다:

 mkdir /lvname
 mkdir /lvname2
 mkdir /lvname3

9. 마운트

모든 파일 시스템을 마운트합니다.

mount -a

10. 확인

마운트된 파일 시스템을 확인합니다.

df -h

출력 예시

/dev/mapper/vgname-lvname   2.9G  9.0M  2.8G   1% /lvname
/dev/mapper/vgname-lvname2  2.9G  9.0M  2.8G   1% /lvname2
/dev/mapper/vgname-lvname3  2.9G  9.0M  2.8G   1% /lvname3

이로써 새로운 디스크를 추가하고 논리 볼륨을 생성하여 파일 시스템을 설정하고 마운트하는 작업이 완료되었습니다.

반응형