OS/SOLARIS2009. 5. 25. 15:22
반응형
출처 : http://moonlite.tistory.com/trackback/29

swat : samba가 제공하는 웹 관리 도구
  예) SWAT ----------------------------------------------------
          #cp /etc/apache/httpd.conf-example /etc/apache/httpd.conf
          #/usr/apache/bin/apachectl start
         웹브라우저에서 http://ip:901/ 입력후 swat화면으로 접속

삼바클라이언트 : 윈도우서버의 공유자원을 클라이언트(솔라리스 삼바)가 접속할 때 사용
    #smbclient //컴퓨터이름(IP)/공유폴더이름
    #smbclient -U username //moonlite/share     :: username에 해당하는 사용자로 접속


SVM (Solaris Volume Manager) : 다수의 디스크와 디스크상의 데이터를 관리 할 수 있게 하는 소프트웨어 (논리적인 디스크 = metadevice)
       - 물리적인 디스크와 데이터를 논리적인 디스크로 구성
       - 논리적인 디스크 구성 시 기본단위는 slice또는 disk partition
      장점> 디스크의 I/O 성능 향상
               저장용량과 데이터의 가용성 향상
               디스크 장애 발생시 복구 방안 제공

SVM 오브젝트
    - Metadevice : 물리적인 슬라이스 그룹을 논리적인 단일 디바이스로 표현
                            RAID기법을 이용하여 스토리지 용량과 데이터 가용성을 향상
         Raid : 논리적으로 대용량의 저장공간을 만들 수 있으면서 데이터 입출력을 향상과 관리향상을 가진 S/W기법
 
    - MetaDB : SVM(Metadevice)구성 상태에 관한 디스크 정보를 저장하고 있는 데이터 베이스
    - Hot Spare Pool : 물리적인 슬라이스 장애 발생시 자동으로 복구할 슬라이스나 디스크

 Metadevice
     device파일은 /dev/md/rdsk, /dev/md/dsk에 목록 생성
     metadevice name은 기본적으로 128개의 디바이스 이름 사용 (/dev/md/dsk/d0~127)
       + 1024까지 사용하려면 /kernel/drv/md.conf에서 수정
     metadevice에 대해 파일 시스템 명령어 사용이 가능하지만, format명령어는 사용할 수 없음
       + mount, umount, ufsdump, ufsrestore 등..

MetaDB
    MetaDB의 크기는 기본적으로 517KB이며 파티션의 시작부분에 저장됨
    메타디바이스를 생성하기 전에 반드시 먼저 생성해야 함
    저장공간을 할당해야 하기 때문에 사용하지 않는 슬라이스에 생성하는 것이 좋다
    MetaDB는 여러개의 복제 metaDB를 생성하며, 단일 metaDB의 장애로 인한 데이터 손실을 방지함 (기본적으로 3개의 복제본이 요구되며, 디스크의 분산저장함)
   최대 50개의 metaDB 생성 가능
    디스크 또는 슬라이스의 장애로 인해 MetaDB의 손실이 일어날 경우 50%이상일 경우는 running, 이하일경우 panic이나 reboot

--------------------------------
실습1) Metadb를 만드는 명령어
     c0d0 - s0 : solaris
                 s1 : swap
                 s3 : metadb
                 s4 : metadb 복제
┌────┐
│    c0d1 │      s0 : 100m
│ c2t0d0 │       s1 : 100m
│ c2t2d0 │       s3 : 100m
│ c2t1d0 │       s4 : 100m - metadb
└────┘
 
 #metadb -a -f c0d0s3      :: c0d0디스크의 슬라이스3번에 metadb를 생성함
 #metadb      :: metadb정보를 확인
 #metadb -a c0d0s4         :: c0d0디스크의 슬라이스4번에 복제metadb 생성
 #metadb      :: metadb정보를 확인
 #metadb -d c0d0s4         :: c0d0디스크의 슬라이스4번의 생성된 metadb 삭제
 #metadb -a -c3 c0d0s4  :: c0d0디스크의 슬라이스4번에 복제metadb를 3개 생성
 #metadb      :: metadb정보를 확인하면 제일 위에있는것이 실제 서비스하는 metadb이며 나머지것은 레플리카라고 함

 다시셋팅>
 #metadb -a -f -c3 c0d0s4
 #metadb -a -f -c3 c2t1d0s4
 #metadb -a -f -c3 c2t2d0s4

concatenate volume
 - RAID 0 : 여러개의 물리적인 디스크를 하나의 논리적인 디스크로 구성하는 방식 (concat / stripe)
           장점 - 대용량의 디스크를 구성할 수 있으며, 파일시스템의 변경 없이 추가적으로 용량을 늘려 사용할 수 있다
           단점 - 물리적인 디스크 장애가 발생할 경우 데이터 손실이 발생함

       #metainit d10 2 1 c2t0d0s2 1 c2t1d0s2   :: 2개의 물리적 디스크를 d10이라는 이름으로 1개의 논리적인 디스크로 만듬
-----------------------
실습 ) c0d1s0 과 c2t0d0s0을 묶음
 #metainit d10 2 1 c0d1s0 1 c2t0d0s0
 #metastat            :: meta device 구성 정보를 확인하는 명령어
 현재는 파일시스템 구성이 안되어있으니 사용할 수 없다
 #newfs /dev/md/rdsk/d10   :: ufs로 파일시스템 구성
 #mkdir lab     :: 마운트 할 디렉토리 구성
 #mount /dev/md/dsk/d10 /lab     :: /lab에 마운트
 #df -h    :: 확인
