게시물 20건
   
[SUSE] LVM --stripes Stripes
글쓴이 : theko 날짜 : 2012-03-16 (금) 11:04 조회 : 5211
 LVM (Logical Volume Management)
---------------------------------------------------------------------

 

1. 개념

Heinz Mauelshagen에 의해 만들어진 것으로, 디스크 파티션의 크기를 동적으로 구성하기 위한 것
여러개의 물리적인 장치를 모아서 논리적인 볼륨 그룹을 만들고, 그 볼륨 그룹을 다시 작은 논리 단위로 쪼개어 사용하도록 하는 기술로 MS Windows의 동적 디스크와 비슷한 개념으로 이해하면 좋겠음

 

2. LVM 처리 과정

물리적인 장치 /dev/sda1, /dev/sdb1, /dev/sdb2, /dev/sdc1, ...
       |
       |  pvcreate 명령
       |
물리 볼륨  
       |
       |  vgcreate 명령
       |
볼륨 그룹  1개 이상의 물리 볼륨을 묶어서 볼륨 그룹 생성
       |
       |  lvcreate 명령
       |
논리 볼륨  볼륨 그룹을 여러 개의 작은 논리 볼륨으로 만듬
       |
   마운트  디렉터리에 마운트

  
3. 명령

 

상황  : /dev/sdb에서 100MB, /dev/sdc에서 60MB를 이용하여 볼륨 그룹 VG1을 만들고, VG1을 각각 60MB씩 2개의 논리 볼륨 (/VG1/LV1, /VG1/LV2)으로 나눈 다음에 각 논리 볼륨을 /home/m1, /home/m2에 마운트하시오.

 

 

; 파티션 만들기 ----------
; 논리 볼륨은 파티션을 기반으로 만듭니다.
; 파티션 형식은 8e (Linux LVM)으로 합니다.
;
# fdisk /dev/sdb
 명령 : n --> p --> 1 --> Enter --> +100M --> t --> 8e (Linux LVM) --> w

# fdisk /dev/sdc
 명령 : n --> p --> 1 --> Enter --> +60M --> t --> 8e (Linux LVM) --> w

 


; 물리 볼륨 만들기 ----------
; 각 파티션을 물리 볼륨으로 만듭니다.
;
# pvcreate /dev/sdb1 ; 두 번째 하드의 첫 파티션을 물리 볼륨으로 만듦
# pvcreate /dev/sdc1
#
# pvscan   ; 물리 볼륨을 스캔합니다
# pvdisplay  ; 물리 볼륨의 자세한 정보를 표시합니다

 

[참고]
pvremove /dev/sdb1 ; /dev/sdb1 파티션의 물리 볼륨을 제거해서 기본 파티션으로 환원함
   ; pvscan으로 확인하세요


; 볼륨 그룹 만들기 ----------
; 1개 이상의 물리 볼륨을 엮어서 1개의 볼륨 그룹으로 만듭니다.
;
# vgcreate VG1 /dev/sdb1 /dev/sdc1  ; 두 물리 볼륨을 합쳐 VG1이라는 볼륨 그룹 생성
#
# vgscan     ; 볼륨 그룹 스캔
# pvscan     ; 물리 볼륨 스캔
# vgdisplay VG1    ; VG1 볼륨 그룹의 자세한 정보 표시

 

[참고]
vgremove VG1  ; VG1 볼륨 그룹 제거

vgextend VG1 /dev/sdc2 ; /dev/sdc2 물리 볼륨을 볼륨 그룹 VG1에 추가
   ; 확인은 pvscan으로 하세요

vgreduce VG1 /dev/sdc2 ; VG1 볼륨 그룹에서 /dev/sdc2 물리 볼륨을 분리하여 제거
   ; 확인은 pvscan으로 하세요

 


; 논리 볼륨 만들기 ----------
; 볼륨 그룹을 디스크라고 생각하고, 논리 볼륨을 파티션이라고 생각하면 이해가 쉬움
;
; RAID-0 (span volume) --------
;
# lvcreate --size 60M --name LV1 VG1 ; VG1 볼륨 그룹에서 LV1 논리 볼륨을
     ; 60MB 크기로 만듦
