티스토리 뷰

OS/Solaris

RAID 구성하기 - solaris

solarwind 2008. 6. 25. 20:55
반응형
RAID
 (1) VERITAS(VxVM)
 (2) SUN(DiskSuite) = SVM(Solaris 불륨 레이블)
    용량과 리던딘시 문제를 해결하기 위해 , 솔라리스는 " redundant  array of
    inexpenisive disks"(RAID) 표준에 대한 지원을 지원한다.
    <-  redundant '여유도' 의미
    그리고 RAID는 중요한 데이터를 가지고 있는 서버에 주로 사용한다.
   
    RAID는 다양한 유형의 'striping'과 'mirroring'을 제공하는 여러 서로 다른
    수준(Level)을 제공한다.
   
    RAID 0 - Concatenation Strinping
            :  이 중에 Striping 은 동일한 사이즈의 두 개 이상의 디스크에
                I/O를 분산 시키는 것
                --성능 높고 가용성은 낮다.
           
               
    RAID 1 - 미러링
            : 두 개 이상의 디스크에 테이터를 미러링(복사) 한다.
            즉 디스크 한계가 장애가 생기더라도 데이터가 손실되지 않는다.
            --중요한 데이터에 치중한다면
           
    RAID 5 - parity
            : 스트라이핑이지만 패러티 정보를 분산시켜서 저장함으로써
            RAID 0 이 제공 못하는 가용성을 제공한다.
            디스크 한 개가 장애가 생기더라도 나머지 디스크를 가지고 장애난 디스크의
            정보를 계산함. 
            --성능 향상(즉, 속도에 치중한다면 )
            foar
           
--metadb 옵션들
 
  -a :
 
  Attach a new database device
  The /kernel/drv/md.conf file is automatically
  updated with th new information
  meta database 정보를 add(추가)
 
  -f :
  The -f option is used the create the initial
  static database.
  :force(강제로 추가)
 
  -c :
  number : Specifies the number of replicas to be placed on each
  device
  :meta database replica(복사본)의 개수 지정
 
  -------------------------------------------------------------------
 
  MetaDB 란
  DiskSuite의 전체의 config 정보와 metadevice의 상태 정보를 가지고 있는 DB
  slice당 20M 정도면 충분하고, 최소 2개의 DB 복사본(Replicas)이 요구된다.
 
  [권장사항]
  Disk 1 -3 Replicas
  Disk 2 -4 각 Disk 당 Replicas (총 4 -8)
  Disk 5 이상 - 각 Disk 당 Replice
  - MetaDB 생성할 공간이 없으면, swap를 조금 줄이고, 공간을 확보한다.
  -OS Mirror시에는 두 Disk에 각각 2개 이상의 MetaDB 를 생성한다.
 
 ===================================================================
 

 -- RAID 0 구성 실습
           
bash-2.05# df -h
파일시스템            크기  사용  가용  용량    설치지점
/dev/dsk/c0t0d0s0      5.8G  2.9G  2.8G    51%    /
/proc                    0K    0K    0K    0%    /proc
mnttab                  0K    0K    0K    0%    /etc/mnttab
fd                      0K    0K    0K    0%    /dev/fd
swap                  838M   40K  838M    1%    /var/run
swap                  838M  328K  838M    1%    /tmp
/dev/dsk/c0t0d0s3      94M  1.0M    84M    2%    /p3
/dev/dsk/c0t0d0s4      94M  1.0M    84M    2%    /p4
/dev/dsk/c0t0d0s5      94M  1.0M    84M    2%    /p5
/dev/dsk/c0t0d0s7      1.8G  1.9M  1.7G    1%    /export/home

--Raid 구성하기 전에 /p /p4 mount file --> umount 시킴

bash-2.05# umount /p3
bash-2.05# umount /p4

