나의 즐겨찾기 | 블로그홈 | 바로가기 바로가기 | 로그인
헬렐레... @@~*
블로그  |  사진갤러리  |  동영상갤러리 방명록  |   즐겨찾기 추가
Ants (argonat)
프로필     
2009 11월
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
최근 댓글 전체
해당 oracle 커널..
엄청나군
많은 도움이 되었네요 ..
네이버 블로그로 퍼갑니..
주로 사용하는 운영체제..
최근 참조글 전체
Elavil withd..
Brutal porno..
Krystal stea..
Tera patrick..
Midi natale.
전체 글보기(30)
기본폴더
HP-UX
Linux
Windows
잡담
스크랩
HanRSS 로 구독하기Fish 로 구독하기
개설일 : 2005/01/04
 

Hand on LVM note 8.

Striped Logical Volume & Distributed Logical Volume
note 7에서 미러링을 들어 보았다면 스트라이핑도 들어 봤을 것이다. 이번 note는 스트라이핑과
HP-UX에서 첨 들어본 distributed LV에 관한 note이다.

먼저 스트라이핑이 무었인가, 전과 마찬가지로 들어는 봤지만 가물가물한 기억을 가진 사람을 위해 다시 한번 정리...
Striping은 여러개의 디스크를 하나의 디스크로 사용하는 것이다. 여기까지는 미러링과 동일하다. 하지만 미러링이 여러개의 디스크에 같은 데이터를 중복적으로 기록해 가용성을 확보하는 것이라면 스트라이핑은 여러개의 디스크에 데이터를 나누어 기록하므로서 성능, 즉 Performance의 향상을 가져오는 것이다. 물론 여기에는 큰 단점이 있는데 데이터의 손상시 복구가 복잡하다는 것이다. 그리고 해당 Striped LV에 속해있는 디스크중 하나라도 fail이 발생하면 바로 LV의 fail로 이어진다.

                   (RAID0, 5개의 디스크를 이용한 stripe)
                   성능을 최대화 하기 위해서는 각 디스크를 각각 다른 Controller에 연결하는 것이 좋다.
                   참고링크 http://docsrv.caldera.com:507/en/OSAdminG/vdmC.vdtypes.html

stripe size : stripe를 하기위해 각 디스크에 나누어서 기록할 크기를 정한다.
                 stripe size에 따라 각각의 Striped LV의 Performance에 큰 영향을 미치게 되므로
                 신중히 결정해야 한다. 최소 4k ~ 최대 32768K(default: 8l)

                 예를 들어 HFS file system의 경우는 8K를 권장하며, JFS는 64K를 권장한다. 
                 DB에 사용할 file system은 DB block size에 맞게하며, Disk arrary는 더욱 큰 
                 크기를 하는 것이 이득이 된다.(IO속도가 빠르기때문에.)
                 그리고 Distributed LV의 경우는 256M까지 지원하게 된다.(LE의 크기와 같게설정)
                 일반적으로 가장 적당한 크기는 성능 벤치마킹후에 결정
Striped Logical Volume의 작성
# lvcreate -n data -i 2 -I 8 -L 16 vg01    -> -i 2: striped disk의 수(2), -I 8:stripe size(8k)
# lvcreate -n data -i 2 -I 8 vg01
# lcextend -L 16 /dev/vg01/data /dev/dsk/c0t1d0 /dev/dsk/c1t1d0
                                                        -> 특정 disk를 설정할때는 위와같이 LV를 따로 만든
                                                            다음 Extend를 해준다.
# lvdisplay -v /dev/vg01/data               -> lvdisplay로 확인할 수 있다.

'''''''''''''''''''''''
schedule    striped

'''''''''''''''''''''''
Distributed Logical Volume
; 기본적으로 striped LV와 같지만 stripe size단위로 각 디스크에 나누어쓰는 것이 아니라 Logical Extent단위로 각 디스크에 나누어 쓰게 된다. 그리고 미러링이 가능하다.

Distributed Logical Volume을 사용하기 위해서는 전에 mirror allocation policy에서 보았던 "/etc/lvmpvg"라는 파일이 필요하다.
"lvmpvg"의 같은 컨트롤러에 속한 디스크를 스트라이핑하게 되고, 서로 다른 콘트롤러의 디스크 들을 미러링하게 된다.
ex>
/etc/lvmpvg                                             
 VG /dev/vg01                                          
 PVG controller0                                         
 /dev/dsk/c0t0d0   ┐striping  ┐                 
 /dev/dsk/c0t1d0   ┘            │                  
 PVG controller1                    │mirroring    
 /dev/dsk/c1d0t0   ┐striping  ┘                 
 /dev/dsk/c1d1t0  
┘                                 

Non-mirrored distributed LV
# vi /etc/lvmpvg
# lvcreate -n data -D y -s g vg01
# lvextend -L 16 /dev/vg01/data /dev/dsk/c0t0d0 /dev/dsk/c0t1d0
# lvdisplay -v /dev/vg01/data

'''''''''''''''''''''''
Allocation    PVG-strict/distributed

'''''''''''''''''''''''

Mirrored Distributed LV ; 위의 미러링 되지않는 Distributed LV예제에 이어서.
# lvextend -m 1 /dev/vg01/data /dev/dsk/c1t0d0 /dev/dsk/c1t1d0
# lvdisplay -v /dev/vg01/data

'''''''''''''''''''''''
Mirror copies   1
Allocation        PVG-strict/distributed

'''''''''''''''''''''''

댓글쓰기

댓글쓰기 입력폼

포스트 목록 닫기

목록보기