SDS 사용법

2010.05.12 03:01

조인상 조회 수:7182

원문 : http://www.ischo.net -- 조인상 // 시스템 엔지니어

Writer : http://www.ischo.net -- ischo // System Engineer in Replubic Of Korea

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

본문 : http://www.ischo.net -- 조인상 //시스템 엔지니어

+++++++++++++++++++++++++++++++++++++++++++++++++++++++


출처 : http://ppland.com
==========================


OS Mirrorring


1. disksuite *.* 를 설치합니다.

2. 총 2의 디렉토리가 구성됩니다.
  /etc/lvm
  /usr/sbin

3. 먼저 disk size가 같다고 하고 각각의 디스크에는 약3~10mb 정도의 메타db영역을 남겨둡니다.
  처음 os 설치시에 영역을 확보해두시면 됩니다.

4. os 설치가 끝나면..miiror target disk partition을 똑같이 구성합니다.
  label까지 합니다.

그러면 준비는 끝납니다.


예제

구성은 다음과같다

disk1  ------------------------------>  disk2
c0t0d0s0  /
      s1  swap
      s6  /usr
      s7  metadb영역

5 /etc/opt/SUNWmd/bin  디렉토리에 md.tab 화일을 구성합니다.
(아래의 d0 는 d10 과 d20을 묶어두기 위한 pool영역이라 보시면됩니다.
  숫자는 가독성을 위하여 d0 영역에 d10 d20이라 정해놓은 것이니 크게 의미하고
  있지는 않습니다.)

d0    -m  d10
d10  1  1  /dev/dsk/c0t0d0s0
d20  1  1  /dev/dsk/c0t1d0s0
d1    -m  d11
d11  1  1  /dev/dsk/c0t0d0s1
d21  1  1  /dev/dsk/c0t1d0s1
d2    -m  d12
d12  1  1  /dev/dsk/c0t0d0s6
d22  1  1  /dev/dsk/c0t1d0s6

위의 작성이 끝나면.. 저장을 하고 나옵니다.
다음의 commend 는 /usr/opt/SUNWmd/sbin  path에 존재합니다.

#metadb -a    -f  /dev/dsk/c0t0d0s7  /dev/dsk/c0t1d0s7
(메타 db 영역을 잡아줍니다.) -a( add) -d (delete) -f (강제로)
#metadb  (잡아진 영역을 보여줍니다.)
#metainit -f d10
#metainit -f d20 (먼저 각각의 영역을 stripe로 잡아줍니다.)

#metainit -f d11
#metainit -f d21

#metainit -f d12
#metainit -f d22

#metainit -f d0  (이 명령을 내리면 d0의 pool안에 stripe된 d10이 들어갑니다.)
#metainit -f d1  (이 명령을 내리면 d1의 pool안에 stripe된 d11이 들어갑니다.)
#metainit -f d2  (이 명령을 내리면 d2의 pool안에 stripe된 d12가 들어갑니다.)

#metaroot d0( 이명령으로 root device 명이 변경되며, 그 기록은 /etc/system 
/etc/vfstab 화일의 수정을 가합니다.
명령을 내리시기전 화일을 백업하셔야 합니다. (부팅이 안될수도 있기에..)

#reboot

#metattach d0 d20 (이명령을 내리면 d0의 pool 안에 있던 d10 과 d20의 mirror가 구성되어집니다)
#metattach d1 d21 (이명령을 내리면 d1의 pool 안에 있던 d11 과 d21의 mirror가 구성되어집니다)
#metattach d2 d22 (이명령을 내리면 d2의 pool 안에 있던 d12 과 d22의 mirror가 구성되어집니다)


다음과 같은 명령어로 동기화되는 정도를 지켜보시면 됩니다.
#metastat | more
#metastat | d0



stripe입니다.(RAID 0)


disk 4개를 stripe 로 묶을때입니다. 통으로
먼저 disk 4개의 10mb정도의 metadb영역을 만듭니다.
partition을 구성합니다. 4개 똑같이 하면 되겠지요
label을 시킨후

먼저 metadb를 pool 안에 적용시킵니다.
(metadb는 7번 slice 라고 하고 data 영역을 3 slice라고 합니다.)

#metadb -a -f /dsk/c0t1d0s7 /dev/dsk/c0t2d0s7 \
/dev/dsk/c0t3d0s7 /dev/dsk/c0t4d0s7
(metadb적용)
#metadb
(적용사항을 확인합니다.)


/etc/opt/SUNWmd/md.tab 화일에 다음의 내용을 추가합니다.

d10        1 4 /dev/dsk/c0t1d0s3 /dev/dsk/c0t2d0s3 \
/dev/dsk/c0t3d0s3  /dev/dsk/c0t4d0s3
#metainit -f d10
적용시킨후 바로 파일 시스템을 만드시면 됩니다.
#newfs /dev/md/rdsk/d10 하시면 됩니다.



다음은 mirror 입니다.(RAID 0+1)


mirror는 metadb영역까지는 같지만.
md.tab부터 설명드립니다.
d0 -m  d10
d10        1 1 /dev/dsk/c0t1d0s3
d20        1 1 /dev/dsk/c0t2d0s3
d1 -m  d11
d11  1 1 /dev/dsk/c0t3d0s3
d21  1 1 /dev/dsk/c0t4d0s3

각각 1개씩 mirror입니다. (d10 d20 mirror, d11 d12 mirror)
#metainit -f d10
#metainit -f d20
#metainit -f d11
#metainit -f d21
그러면 일단 stripe 구성이 됩니다. (아까의 stripe랑은 숫자가 틀린것
보이지죠) 그거랑은 틀리니 주의하십시오

#metainit -f d0
#metainit -f d1
위의 명령을 내림으로써 d0라는 pool에 d10은 자동으로 들어가게됩니다.
(정리하면, d0라는 mirror영역에 먼전 d10이라는 sub mirror가 먼저들어가게 되는 것이지요)
여기서 부터는 #metastat라는 명령으로 현재 상황을 볼수 있습니다.
아무런 변화가 없을겁니다. )
#metaattache d0 d20
#metaattache d1 d21
(위의 명령어를 실행되면 d0영역에 있던 d10과 새로 적용된 d20의 mirror가 시작됩니다.)
#metastat 명령어를 확인하면 %로 현재의 진행상황이 올라가게 됩니다.
기다리면 mirror가 완성되어 집니다.

또 한가지 경우

disk 2개를 먼저 묶어서  mirror할때는
d0 -m  d10
d10        1 2  /dev/dsk/c0t1d0s3 /dev/dsk/c0t2d0s3
d20        1 2  /dev/dsk/c0t3d0s3 /dev/dsk/c0t4d0s3

위에 처럼 md.tab을 조정하시면되겠지요?



RAID 5


d13        -r /dev/dsk/c0t1d0s3 /dev/dsk/c0t2d0s3 \
            /dev/dsk/c0t3d0s3 -h hsp000
hsp000  /dev/dsk/c1t4d0s3
#metainit -f d13
위의 명령어 실행후 metastat로 확인을 하게되면 4개의 disk로 1개의 hot spare를
두어 실행중인 %를 확인할수 있습니다.
서버에 요청 중입니다. 잠시만 기다려 주십시오...