-----------------------
 실습2 ) File system이 구성된 disk의 volume 구성방법
  #newfs c2t1d0s0    ::  c2t1d0s0에 ufs 파일 시스템 구성
  #mkdir /lab/test1    ::  마운트할 디렉토리 생성
  #mount /dev/dsk/c2t1d0s0 /lab/test1     ::  /lab/test1에 마운트
  #cd /lab/test1        :: 디렉토리 이동
  #mkfile 5m testtest   :: testtest라는 5mb짜리 파일을 만듬
  #metainit -f d11 2 1 c2t1d0s0 1 c2t2d0s0     :: -f 옵션을 이용하여 강제로 raid 구성
  #metastat    ::  확인
  #df -h          :: mount정보 확인하면 아까 마운트 한 정보만 있음,
  #mkdir /lab/test2    :: 마운트 할 디렉토리를 생성
  #mount /dev/md/dsk/d11 /lab/test2       :: raid 한 metadevice를 test2에 마운트
  #umount /lab/test1  :: /lab/test1 마운트 해제
  #growfs -M /lab/test2 /dev/md/rdsk/d11  :: 파일시스템을 재구성
  #df -h        :: mount정보 확인 (용량)
  #cd /lab/test2
  #ls    :: 파일이 존재하는것을 알 수 있음
----------------------------------
실습3 ) 실습1의 용량이 꽉차있다고 가정하고, c0d1s1을 하나 더 붙이기
  #metattach d10 c0d1s1 :: 이미 만들어진 metadevice에 물리적인 디스크를 추가하여 size 확장
  #metastat  ::  확인
  #df -h       ::  파일시스템 갱신이 안되어 size가 안늘어 나있음
  #growfs -M /lab /dev/md/rdsk/d10  :: 파일시스템을 재구성
  #df -h       :: size가 늘어나 있음을 확인
-----------------------------------

Raid 0 - stripe volume
 여러개의 물리적인 디스크를 하나의 논리적인 디스크로 구성하지만 데이터기록을 지정된 stripe size로 분산하여 동시에 디스크를 사용함, 장점은 file access 속도가 빨라짐

 명령어 : metainit d20 논리적인디스크 갯수, 물리적인디스크 갯수 장치명

-------------------------------
실습4) stripe raid 0 생성
 #metainit d20 1 2 c0d1s3 c2t0d0s3  :: stripe raid 0 구성
 #metastat  :: start block 확인해보면 둘다 0인것을 확인
 #newfs /dev/md/rdsk/d20  :: 파일시스템 생성
 #mkdir /lab/test3        :: 마운트 할 디렉토리 생성
 #mount /dev/md/dsk/d20 /lab/test3  :: /test3에 마운트
 #mkfile 150m /lab/test3/test         ::  150m용량의 test파일을 만들어서 hdd엑세스 확인
-------------------------------
실습5) 파일시스템을 미리 만들어놓고 metadevice 생성
#newfs /dev/rdsk/c2t1d0s3      :: c2t1d0s3에 대해 파일시스템 생성
#mkdir /lab/test3 /lab/test4      ::  마운트 할 test3,4 디렉토리 생성
#mount /dev/dsk/c2t1d0s3 /lab/test3   :: test4에 마운트
#metainit -f d21 1 2 c2t1d0s3 c2t2d0s3  :: raid 0 구성
#mount /dev/md/dsk/d21 /test5  :: 마운트 하지만 결과는 안됨
  ★stripe는 동시에 파일시스템을 만들어야하기 때문에, 데이터가 있는것에 대해 설정할 수 없음
--------------------------------
실습 6) 실습4의 결과물에 stripe volume size 확장          
  #metaclear d21       :: 실습 5에 한 metadevice 제거
  #metaattach d20 c2t1d0s3 c2t2d0s3     :: d20에 device 추가 (장치를 2개써야 완벽한 확장)
  #metastat  :: 확인
  #growfs -M /lab/test3 /dev/md/rdsk/d20   :: 파일시스템 재구성
  #cd /lab/test3
  #mkfile 350M testfile   :: 350mb테스트파일을 만들어서 hdd access 확인


volume제거
Metaclear device_name
    -r : 연결된 것까지 지움
    -a : all metadevice clear
    -f : force clear


Metadevice 손상
 stripe의 물리적인 디스크 손상시, 전체적인 metadevice 볼륨이 손상됨



RAID 5  (Parity Volume) : raid0의 단점을 보안하기 위해 패리티 데이터생성하여 각 디스크에 데이터와 패리티데이터를 동시에 분산 저장함
     장점 : 대용량의 디스크를 구성할 수 있다
               데이터의 가용성을 제공함
               디스크 장애시 추가적인 백업없이 복구 기능을 제공
              읽기 성능이 향상
     단점 : 패리티 데이터를 저장할 공간을 낭비함 (최소 디스크3개, 볼륨 공간에 1/3을 소요)
              쓰기성능이 다소 느려짐. (패리티연산 때문)
---------------------------
실습 7) raid5 구성
#umountall          :: 전 실습에 쓰인 mount 해제
#metaclear -a    ::  전 실습에 쓰인 metadevice 해제

#metainit d10 -r c0d1s0 c2t0d0s0 c2t1d0s0
#newfs /dev/md/dsk/d10
#mount /dev/md/dsk/d10 /lab/test1
#cd /lab/test1
#mkfile 100m filename
----------------------------------------


반응형

'OS > SOLARIS' 카테고리의 다른 글

solaris root 패스워드 복구  (0) 2009.10.28
solaris10 vsftp 설치 및 포트변경  (0) 2009.08.03
미러 디스크 장애시 디스크 교체하기  (0) 2009.05.07
samba  (0) 2008.02.28
VMSTAT  (0) 2007.12.07
Posted by [PineTree]