bash-2.05# df -h
파일시스템            크기  사용  가용  용량    설치지점
/dev/dsk/c0t0d0s0      5.8G  2.9G  2.8G    51%    /
/proc                    0K    0K    0K    0%    /proc
mnttab                  0K    0K    0K    0%    /etc/mnttab
fd                      0K    0K    0K    0%    /dev/fd
swap                  839M    40K  839M    1%    /var/run
swap                  839M  328K  839M    1%    /tmp
/dev/dsk/c0t0d0s5      94M  1.0M    84M    2%    /p5
/dev/dsk/c0t0d0s7      1.8G  1.9M  1.7G    1%    /export/home
bash-2.05#

bash-2.05# metadb
metadb: solaris3: 기존 데이터베이스 없음

bash-2.05# metadb -a -f  -c 1 /dev/dsk/c0t0d0ns3 /dev/dsk/c0t0d0s4
bash-2.05# metadb
        flags          first blk      블록 개수
    a        u        /dev/dsk/c0t0d0s3
    a        u        /dev/dsk/c0t0d0s4
bash-2.05#
bash-2.05# vi /etc/lvm/md.tab

# Logging with mirrored master device and striped logging device
#
#      d1              -t d14 d13
#      blue/d1        -t blue/d14 blue/d13
#
# RAID of devices
#
#      d15            -r /dev/dsk/c1t0d0s0 /dev/dsk/c1t1d0s0 \
#                          /dev/dsk/c1t2d0s0 /dev/dsk/c1t3d0s0
#      blue/d15        -r /dev/dsk/c2t0d0s0 /dev/dsk/c2t1d0s0 \
#                          /dev/dsk/c2t2d0s0 /dev/dsk/c2t3d0s0
#
# Hot Spare Pool of devices
#
#      hsp001          /dev/dsk/c1t0d0s0
#      blue/hsp001    /dev/dsk/c2t0d0s0
#
# 100MB Soft Partition
#
#      d1              -p /dev/dsk/c1t0d0s1 100M
#      blue/d1        -p /dev/dsk/c2t0d0s1 100M
d5 2 1 /dev/dsk/c0t0d0s3 1 /dev/dsk/c0t0d0s4
--마지막 라인 추가 하기
~
:wq!

bash-2.05# metainit d5
d5: Concat/스트립이 설정됨

bash-2.05# newfs /dev/md/rdsk/d5
newfs: 새 시스템 파일 /dev/md/rdsk/d5을(를) 구성하시겠습니까: (y/n)? y
/dev/md/rdsk/d5:        16 트랙, 63 섹터의 390 실린더에 있는 393120 섹터
        192.0MB (25 실린더 그룹) (16 c/g, 7.88MB/g, 3776 i/g)
