LVM

-Disk 파티션 효율적으로 관리하고 사용할 수 있는 방식

-LVM2 (Device Mapper)를 이용

 

1. 초기화 설정

-VMware 스냅샷을 이용하여 초기화

-1GB disk * 3EA 추가

-reboot

2. Fdisk 을 이용하여 추가 확인

#fdisk -l

3.파티션 생성

#fdisk /dev/sdb~sdd

'n'         add a new partition

'p'         primary partition

'1'         partition number

'enter'    Frist cylinder

'enter'    last cylinder

't'              Change a partition's system id

'8e'            Linux LVM(리눅스 문제 필수로나옴)

'w'

 

4. PV생성

#pvcreate [장치명]

 

#pvcreate /dev/sdb1 ~ sdd1

5. VG(Volume Group) 생성

#vgcreate [볼륨그룹명] [PV장치명]...[PV장치명]

 

#vgcreate PracticeVG /dev/sdb1 /dev/sdc1 /dev/sdd1

 

6. VG 구성 확인

#vgdisplay [볼륨그룹명]

#vgdisplay PracticeVG

  --- Volume group ---
  VG Name               PracticeVG
  Cur PV                3            //현재 PV 개수
  Act PV                3            //활성 pv 개수
  VG Size               2.98 GiB    //VG 용량
  PE Size               4.00 MiB    // PE 크기 (4MB)
  Total PE              762
  Alloc PE / Size       0 / 0        //할당된 PE 개수   /용량
  Free  PE / Size       762 / 2.98 GiB    //남은 PE 개수 /용량
 

7. VG의 파티션 LV 생성

#lvcreate --szie [크기] --name [LV이름] [VG이름]

 

#lvcreate --size 500M --name PracticeLV1 PracticeVG

#lvcreate --size 1.5GB --name PracticeLV2 PracticeVG

#lvcreate --extents 100%FREE --name PracticeLV3 PracticeVG

나머지 (FREE) 용량을 전부 PracticeLV3에 할당

 

8. LV 정보 확인

#lvdisplay

  LV Path                /dev/PracticeVG/PracticeLV1
  LV Name                PracticeLV1
  VG Name                PracticeVG
  LV Size                500.00 MiB
  Current LE             125        //LV에 할당된 LE 개수
9. 파일 시스템 생성 및 마운트

#mkfs -t ext4 /dev/PracticeVG/PracticeLV1 

#mkfs -t ext4 /dev/PracticeVG/PracticeLV2

#mkfs -t ext4 /dev/PracticeVG/PracticeLV3

 

#mkdir /LV-{1,2,3}

#mount /dev/PracticeVG/PracticeLV1 /LV-1

#mount /dev/PracticeVG/PracticeLV2 /LV-2

#mount /dev/PracticeVG/PracticeLV3 /LV-3

 

# df -h           //확인

 

LV -1 500M

LV -2 1.5GB

LV -3 나머지전부(1GB)

 

LV 삭제 및 용량 추가

#umount /LV-3        //언마운트

#lvchange -an /dev/PracticeVG/PracticeLV3    //LV 비활성화

//LV 상태를 변화 (-a actice -n no)

-> 해당 LV를 비활성화

 

#lvremove /dev/PracticeVG/PracticeLV3        //LV 제거

 

#lvdisplay     // LV3 삭제 확인

#vgdisplay    //VG 정보 확인

 Cur LV                2
 Open LV               2
 Cur PV                3
 Act PV                3
 VG Size               2.98 GiB
 PE Size               4.00 MiB
 Total PE              762
 Alloc PE / Size       509 / 1.99 GiB
 Free  PE / Size       253 / 1012.00 MiB    여유 PE 253 /1012MB

 

용량 추가

#lvextend --size +512M /dev/PracticeVG/PracticeLV1

//LV-1에 512M 추가

 Size of logical volume PracticeVG/PracticeLV1 changed from 500.00 MiB (125 extents) to 1012.00 MiB (253 extents).
  Logical volume PracticeLV1 successfully resized.
이렇게 뜨면 성공

이번엔 블록 개수로 추가 하는 것

#lvextend --extents +125 /dev/PracticeVG/PracticeLV2

 

 Size of logical volume PracticeVG/PracticeLV2 changed from 1.50 GiB (384 extents) to 1.99 GiB (509 extents).
  Logical volume PracticeLV2 successfully resized

