Raid 개념정리!!!

e.t.c 2011. 5. 3. 15:20

[ Raid 0 ]
concatenation volume

abc

 

 

 

a

 

+

 

=

b

 

 

 

 

c

- 최소 disk : 1개
- redundancy : 없음
- performance : read :+
                       write : +
- 사용률 : 100%
남은 disk 용량을 모아서 1개의 큰 disk를 만듬.
I/O : random I/O(2~8kbyte) : 약간의 read 성능 향상.
       sequantial I/O(8kbyte 이상) : 거의 효과 없음. 

stripe volume

a

 

b

 

a

c

+

 

=

b

 

 

 

 

c

stripe unit size

64kb=

128block

 

 

stripe width

128kb

 

 

 

- 최소 disk : 1개
- redanduncy : 없음
- performance : read : +++
                      write : +++
- 사용률 : 100%
stripe unit size * disk개수 = 128kb (application I/O performance 프로그램으로 측정)
random I/O일 경우 : disk 개수를 늘려줌.(사용한 물리disk보다 크면 안 됨)
sequance I/O일 경우 : stripe unit size를 늘려줌.
각 disk의 controller가 다를 경우 성능이 더 향상.


[ Raid 1 ]
Mirroring volume

a

 

a

 

1 1

 

a

b

+

b

+

1 1

=

b

c

 

X

 

1 0

 

c

                                 log disk
- 최소 disk : 2개
- redundancy : 있음
- performance : read : ++
                      write : --
- 사용률 : 50%
disk낭비가 심함.
log disk : disk에 정보를 넣었는지 안 넣었는지에 대한 정보 기록.
command line에서 default로 nolog이므로 옵션을 추가해서 설정해야 함.
ex) layout=mirror,log
vmsa GUI에서는 default로 log 만들어 줌.
read policy : round robin : 각 disk를 번갈아가며 읽음.
                  select(default) : 부하가 적은 disk를 먼저 읽음.
                  prefer : read 성능이 좋은 disk를 사용자가 선택. 


[ Raid 5 ]
Striping with Distributed Parity volume

a

 

b

 

p1

 

 

 

a b

d

+

p2

+

c

+

 

=

c d

p3

 

e

 

f

 

log disk

 

e  f

                                           
- 최소 disk : 3개 (log plex 추가되면 최소disk 4개 필요, default=log)
- redundancy : 있음
- performance : read : ++
                       write : -
- 사용률 : n-1/n
log disk : mirror와 달리 log disk에 실제정보를 기록 후 volume으로 옮겨 기록.
1개의 disk fail시 degrade 모드로 실행. 성능 저하.
write가 20% 이상일 경우 성능 저하. write시 XOR연산이 발생한다.
vxrelocd 데몬이 작동해서 복구함.
- vxrelocd : spare가 없어도 여분의 공간이 많은 disk로 fail이 발생한 disk의 data를 옮겨준다.(VxVM3.2 이상 버전)
- vxsparecheck : VxVM3.2 이전 버전.
                         spare가 있어야만 relocation 해 준다.
                          /etc/rc2.d/S95vxvm-recover 에 정의되어 있다.

vxsparecheck

vxrelocd (default)

Hot spare 꼭 필요

Hot spar가 있으면 먼저 사용하고 다른 disk의 남은 용량을 사용한다. Hot spare가 없어도 가능.

전체 disk 내용 이동

fail이 발생한 subdisk만 이동

/etc/rc2.d/S95vxvm-recover에서 주석처리를 없애거나 표시하는 것으로 실행 및 중단이 가능하다. default로 vxrelocd가 실행.

 [ Raid 0+1 ]
Mirror-Stripe volume

striping

 

 

 

 

 

 

 

 

 

 

 

disk1

 

disk2

 

 

 

 

 

 

 

 

 

 

 

mirroring

 

 

 

 

 

 

 

 

 

 

 

 

 

 

stripng

 

 

 

 

 

 

 

 

 

 

 

disk3

 

disk4

 

 

 

 

 

 

 

 

 

 

 

log disk

 

 

 

- 최소 disk : 4개
- redundancy : 있음
- performance : read : ++
                       write : ++
- 사용률 : 50%
lay-out이 단순하다.
복구타임이 느리다. disk1이 fail시 disk2의 데이터도 모두 fail 된다. 즉 1개 disk fail시 2개의 disk를 복구해야 한다.
Raid1+0보다 약간의 성능이 좋기는 하지만 별로 효과는 없다. 


 [ Raid 0+1 ]
Stripe-Mirror volume

mirroring

 

 

 

 

 

 

 

 

 

 

 

disk1

 

disk2

 

 

 

 

 

 

 

 

 

 

 

striping

 

 

 

 

 

 

 

 

 

 

 

 

 

 

mirroring

 

 

 

 

 

 

 

 

 

 

 

disk3

 

disk4

 

 

 

 

 

 

 

 

 

 

 

log disk

 

 

 

- 최소 disk : 4개
- redundancy : 있음
- performance : read : ++
                      write : ++
- 사용률 : 50%
lay-out이 복잡하다.
복구타임이 Raid0+1보다 빠르다. disk1이 fail시 data2의 데이터를 가지고 복구를 한다.
Raid0+1은 1개의 disk fail시 2개 disk를 복구해야 하지만 Raid1+0은 대상 disk 1개만 복구하면 된다.

해당내용은 "Itbank Solaris 강의자료에서 발췌한 내용입니다." 상업적 이용은 불가능하며 불법적인
스크랩은 허용하지 않습니다. 양해바랍니다.(__)꾸벅

AND