LVM
용어
PV : 물리적 파티션을 뜻함 LVM을 할려 면 장치(/dev/sda)를 PV로 바꿔 줘야함 예를 들면 /dev/sda1을 pv형태로 바꾸면 /dev/sda1이 PV임
VG : PV를 묶은 것 그러니 LVM은 파티션 여러 개를 붙여 쓰는것 이니 PV를 여러 개 묶어 VG로 구성해서 사용
LV : VG의 파티션 그러니 VG가 sda라면 LV는 sda1임
그러니 정리하면 PV가 모여 VG를 이루고 VG는 LV란 파티션을 가짐
명령어 형식
pvcreate <장치명>// 장치를 PV로 만듬
vgcreate <VG그룹이름> <PV> <PV>// PV와 PV를 이용해 VG를 생성
lvcreate -L <g단위용량> <VG그룹이름> -n <만들 LV이름>
-> 용량을 정해 VG의 파티션인 LV를 생성
실습 : sdb1 5G와 sdc1 5G를 통해 debi_vg 라는 VG 10G를 구성 하고, 2gdivi_lv라는 2g LV를 구성한다.
# fdisk /dev/sdb// sdb1을 lvm 형태로 생성 과정
Command (m for help): n
Command action
eextended
pprimary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-30401, default 1): 1
Last cylinder or +size or +sizeM or +sizeK (1-30401, default 30401): +5120M
Command (m for help): t
Hex code (type L to list codes): 8e
Command (m for help): w
# fdisk /dev/sdc// sdc1을 lvm 형태로 생성 과정
Command (m for help): n
Command action
eextended
pprimary partiton (1-4)
p
Partiton number (1-4): 1
First cylinder (1-30401, default 1): 1
Last cylinder or +size or +sizeM or +sizeK (1-30401, default 30401): +5120M
Command (m for help): t
Hex code (type L to list codes): 8e
Command (m for help): w
# pvcreate /dev/sdb1// /dev/sdb1을 PV로 만들어줌
Physical volume "/dev/sdb1: successfully created// 이렇게 뜬다면 성공
# pvcreate /dev/sdc1// /dev/sdc1을 PV로 만들어줌
Physical volume "/dev/sdb1: successfully created
※ PV를 삭제시 pvremove 장치명(/dev/sdb1)을 입력하고 PV를 볼려면 pvdisplay를 입력
# vgcreate debi_vg /dev/sdb1 /dev/sdc1
-> /dev/sdb1과 /dev/sdc1이란 PV를 이용해 debi_vg라는 VG를 형성
Volume group "debi_vg" successfully created// 이렇게 뜬다면 성공
※ VG를 삭제시 vgremove VG이름(debi_vg)을 입력하고 VG를 볼려면 vgdisplay를 입력
# lvcreate -L 2g debi_vg -n 2gdebi_lv// debi_vg에서 2G를 할당해 2gdevi_lv를 생성
Logical volume "2gdebi_lv" created
※ LV를 삭제시 lvremove LV경로(/dev/debi_vg/2gdebi_lv)를 입력하고 LV를 볼려면 lvdisplay를 입력
이제 나눈 LVM을 쓰기위해 포맷하고 마운트 한다면
# mkfs -t ext3 /dev/debi_vg/2gdebi_lv
# mount /dev/debi_vg/2gdebi_lv /mnt
옵션
VG를 만들 때 -s 옵션을 쓰면 PE크기를 정할 수 있음 기본 값은 4M
VG를 확장 시킬 때 # vgreduce <VG그룹> <더할 PV>
ex) # vgreduce debi_vg /dev/sdc2
VG를 축소 시킬 때 # vgreduce <VG그룹> <뺄 PV>
ex) # vgreduce debi_vg /dev/sdc2
LV이름을 바꿀 때 # lvrename <기존이름> <바꿀이름>
ex) # lvrename /dev/debi_vg/2gdebi_lv /dev/debi_vg/reallv
LV를 확상 시킬 때 # lvextend -L <추가용량> <LV이름>
ex) # lvextend -L +2g /dev/debi_vg/2gdebi_lv
LV를 축소 시킬 때 # lvreduce -L <뺄 용량> <LV이름>
ex) # lvreduce -L -1g /dev/debi_vg/2gdebi_lv
파일 이용해 복구
# vgchange -a n debi_vg # vgcfgrestore -f /etc/lvm/backup/debi_vg.conf.1.old -n debi_vg # vgchange -a y debi_vg