이렇게 뜨면 성공

#vgdisplay 남은 용량 확인

  Free  PE / Size       0 / 0    없다!

 

#df -h

/dev/mapper/PraticeVG-PracticeLV1    477M 2.3M 449M 1%/LV-1

/dev/mapper/PracticeVG-PracticeLV2
                      1.5G  2.3M  1.4G   1% /LV-2

 

#resize2fs /dev/PracticeVG/PracticeLV1 //파일 시스템 크기 재설정

#resize2fs /dev/PracticeVG/PracticeLV2//파일 시스템 크기 재설정

 

#df -h

/dev/mapper/PracticeVG-PracticeLV1
                      973M  2.8M  920M   1% /LV-1
/dev/mapper/PracticeVG-PracticeLV2
                      2.0G  2.3M  1.9G   1% /LV-2

'리눅스 ' 카테고리의 다른 글

find,xargs  (0) 2017.04.16
find 옵션  (0) 2017.04.16
LVM명령어  (0) 2017.04.15
쿼터명령어  (0) 2017.04.15
쿼터  (0) 2017.04.15

3. 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이라는 볼륨그룹을 삭제한다.

'리눅스 ' 카테고리의 다른 글

find 옵션  (0) 2017.04.16
LVM  (0) 2017.04.15
쿼터명령어  (0) 2017.04.15
쿼터  (0) 2017.04.15
RAID종류와설정  (0) 2017.04.15

쿼터 제한 영역
 
 1. 사용자별 하드 제한 영역 (User Hard limit)
 - 사용자가 파일시스템에서 사용 할 수 있는 최대 공간
 
 - 만약, 사용자가 자신의 쿼터 제한 크기에 도달하면 사용자는
   더이상 디스크에 파일을 생성할 수 없다.
 
 2. 사용자별 소프트 제한 영역(User Soft limit)
 - 사용자가 소프트 제한 여역에 도달할 때까지 데이터를 자유롭게
   저장할 수 있다.
  
 - 소프트 제한 영역은 일종의 경고로써, 아직 작업 공간에 여유가
   있을때 불필요한 파일을 정리하도록 알려주는 역할을 한다.
  
 3. 그룹별 하드 제한 영역 (Group Hard limit)
 - 쿼터 시스템에 의해 그룹을 저장하는 최종 제한 영역이다.
   해당 영역을 초과하면 사용자의 쿼터를 초기화 하지 않는 경우라도
   해당 그룹에 속하는 어떠한 사용자는 파일을 쓸 수 없다.
  
 4. 그룹별 소프트 제한 영역(Group Soft limit)
 - 사용자별 소프트 재한영역과 동일하게 작용하며, 개인 소유 파일이아닌
   그룹 소유 파일에 적용된다.
 
 5. 유예기간 (Grace)
 - 소프트 제한 영역을 넘어서면 사용자나 그룹은 유예기간(Grace period)
   에 접어들게 된다. 유예기간이 끝나면 쿼터 제한을 초과하는 상황이
   벌어지지 않도록 충분히 파일을 삭제하지 않을 경우 소프트 제한영역은
   하드 제한영역으로 바뀐다. 유예기간은 월, 주, 일, 시, 분, 초를 나타내는
   숫자료 표시할 수 잇으며 기본 값은 7일이다.
  
  
quotacheck : quota설정파일이 존재하는지 설정은 이상없는지 등의 quota설정 체크
edquota : 디스크사용량제한(quota) 설정하기
quota : 현재 설정된 quota내용확인하기
quotaon : 설정된 quota 가동하기
quotaoff :  가동중인 quota 중지하기
repquota : 현재 사용중인 quota설정 및 용량제한내역 보기


------------------------------------------------------------------------------------------
quota [-u] [옵션] [사용자]
quota [-g] [옵션] [그룹]
- 사용자나 그룹의 제한량을 표시한다
- root만 -u 옵션을 통해 다른 사용자의 할당량을 확인 할 수 있다.
옵션 -q : 제한량의 설정값을 초과한 경우에만 간단한 메세지 출력
       -v : 자세한 모드로 저장 공간이 할당되지 않은 경우에도 제한량의
            정보를 보여준다.

   ex) quota -uv [사용자] //해당 사용자의 모든 제한량을 점검
