본문 바로가기
서버 보안/리눅스 실습

[LVM] LVM 개념의 이해

by 어깨 :) 2023. 5. 22.
728x90

★실습목표

LVM을 구현한다.
관련 명령어 pvcreate, vgcreate, lvcreate 를 익힌다.
 

실습 흐름도

 

 

◆ LVM 개념 

LVM은 Logical Volume Manager의 약자로, Linux 시스템에서 디스크 관리를 용이하게 해주는 기능을 제공하는 소프트웨어입니다. LVM은 물리적인 스토리지 장치를 논리적인 볼륨으로 추상화하여 유연하고 효율적인 스토리지 관리를 가능하게 합니다. 이를 통해 디스크 파티션과 파일 시스템을 관리하는 데 있어서 유연성과 안정성을 제공합니다.

 

 

-LVM 주요 기능

*유연한 스토리지 관리: LVM은 물리적인 스토리지를 동적으로 확장하거나 축소할 수 있습니다.

볼륨 그룹과 논리적인 볼륨의 크기를 필요에 따라 조정할 수 있어 스토리지 관리의 유연성을 제공합니다.

*스토리지 스냅숏: LVM은 스토리지의 스냅숏을 생성하여 특정 시점의 데이터를 보존하고 복구할 수 있게 합니다.

이는 데이터의 백업이나 시스템 복구에 유용합니다.

*논리적인 볼륨의 이동 및 복제: LVM은 논리적인 볼륨을 다른 물리적인 볼륨 그룹으로 이동하거나 복제할 수 있습니다.

이를 통해 스토리지의 유지 관리나 데이터의 이동을 용이합니다.

 

▶여러 개의 하드디스크를 합쳐서 한 개의 파일시스템으로 사용하는 것으로 필요에 따라서 다시 나눌 수 있습니다.

▶예로 2TB 용량의 하드디스크 2개를 합친 후에 다시 1TB와 3TB로 나눠서 사용할 수 있다.

 

 

-용어

물리적인 볼륨 (Physical Volumes, PV): 물리적인 하드 디스크, 파티션 또는 논리적인 볼륨을 LVM에서 사용할 수 있는 물리적인 스토리지로 지정합니다. PV는 논리적인 볼륨 그룹에 속할 수 있습니다.

논리적인 볼륨 그룹 (Volume Group, VG): 하나 이상의 물리적인 볼륨을 논리적으로 그룹화하여 사용하는 스토리지의 컨테이너입니다. VG는 하나 이상의 논리적인 볼륨을 포함하고 있을 수 있습니다.

논리적인 볼륨 (Logical Volume, LV): 논리적인 볼륨 그룹에서 생성되는 논리적인 스토리지 단위입니다. LV는 파티션과 유사한 개념이지만 크기를 동적으로 조정할 수 있고 다른 스토리지 공간에 확장이 가능합니다.

 

*Physical Volume(물리 볼륨) : /dev/sda1, /dev/sdb1 등의 파티션

*Volume Group(볼륨 그룹) : 물리 볼륨을 합쳐서 1개의 물리 그룹으로 만드는 것

*Logical Volume(논리 볼륨) : 볼륨 그룹을 1개 이상으로 나눠서 논리 그룹으로 나눈 것

 

 

 

 
 LVM을 구현하려고 하드디스크 2개를 추가한 구성도

 

 

 

 

실습시작

 

 

2GB와 3GB 용량의 SCSI 하드디스크를 2개 추가합니다.

 

 

 

ls 명령어로 확인을 해보면 하드디스크가 설치된 것을 볼 수 있습니다.

 

 

 

 

 

장착한 SCSI 하드디스크에 파티션을 할당합니다. 이번 실습은 LVM 실습이므로 별도로 파일 시스템 유형을 8e(Linux LVM)로 지정해야 합니다.

 

 

apt -y install lvm2 명령으로 관련 패키지를 설치합니다.

 

 

 

 

pvcreate /dev/sdb1 명령과 pvcreate /dev/sdc1 명령으로 물리적인 볼륨을 생성합니다. 이제 2개의 물리 볼륨을 하나로 묶어줍니다. 즉, 볼륨 그룹을 생성하는 단계로 vgcreate myVG /dev/sdb1 /dev/sdc1 명령으로 입력하면 됩니다. 여기서 그룹 이름은 myVG로 정했습니다.

 

생성한 볼륨 그룹은 현재 물리 볼륨 2개로 구성되어 있습니다.

이제부터는 /dev/myVG를 하나의 하드디스크처럼 생각하고 작업하면 됩니다.

 

 

 

 

 

일반적인 하드디스크의 파티션을 생성할 때는 fdisk 명령을 사용했지만, 볼륨 그룹의 파티션을 생성할 때는 lvcreate 명령을 사용합니다. 일반적인 하드디스크(/dev/sdb)를 /dev/sdb1과 /dev/sdb2로 파티션을 나눠 생성하는 것과 마찬가지로 볼륨 그룹(/dev/myVG/myLG1, /dev/myVG/myLG2, /dev/myVG/myLG3 등의 논리 그룹으로 파티션을 나눠 생성합니다.\

 

lvcreate --size 1G --name myLG1 myVG  → myVG 아래 myLG1을 1GB 크기로 생성

lvcreate --size 3G --name myLG2 myVG

lvcreate --extents 100% FREE --name myLG3 myVG 나머지 용량을 모두 할당

ls -l /dev/myVG

 

 

 

 

/lvm1, /lvm2, /lvm3 디렉터리를 생성합니다. 그리고 /dev/myVG/MYLG1~3을 /lvm~3 디렉터리에 마운트 합니다.

마운트 후에는 아무 파일이나 하나 복사해 놓고 df 명령으로 여유 공간을 확인해 봅니다.

 

 

 

 

컴퓨터를 켤 때 언제든지 /dev/myVG/myLG1~3 장치가 /lvm1~3에 마운트 되도록 설정합니다.

/etc/fstab 파일을 nano 에디터나 gedit으로 열어서 맨 아랫부분에 다음을 추가하고 재부팅합니다.

 

728x90