본문 바로가기

Foundation/- Linux

LVM

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