2022. 9. 24. 15:10ㆍLinux
LVM(Logical Volume Manager)이란?
LV(Logical Volume)을 유연하고 효율적으로 관리하기 위한 커널의 한 부분입니다.
기존 디스크 관리 방법은 저장 공간의 크기가 고정돼 증설/축소가 어렵지만,
LVM은 용량 조절이 가능하여 유연하게 스토리지를 관리할 수 있습니다.
- PV(Physical Volume)
- 실제 디스크 장치를 분할하여 파티션이 된 상태를 의미합니다.
- PV는 일정한 크기의 PE들로 구성됩니다.
- PE(Physical Extent)
- PV를 구성하는 일정한 크기의 Block입니다.
- 보통 1PE는 4MB에 해당합니다.
- PE와 LE(Logical Extent)는 1:1로 대응합니다.
- VG(Volume Group)
- PV들이 모여서 생성되는 단위입니다.
- 사용자는 VG를 원하는 대로 나누어 LV로 만들 수 있습니다.
- LV(Logical Volume)
- 사용자가 사용하는 단위로, VG에서 필요한 만큼 할당받아 LV를 생성합니다.
이제 LVM을 실습하며 다뤄보겠습니다.
여기 10G sdb, 5G sdc가 있습니다.
fdisk로 sdb에 파티션 하나 만들어 줍니다. 그리고 : t 명령어로 파티션 타입을 Linux에서 Linux LVM으로 바꿔주겠습니다.
만든 파티션을 pv로 선언하겠습니다.
# pvcreate /dev/sdb1
이렇게 선언한 pv를 pvs, pvscan, pvdisplay로 확인할 수 있습니다.
그리고 선언한 pv로 vg 생성을 하겠습니다.
# vgcreate vghmh /dev/sdb1
생성한 vg 역시 vgs, vgscan, vgdisplay로 확인할 수 있습니다.
생성한 vg로 lv 두개를 만들겠습니다.
# lvcreate -L 4G -n lvhmh1 vghmh
# lvcreate -L 6G -n lvhmh2 vghmh
10G라서 10-4=6G를 할당하려 했더니 할당에 오차범위가 있어 실제 디스크 용량을 넘어 할당되지 않습니다.
# lvcreate -L 5.9G -n lvhmh2 vghmh
lv 역시 lvs, lvscan, lvdisplay로 확인할 수 있습니다.
각각 ext4와 xfs로 할당하겠습니다.
# mkfs.ext4 /dev/vghmh/lvhmh1
# mkfs.xfs /dev/vghmh/lvhmh1
그리고 /lv1과 /lv2 마운트 포인트에 마운트 하고 df 명령어로 확인했습니다.
이제 sdc 디스크 용량을 이용해 lvhmh1과 lvhmh2의 용량을 증설해보겠습니다.
먼저 위와 같은 방법으로 파티션을 하나 만듭니다.
/dev/sdc1으로 pv 생성해줍니다.
vghmh에 /dev/sdc1을 추가하여 vg의 용량을 늘려줍니다. 5GB가 늘은 것을 확인할 수 있습니다.
# vgextend vghmh /dev/sdc1
lvhmh1과 lvhmh2의 용량을 각각 2GB씩 증설하겠습니다.
# lvextend -L 6G /dev/vghmh/lvhmh1
# lvextend -L 6G /dev/vghmh/lvhmh1
4->6, 5.9->7.9 로 용량이 증설된 걸 lvs로 확인할 수 있습니다.
다만 df -Th에서는 용량증설이 반영되지 않은 모습입니다.
이 경우 .ext3,4는 resize2fs로, xfs는 xfs_growfs 명령어로 반영시킬 수 있습니다.
lv를 축소시키는 lvreduce 명령어는 데이터를 깨뜨릴 위험이 있기 때문에 사용하지 말아야 합니다.
끝!
'Linux' 카테고리의 다른 글
12. local repository (3) | 2022.09.25 |
---|---|
11. quota로 용량 제한 (3) | 2022.09.25 |
9. 기본적인 디스크이론과 관리 (3) | 2022.09.19 |
8. 중괄호 { } 활용과 명령어 연속 입력 (3) | 2022.09.19 |
7. 사용자 관련 설정 파일들 /etc/shadow, etc/skel, etc/default/useradd, etc/login.defs (3) | 2022.09.16 |