수퍼 블록 백업 (fsck -F ufs -o b=#의 경우):
 32, 16224, 32416, 48608, 64800, 80992, 97184, 113376, 129568, 145760,
 242912, 258080, 274272, 290464, 306656, 322848, 339040, 355232, 371424,
 387616,
bash-2.05#

bash-2.05# tail /etc/lvm/md.tab
# Hot Spare Pool of devices
#
#      hsp001          /dev/dsk/c1t0d0s0
#      blue/hsp001    /dev/dsk/c2t0d0s0
#
# 100MB Soft Partition
#
#      d1              -p /dev/dsk/c1t0d0s1 100M
#      blue/d1        -p /dev/dsk/c2t0d0s1 100M
d5 2 1 /dev/dsk/c0t0d0s3 1 /dev/dsk/c0t0d0s4
bash-2.05

bash-2.05# cd /

bash-2.05# mkdir /stripe

bash-2.05# mount /dev/md/dsk/d5 /stripe/

bash-2.05# cd /stripe/

bash-2.05# ls
lost+found
bash-2.05# pwd
/stripe
bash-2.05# mkdir aaa
bash-2.05# touch bb.txt
bash-2.05# ls
aaa        bb.txt      lost+found

bash-2.05# metastat
d5: Concat/Stripe
    크기: 393120 블록(191 MB)
    스트립 0:
        장치      시작 블록    Dbase  Reloc
        c0t0d0s3      9072    예      예
    스트립 1:
        장치      시작 블록    Dbase  Reloc
        c0t0d0s4      9072    예      예

장치 재배치 정보:
장치    재배치 장치 ID
c0t0d0  예    id1,dad@AST39140A=AY425135
bash-2.05#

bash-2.05# df -h
파일시스템            크기  사용  가용  용량   설치지점
/dev/dsk/c0t0d0s0      5.8G  2.9G  2.8G    51%    /
/proc                    0K    0K    0K    0%    /proc
mnttab                  0K    0K    0K    0%    /etc/mnttab
fd                      0K    0K    0K    0%    /dev/fd
swap                  836M    40K  836M    1%    /var/run
swap                  836M  328K  836M    1%    /tmp
/dev/dsk/c0t0d0s5      94M  1.0M    84M    2%    /p5
/dev/dsk/c0t0d0s7      1.8G  1.9M  1.7G    1%    /export/home
/dev/md/dsk/d5        180M  1.0M  161M    1%    /stripe

--Raid 0 으로 구성됨 파일 100M 합 200M 구성됨.
bash-2.05#

======================================================================

--미러링 실습

bash-2.05# vi /etc/lvm/md.tab

d50 -m /dev/md/dsk/d52 /dev/md/dsk/d53

d52 1 1 /dev/dsk/c0t0d0s3
d53 1 1 /dev/dsk/c0t0d0s4

:wq!
--마지막 라인에 추가시킴

bash-2.05# metainit d52
d52: Concat/스트립이 설정됨

bash-2.05# metainit d53
d53: Concat/스트립이 설정됨

bash-2.05# metainit d50
metainit: d50: 경고: 이 형식의 metainit는 바람직하지 않음.
submirror가 동일한 데이터를 갖고 있지 않을 수 있음.
추가 정보는 metainit(1M)의 ERRORS를 참조하십시오.
d50: 이중화가 설정됨


bash-2.05# newfs /dev/md/rdsk/d50
newfs: 새 시스템 파일 /dev/md/rdsk/d50을(를) 구성하시겠습니까: (y/n)? y
/dev/md/rdsk/d50:      16 트랙, 63 섹터의 187 실린더에 있는 188496 섹터
        92.0MB (12 실린더 그룹) (16 c/g, 7.88MB/g, 3776 i/g)
수퍼 블록 백업 (fsck -F ufs -o b=#의 경우):
 32, 16224, 32416, 48608, 64800, 80992, 97184, 113376, 129568, 145760,
 161952, 178144,


bash-2.05# tail /etc/lvm/md.tab
#
#      d1              -p /dev/dsk/c1t0d0s1 100M
#      blue/d1        -p /dev/dsk/c2t0d0s1 100M
#d5 2 1 /dev/dsk/c0t0d0s3 1 /dev/dsk/c0t0d0s4

d50 -m /dev/md/dsk/d52 /dev/md/dsk/d53

d52 1 1 /dev/dsk/c0t0d0s3
d53 1 1 /dev/dsk/c0t0d0s4

bash-2.05# df -h
파일시스템            크기  사용  가용  용량    설치지점
/dev/dsk/c0t0d0s0      5.8G  2.9G  2.8G    51%    /
/proc                    0K    0K    0K    0%    /proc
mnttab                  0K    0K    0K    0%    /etc/mnttab
fd                      0K    0K    0K    0%    /dev/fd
swap                  864M    40K  864M    1%    /var/run
swap                  864M  312K  864M    1%    /tmp
/dev/dsk/c0t0d0s5      94M  1.0M    84M    2%    /p5
/dev/dsk/c0t0d0s7      1.8G  1.9M  1.7G    1%    /export/home
bash-2.05# pwd
/
bash-2.05# mkdir /mirror
bash-2.05#

bash-2.05# mount /dev/md/dsk/d50 /mirror
bash-2.05#
bash-2.05# cd mirror/
bash-2.05# mkdir ccc
bash-2.05# touch ddd.txt
bash-2.05#
bash-2.05# df -h
파일시스템            크기  사용  가용  용량    설치지점
/dev/dsk/c0t0d0s0      5.8G  2.9G  2.8G    51%    /
/proc                    0K    0K    0K    0%    /proc
mnttab                  0K    0K    0K    0%    /etc/mnttab
fd                      0K    0K    0K    0%    /dev/fd
swap                  863M    40K  863M    1%    /var/run
swap                  863M  312K  863M    1%    /tmp
/dev/dsk/c0t0d0s5      94M  1.0M    84M    2%    /p5
/dev/dsk/c0t0d0s7      1.8G  1.9M  1.7G    1%    /export/home
/dev/md/dsk/d50        86M  1.0M    77M    2%    /mirror

-- 마지막 라인 확인 미러로 구성시 2개의 용량을 반만 사용됨을 알수 있다.

bash-2.05# metastat
d50: 이중화
    서브미러 0: d52
      상태: 확인       
    서브미러 1: d53
      상태: 확인       
    전달: 1
    읽기 옵션: roundrobin (기본값)
    쓰기 옵션: parallel (기본값)
    크기: 188496 블록(92 MB)

d52: d50의 Submirror
    상태: 확인       
    크기: 188496 블록(92 MB)
    스트립 0:
        장치      시작 블록    Dbase        상태 Reloc 핫 스패어
        c0t0d0s3      17136    예            확인    예


d53: d50의 Submirror
    상태: 확인       
    크기: 188496 블록(92 MB)
    스트립 0:
        장치      시작 블록    Dbase        상태 Reloc 핫 스패어
        c0t0d0s4      17136    예            확인    예


장치 재배치 정보:
장치    재배치 장치 ID
c0t0d0  예    id1,dad@AST39140A=AY425135
bash-2.05#



========================================================================

 --기존  Meta 정보 삭제
 -- Raid 삭제
 
#metastat
#df -h
#umount /mirror
--unmount 하기 전에 기존 마운트 해제 시킴
bash-2.05# umount /mirror

bash-2.05# metaclear d52
d5: Concat/스트립이 지워짐
bash-2.05# metaclear d53
d5: Concat/스트립이 지워짐
bash-2.05# metaclear d50
d5: Concat/스트립이 지워짐
bash-2.05#

  --강제 삭제시  metaclear -f 옵션을 주고 강제 삭제 시킴

bash-2.05# metadb -d /dev/dsk/c0t0d0s3
bash-2.05# metadb -d /dev/dsk/c0t0d0s4
metadb: solaris3: 최소 1개의 데이터베이스를 갖고 있어야 함(-f 무시)

bash-2.05# metadb -df /dev/dsk/c0t0d0s4
bash-2.05# metadb
bash-2.05# metastat

d50: 이중화
    서브미러 0: d52
      상태: 확인       
    서브미러 1: d53
      상태: 확인       
    전달: 1
    읽기 옵션: roundrobin (기본값)
   쓰기옵션: parallel (기본값)
    크기: 196560 블록(95 MB)

d52: d50의 Submirror
    상태: 확인       
    크기: 196560 블록(95 MB)
    스트립 0:
        장치      시작 블록    Dbase        상태 Reloc 핫 스패어
        c0t0d0s3      9072    아니          확인    예


d53: d50의 Submirror
    상태: 확인       
    크기: 196560 블록(95 MB)
    스트립 0:
        장치      시작 블록    Dbase        상태 Reloc 핫 스패어
        c0t0d0s4      9072    아니          확인    예


장치 재배치 정보:
장치    재배치 장치 ID
c0t0d0  예    id1,dad@AST39140A=AY425135
bash-2.05#
 
반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
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
글 보관함