SLOW but STEADY

[CentOS7] 리눅스 LVM(Logical Volume Manager) - 정의, 구성하기 본문

2020 AWS기반 아키텍처 설계 전문가 양성 과정/리눅스

[CentOS7] 리눅스 LVM(Logical Volume Manager) - 정의, 구성하기

ㅁ윤지ㅁ 2020. 3. 31. 21:37

LVM(Logical Volume Manager)이란?

- 여러 개의 HDD의 용량을 합쳐서 하나의 파일 시스템으로 구성하는 것입니다.

- 서버 운영에 있어서 작은 용량의 HDD를 하나로 합쳐 대용량의 스토리지를 구성할 때 사용합니다.

- 스토리지 확장 및 변경사항에 있어 유연한 대처가 가능합니다.

 


 

LVM에서 사용하는 용어

1) Physical Volume: 물리적인 볼륨을 말하며, /dev/sdb1, /dev/sdc1 과 같은 실제 파티션들을 말합니다.

2) Volume Group: Physical Volume을 합친 그룹을 말합니다.

3) Logical Volume: 합쳐진 Volume Group을 나누어 실제 사용하는 볼륨을 의미합니다.

 


 

LVM 구성하기

 

LVM을 구성하기 위해 하드디스크 1GB짜리를 3개 추가합니다.

fdisk /dev/sdb

n -> Enter -> Enter -> Enter -> Enter -> w

fdisk /dev/sdc, fdisk /dev/sdd도 똑같은 방식으로 해줍니다.

pvcreate /dev/sdb1
pvcreate /dev/sdc1
pvcreate /dev/sdd1

fdisk /dev/sdb

t -> 8e(Linux LVM을 사용하기 위해 설정해 줍니다.)

p를 통해 확인합니다.

/dev/sdc, /dev/sdd도 똑같이 해줍니다.

blkid
sdb1, sdc1, sdd1가 LVM2_member로 지정되어 있는지 확인합니다.

 

vgcreate VG /dev/sdb1 /dev/sdc1 /dev/sdd1
VG라는 볼륨 그룹을 생성합니다.

vgdisplay
볼륨 그룹들의 정보를 확인합니다.

* metadata areas: 묶인 실제 피지컬 볼륨 갯수
* VG Size: 볼륨 그룹 VG의 사이즈
* VG UUID: 볼륨 그룹의 아이디

실제 1GB짜리 하드디스크 3개가 모여서 사이즈가 2.99GB가 된 것을 확인할 수 있습니다.
완벽히 3GB가 아닌 것은 설정 파일 같은 것이 차지하기 때문입니다.

lvcreate -L 2.98GB -n LV VG
VG볼륨 그룹에 LV라는 로지컬 볼륨을 2.98GB사이즈로 만들어줍니다.
2.99GB 전체를 쓰지 않는 이유는 나머지 공간에는 설정 파일이 만들어 지기 때문입니다.

lvscan
우리가 만든 로지컬 볼륨을 확인합니다.

 

mkfs.xfs /dev/VG/LV
파일 시스템 지정해줍니다.

blkid

 

mkdir /bigdata

mount /dev/VG/LV /bigdata

df -h
확인합니다.

vi /etc/fstab
/dev/VG/LV              /bigdata         xfs           defaults       0 0
을 추가합니다.

 


 

LVM 용량 늘리기

앞에 만들어 주었던 3GB LVM이 용량이 부족해졌다고 가정하고 1GB 하드디스크를 하나 더 추가해서 용량을 늘려보겠습니다.

 

fdisk /dev/sde

n -> Enter -> Enter -> Enter -> Enter -> w

pvcreate /dev/sde1

vgextend VG /dev/sde1

vgdisplay
확인해줍니다.

 

lvextend -L 3.98 GB /dev/VG/LV
로지컬 볼륨도 확장해줍니다.

xfs_growfs /dev/VG/LV
추가한 용량으로 적용시켜 줍니다.(변경사항 적용)

df -g

용량이 4GB로 늘어난 것을 확인합니다.

* 용량을 줄이는 것은 삭제하고 다시 만드는 방법밖에 없습니다. 그러므로 신중하게 만들어야 합니다.

 


 

LVM 삭제하기

 

umount /bigdata

vi /etc/fstab
오토마운트 시켜줬던 부분을 삭제합니다.

lvremove /dev/VG/LV

vgremove VG

pvremove /dev/sdb1
pvremove /dev/sdc1
pvremove /dev/sdd1
pvremove /dev/sde1
피지컬 볼륨 삭제합니다.