LVM ( Logical Volume Manager)
- Disk 파티션을 효율적으로 관리하고 사용할 수 있는 방식
- LVM2 ( Devcice Mapper )를 이용
PV ( Physical Volume ) 물리 볼륨
- /dev/sdb1, /dev/sdc1 같은 실제 하드디스크의 파티션을 의미함
VG ( Volume Group) 볼륨 그룹
- 여러개의 PV를 그룹으로 묶은 것을 뜻한다.
LV ( Losical Volume )
- VG를 다시 적절한 크기의 파티션으로 나눌때 해당 각 파티션을 LV라고 한다.
PE/LE (Physical/Losical Extent)
-PV와 LV가 가진 일정한 크기의 블록을 의미
LVM 관련명령어
(1) vgscan
1) 설명: 디스크에 있는 볼륨그룹(VG:Volume Group)를 검색하여 /etc/lvmtab 파일을 생성한다.
fdisk를 이용하여 파티션을 속성을 LVM으로 지정한 후에 이 명령을 사용한다.
2) 사용법
vgscan
(2) pvcreate
1) 설명: 물리적 볼륨(PV:Physical Volume)을 생성하는 명령어이다. fdisk를 이용하여 파티션을
분할하고 LVM 속성으로 지정한 뒤에 해당 파티션을 PV로 만들 때 사용하는 명령이다.
2) 사용법
pvcreate 디바이스명
3) 사용예
pvcreate /dev/hdb1
(3) vgcreate
1) 설명: 볼륨그룹을 생성하는 명령어로 생성된 PV를 지정한 볼륨그룹에 포함시키면서 생성한다.
2) 사용법
vgcreate 볼륨그룹명 디바이스명 디바이스명
3) 사용예
vgcreate lvm /dev/hda7 /dev/hdb1
=> lvm 이라는 볼륨그룹을 생성하고 /dev/hda7, /dev/hdb1 이라는 PV를 포함시킨다.
(4) vgdisplay
1) 설명: 볼륨그룹의 속성과 정보를 보여주는 명령어이다.
2) 사용법
vgdisplay [option] [볼륨그룹명]
3) option
-v: 좀 더 자세히 보여주는 옵션으로 Volume Group이외에 gical Volume과 Physical Volume도
같이 보여준다.
4) 사용예
ㄱ. [root@www root]# vgdisplay
=> Volume Group의 내용을 보여준다.
ㄴ. [root@www root]# vgdisplay -v lvm
=> lvm이라는 볼륨그룹의 내용을 자세히 보여준다.
(5) lvcreate
1) 설명: 볼륨그룹안에 LV(Logical Volume)을 생성하는 명령이다.
2) 사용법
lvcreate 옵션 볼륨그룹명
3) option
-L: LV의 사이즈를 지정하는 옵션으로 K(kilobytes), M(megabytes), G(gigabytes), T(terabyt
es) 단위를 붙여 지정가능하다.
-l: LV의 사이즈를 지정하는 옵션으로 pe의 개수로 용량을 지정한다. 참고로 보통 1pe당 4MB
이다.
-n: LV의 이름을 지정하는 옵션이다.
4) 사용예
ㄱ. [root@www root]# lvcreate -L 2000M -n backup lvm
=> lvm이라는 볼륨그룹에 backup라는 이름으로 2Gigabytes 용량으로 LV을 생성한다.
ㄴ. [root@www root]# lvcreate -l 250 -n data lvm
=> lvm이라는 볼륨그룹에 data라는 이름으로 250pe(약 1GB)용량으로 LV을 생성한다.
(6) lvscan
1) 설명: 디스크에 있는 Logical Volume을 찾아준다.
2) 사용법
lvscan [option]
3) option
-v: 정보를 자세히 보여준다.
4) 사용예
lvscan
(7) lvdisplay
1) 설명: Logical Volume의 정보를 보여준다.
2) 사용법
lvdisplay [option] LV명
3) option
-v: 정보를 자세히 보여준다.
4) 사용예
[root@www root]# lvdisplay -v /dev/lvm/data
=> /dev/lvm/data라는 LV의 정보를 자세히 보여준다.
(8) vgextend
1) 설명: 미리 생성된 Volume Group에 추가로 Phycical Volume을 추가할 때 사용한다.
2) 사용법
vgextend 볼륨그룹명 새PV명
3) 사용예
[root@www root]# vgextend lvm /dev/hdc1
=> lvm이라는 볼륨그룹에 /dev/hdc1을 추가한다.
(9) vgreduce
1) 설명: 볼륨그룹에 있는 Physical Volume을 삭제하는 명령이다.
2) 사용법
vgreduce 볼륨그룹명 PV명
3) 사용예
[root@www root]# vgreduce lvm /dev/hdc1
=> lvm이라는 볼륨그룹에서 /dev/hdc1을 삭제한다.
(10) lvextend
1) 설명: Logical Volume의 용량을 확장하는 명령이다.
2) 사용법
lvextend 옵션 [볼륨그룹명] LV명
3) option
-l +사이즈: 지정한 PE수만큼 용량을 늘린다.
-L +사이즈[kmgt]: 지정한 사이즈만큼 용량을 늘린다. 단위를 표시하지 않으면 기본 Megabytes
단위이다.
4) 사용예
[root@www root]# lvextend -L +200M /dev/lvm/data
=> 기존의 용량에 추가로 200MB를 할당한다.
(11) lvreduce
1) 설명: Logical Volume의 용량을 줄이는 명령이다.
2) 사용법
lvreduce 옵션 [볼륨그룹병] LV명
3) option
-l -사이즈: 지정한 PE수만큼 용량을 줄인다.
-L -사이즈: 지정한 사이즈만큼 용량을 줄인다. 단위를 표시하지 않으면 기본 단위는 Megabytes
이다.
4) 사용예
[root@www root]# lvreduce -L -500 /dev/lvm/data
=> /dev/lvm/data의 용량을 500MB 줄인다.
(12) vgchange
1) 설명: 볼륨그룹을 속성을 변경하는 명령으로 볼륨그룹을 사용가능여부, 최대 LV 갯수등을 변경
할 수 있다.
2) 사용법
vgchange 옵션 볼륨그룹명
3) option
-a y|n : 볼륨그룹의 사용여부를 지정한다.
-l 갯수: 해당 볼륨그룹에 생성할 수 있는 최대 Logical Volume수를 지정한다.
4) 사용예
ㄱ. [root@www root]# vgchange -a y lvm
=> lvm이라는 볼륨그룹을 활성화시킨다.
ㄴ. [root@www root]# vgchange -a n lvm
=> lvm이라는 볼륨그룹을 비활성화시킨다.
ㄷ. [root@www root]# vgchange -l 100 lvm
=> lvm이라는 볼륨그룹을 최대 Logical Volume수를 100개로 지정한다.
(13) vgremove
1) 설명: 볼륨그룹을 제거하는 명령이다.
2) 사용법
vgremove 볼륨그룹명
3) 사용예
[root@www root]# vgremove lvm
=> lvm이라는 볼륨그룹을 삭제한다.
LVM 생성 과정 실습
(1) Server-A 스냅샷으로 초기화 후 진행
(2) Disk 1GB * 3EA 추가 후 리부팅
(3) LVM 패키지 설치
#yum -y install lvm2
(4) fdisk 명령을 이용하여 Disk 파티션 생성
(/dev/sdb, /dev/sdc, /dev/sdd) --> 타입 8e (Linux LVM)선택 후 저장
(5) PV 생성
#pvcreate [장치명]
#pvcreate /dev/sdb1
#pvcreate /dev/sdc1
#pvcreate /dev/sdd1
(6) VG (Volume Group) 생성
#vgcreate [볼륨그룹명] [PV장치명] [PV장치명] ... [PV장치명]
#vgcreate PracticeVG /dev/sdb1 /dev/sdc1 /dev/sdd1
VG 활성화
#vgchange -a y [볼륨 그룹명]
-a y 활성화
-a n 비활성화
(7) VG구성 확인
#vgdisplay [VG명]
#vgdisplay PracticeVG // PracticeVG 볼륨 그룹 확인
(8) LV (Losical Volume) 생성 - VG의 파티션
#lvcreate --size [+,-, ,크기] --name [LV명] [VG명]
#lvcreate --extent [+,-, ,PV개수] --name [LV명] [VG명]
LV1 500MB
LV2 1.5GB
LV3 나머지 전부 // 할당 크기
#lvcreate --size 500M --name PracticeLV1 PracticeVG
#lvcreate --size 1.5GB --name PracticeLV2 PracticeVG
#lvcreate --extents 100%FREE --name PracticeLV3 PracticeVG
#vgdisplay PracticeVG
Alloc PE / Size 762 / 2.98 GiB
Free PE / Size 0 / 0 -->>남은 용량 없이 전부 할당된 것을 확인
(9) FileSystem 생성 및 마운트
# mkfs -t ext4 /dev/PracticeVG/PracticeLV
# mkfs -t ext4 /dev/PracticeVG/PracticeLV
# mkfs -t ext4 /dev/PracticeVG/PracticeLV
# mkdir /LV-{1,2,3}
# mount /dev/PracticeVG/PracticeLV1 /LV-1
# mount /dev/PracticeVG/PracticeLV2 /LV-2
# mount /dev/PracticeVG/PracticeLV3 /LV-3
(10) /etc/fstab UUID 등록 및 재부팅 후 확인
'Foundation > - Linux' 카테고리의 다른 글
cron & at 이란??? (0) | 2017.05.07 |
---|---|
RPM & YUM (0) | 2017.05.03 |
쿼터란? (0) | 2017.05.02 |
Partition & mount란 ?? (0) | 2017.04.28 |
Swap 메모리 (0) | 2017.04.27 |