------------------------------------------------------------------------------------------   
quotaon - 하나 이상의 파일시스템에 대해 설정된 제한량을 적용
quotaon [옵션] [파일시스템]

 옵션 -a : /etc/fstab에 등록되고 읽기와 쓰기 쿼터 사용으로 표시된
             모든 파일 시스템에대해 쿼터를 적용한다.
    
    -g : 그룹 쿼터를 적용한다. -a 옵션을 사용할 경우 그룹 쿼터를
         동시에 적용하므로 해당 옵션은 불필요하다.
     
    -u : 기본 옵션으로, 사용자에게 쿼터를 적용한다.
    -v : 상세하게 출력
   
   ex) quotaon -av #/etc/fstab에 정의된 것에 쿼터를 모두 적용
     quotaon -gv  /home   #파일시스템 /home 사용자에
                                          쿼터 적용
------------------------------------------------------------------------------------------
quotaoff - 하나 이상의 파일시스템에 적용된 쿼터 사용을 중지
quotaoff [옵션] [파일시스템]
  옵션 -a : /etc/fstab에 정의된 모든 파일시스템 대한 쿼터 적용을
              중지 한다.
        -g : 그룹에 적용된 쿼터 사용을 중지
     -a : 사용자 쿼터 적용을 중지
     -v : 쿼터 적용이 중지되는 각 파일시스템에 대해 자세히 표시
    
   ex) quotaoff -av   #모든 쿼터 적용을 중지
------------------------------------------------------------------------------------------  
quotacheck [옵션] [파일시스템]
- 파일시스템을 점검하고 쿼터 설정에 대한 데이터베이스를 컴파일
* cron을 이용해서 주단위로 'quotacheck -a' 옵션 실행을 권장함
  
  옵션 -a : /etc/fstab에 정의된 모든 쿼터 파일시스템을점검
  usrqouta와 grpqouta 적용 시 모두 점검 가능
  
     -g : 그룹에 대한 쿼터 정보만 컴파일한다.
     -u : 기본값, 사용자에 쿼터 정보만 컴파일 한다.
     -v : 실행결과를 자세하게 표시
     -n :복제 된 구조체의 첫 번째 사본을 사용합니다.
     -m: 파일 시스템을 읽기 전용으로 다시 마운트하지 않는다.
   
------------------------------------------------------------------------------------------    
edquota - 사용자와 그룹 쿼터 설정을 수정한다.
  옵션 -g : 그룹쿼터 수정 (-g 사용 시 -u 옵션도 따라와도 모두
                                 그룹명으로 인식한다)
     -t : 유예기간을 변경한다.
     -u : 사용자 쿼터설정을 변경 (-g와 사용시 무시된다.)
    
     ex) edquota -u [사용자]
     해당 사용자의 대한 쿼터 설정 변경
     ex) edquota -tu
     모든 파일 시스템의 사용자에대한 유예기간을 변경한다
   
------------------------------------------------------------------------------------------
repquota - 쿼터 운영 상황을 출력
 -a : 모든 쿼터 파일시스템 정보 출력
 -g : 그룹 설정을 요약
 -u : 사용자 쿼터 설정 요약
 -v : 요약정보를 자세하게 표시하며 출력결과에 머리말을 추가
 
 제한여부
 quota 제한을 받는지 여부를 나타내며  ' - ' 이면 제한에 걸리지
 않았음을 의미하며, ' + ' 이면 제한에 걸려 있음을 의미함
 첫 번째는 Block제한, 두 번째 파일제한을 뜻한다.
 
------------------------------------------------------------------------------------------
setquota [옵션] [이름] [Block soft limit] [Block hard limit]
            [inode soft limit] [inode hard limit] [파티션 명]
   
   -u : 사용자
   -g : 그룹
   -a : 해당 시스템의 모든 설정
------------------------------------------------------------------------------------------

 

'리눅스 ' 카테고리의 다른 글

LVM  (0) 2017.04.15
LVM명령어  (0) 2017.04.15
쿼터  (0) 2017.04.15
RAID종류와설정  (0) 2017.04.15
빠진날 3  (0) 2017.04.15

+ Recent posts