# lvcreate --size 60M --name LV2 VG1 ; VG1 볼륨 그룹에서 LV2 논리 볼륨을
     ; 60MB 크기로 만듦

# lvscan    ; 논리 볼륨 스캔
# lvdisplay   ; 모든 논리 볼륨의 정보를 표시
# lvdisplay VG1/LV1  ; VG1 볼륨 그룹의 LV1 논리 볼륨의 정보를 표시

 

; RAID-2 (stripe volume) ----------
;
# lvcreate --stripes 2 --size 60M --name STRIPE VG1
;  VG1 볼륨 그룹에서 60MB용량의 스트라이프 볼륨을 2 개의 디스크를 이용해서 만든다.

 

; RAID-1 (mirror volume) -----------
;
# lvcreate --mirrors 1 --mirrorlog core --size 60M --name MIRROR VG1
;  VG1 볼륨 그룹에서 60MB용량의 미러 볼륨을 2 개의 디스크를 이용해서 만든다.
; --mirrorlog core 옵션은 log를 메모리에 만든다. 따라서 2개의 디스크만 있으면 된다.


; 만약
# lvcreate --mirrors 1  --size 60M --name MIRROR VG1
; VG1 볼륨 그룹에서 60MB용량의 미러 볼륨을 3 개의 디스크를 이용해서 만든다.
; VG1 볼륨 그룹은 3개의 디스크로 만들어진 볼륨이어야 한다.
; 2개는 미러로 사용하고, 나머지 1개는 log를 기록하는데 사용하기 때문이다.

 

; 논리 볼륨 포맷하기 ----------
; 논리 볼륨을 포맷해야 비로소 마운트하기위한 준비가 완료됩니다.
;
# mkfs -t ext3 /dev/VG1/LV1
 
; 논리 볼륨 크기 조절 ----------
# lvresize --size +10M  VG1/LV1 ; 단순 볼륨의 용량을 10M 크게 늘린다
# lvresize --size -10M  VG1/LV1 ; 단순 볼륨의 용량을 10M 작게 줄인다
# lvresize --size 10M  VG1/LV1 ; 단순 볼륨의 용량을 10M 로 수정한다
# lvresize --size +10M VG1/LV1 /dev/sdb1  ; VG1 볼륨 그룹 중에서 /dev/sdb1의 남은 용량을
     ; 이용해서 10M를 추가해서 LV1 논리 볼륨의 크기를
     ; 다시 조정한다.
;
; 크기를 작게 조정하는 경우에는 데이터가 손실될 수 있다.
; 볼륨 그룹의 범위 안에서 크기를 조절한다
; 볼륨 그룹의 크기를 조절할 때는 주어진 숫자대로가 아니라 블록 단위로 조절되어
; 정확히 10MB가 줄기 보다는 8MB가 줄거나 할 수 있다.


; 논리 볼륨 확장 ----------
# lvextend 명령을 사용하며, 사용법은 lvresize와 똑같다.
;
; resize와 다른 점은 확장만 하는 것이므로 데이터가 손실될 염려는 없다.
; 주어진 볼륨그룹의 빈 공간을 이용해서만 확장할 수 있다는 점에 유의한다.
; 볼륨 그룹이 가득 찼을 때는 볼륨 그룹의 크기를 vgextend로 확장한 후에 lvextend를 실행한다.
;

 

; 논리 볼륨 제거 ----------
# lvremove VG1/LV1   ; VG1 볼륨 그룹의 LV1 논리 볼륨을 제거

 


--- LVM하의 swap공간을 늘리거나 줄일 때도 위와 같은 명령을 사용하되
swapoff 명령으로 스왚을 중지시키고,
swap을 다시 만들거나 크기를 늘리고,
mkswap 명령으로 스왚 공간을 만들고,
swapon 명령으로 스왚을 활성화시키면 된답니다.

 

 

*** 재부팅하지 않고 /etc/fstab에 있는대로 다시 마운트하기
# mount -a


이름 패스워드
비밀글 (체크하면 글쓴이만 내용을 확인할 수 있습니다.)
왼쪽의 글자를 입력하세요.
   

miwit.com sir.co.kr DNS Powered by DNSEver.com DNS Powered by DNSEver.com