로그인
Sign in
솔라리스 부트 매니저를 이용한 부트 디스크 미러링 방법

저자 Sivakanth Mundru


적용 가능한 OS 버젼: Solaris 9 Operating System (OS), Solaris 8 OS 와 Solstice DiskSuite 4.2.1 Patch 108693-06 (SPARC 플랫폼)

주의: 모든 경우에 이 방법이 동작한다고 보장할 수는 없습니다. 몇가지 조작이 필요할 수도 있습니다.

다음 단계들은 랜덤한 컨트롤러와 타겟을 사용했습니다. 이것은 호스트 마다 다를 수 있습니다.

또한 같은 컨트롤러로의 미러링 보단 서로 다른 컨트롤러로의 미러링이 좋습니다.

1) 시작하기전에 중요한 것:

/etc/vfstab 과/etc/system 을 백업합니다:

cp -p /etc/system /etc/system.orig."date"

cp -p /etc/vfstab /etc/vfstab.orig."date"


/etc/system 이 엉망이 될 경우 OK 프롬프트에서 boot -a 를 이용하여 복구가 가능합니다.:


/etc/system.orig."date"


2) 루트 디스크를 미러링 하기 위한 별도의 디스크가 있고 안에는 데이터가 존재하지 않아야 합니다.

3) "루트디스크"의 볼륨 데이터 베이스를 저장하기 위한 25M(10M도 상관 없습니다)의 작은 슬라이스를 만듭니다.

만약 루트 디스크에 전혀 공간이 없다면 swap 스페이스를 약간 지우고 다시 추가 하는 방법으로 공간을 확보합니다.

머신에서 작업이 별로 이루어지지 않고 있을때에 다음과 같이 작업합니다.

3.1) 스왑 상태를 보기 위해 다음 명령어를 사용합니다: swap -l

(스왑이 하나 이상의 슬라이스에 설정되 있다면 더 좋습니다.)

3.2) 다음과 같이 실행합니다:

swap -d swap-name ( /dev/dsk/c?ct?d?s?)


스왑 파티션의 용량이나 실린더 길이를 줄이기 위해 파티션 테이블을 변경합니다.

3.3) 다음과 같이 실행합니다:

swap -a swap-name ( /dev/dsk/c?t?d?s?)

4) 루트 디스크의VTOC (volume table of contents) 와 미러링할 루트 디스크는 동일해야 합니다.prtvtoc 와 fmthard를 이용하여 VTOC를 복사합니다.

# prtvtoc /dev/rdsk/c?t?d?s2 | fmthard -s - /dev/rdsk/c?t?d?s2

5) 루트디스크의 작은 슬라이스에 메타데이타베이스를 생성합니다:

# metadb -f -a -c3 c?t?d?s6 (Slice 6 is my small slice here)
# metadb -a -c3 c?t?d?s6 (Slice 6 on rootmirror)

6) 이제 파티션테이블의 모든 슬라이스의 미러를 생성할 수 있습니다.

루트 또는 / 파티션을 위해:

# metainit -f d10 1 1 c?t?d?s?

# metainit d20 1 1 c?t?d?s?

(create a md d0 and attach one submirror)
# metainit d0 -m d10

(set up system files for root (/) metadevice, that is,
     changes to /etc/system and /etc/vfstab)
# metaroot d0

# lockfs -fa (clear improper file locks on all mounted UFS file systems)


7) 다른 메타디스크의 네이밍 규칙을 따릅니다.. (이 소프트웨어를 사용해보지 않은 사람들을 위한 주의: 우리는 metaroot 와 lockfs 단계를 다른 파일시스템에서 사용하지 않을 것입니다.)

서브비러들은 10, d20, 과 같은 이름을 가집니다..

예를들어 d10 에서 1 은 서브미러의 번호이고, 0은 슬라이스 번호 입니다.

만약 스왑이 partition/slice 1에 있다면 다음과 같이 합니다:

# metainit -f d11 1 1 c?t?d?s1

# metainit d21 1 1 c?t?d?s1

# metainit d1 -m d11

8) 부트 디스크에 가지고 있는 파일 시스템 만큼 다음을 반복합니다.

9) /etc/vfstab을 변경합니다. 루트의 md 엔트리는 metaroot 명령에 의해 이미 업데이트 되어 있습니다.

/etc/vfstab 의 샘플 카피는 다음과 같습니다:

#device device mount FS fsck mount mount
#to mount to fsck point type pass at boot options
#
fd - /dev/fd fd - no -
/proc - /proc proc - no -
##/dev/dsk/c1t1d0s1 - - swap - no -
/dev/md/dsk/d1 - - swap - no -
/dev/md/dsk/d0 /dev/md/rdsk/d0 / ufs 1 no -
##/dev/dsk/c1t1d0s7 /dev/rdsk/c1t1d0s7 /export/home ufs 2 yes -
/dev/md/dsk/d7 /dev/md/rdsk/d7 /export/home ufs 2 yes -
##/dev/dsk/c1t1d0s3 /dev/rdsk/c1t1d0s3 /opt/uc4 ufs 2 yes -
/dev/md/dsk/d3 /dev/md/rdsk/d3 /opt/uc4 ufs 2 yes -
swap - /tmp tmpfs - yes -

10) dumpadm을 이용하여 덤프 디바이스를 설정합니다.

11) /etc/system 파일 안에 mdd 정보 섹션에 다음과 같은 엔트리를 추가합니다:

set md:mirrored_root_flag=1

만약 루트 디스크가 사용이 불가능해 진다면 루트 디스크의 데이타 베이스 또한 사용이 불가능해집니다.

솔라리스 볼륨 메니저는 50%이상의 데이타베이스에서 정상적으로 부팅 되고 몇몇 경우에는 부족한 데이타베이스 리플리카 숫자에 대한 에러가 발생합니다. 다음의 단계들은 적어도 50%이상의 카피에서 솔라리스 볼륨 매니저가 부팅 하기 위한 셋팅에 대해 설명합니다..

12) 다음과 같이 실행합니다:

sync; sync; init 6


13) 파일 시스템이 올라오면 다른 서브 미러들을 부착시킵니다:

# metattach d0 d20

(주의: "metattach"임을 유의하십시오 "metaattach"가 아닙니다.)

# metattach d1 d21

계속 나머지 서브 미러들에 대해 작업합니다.

14) 파일 시스템이 syncing됐는지 아닌지 알아보기 위해 다음과 같은 명령을 실행합니다:

metastat | grep progress

15) 기본, 미러링된 부트 디바이스의 패스를 지정해 줍니다:

ls -l /dev/dsk/c1t1d0s0 /dev/dsk/c1t0d0s0
lrwxrwxrwx 1 root root 43 Dec 23 17:51 /dev/dsk/c1t0d0s0 -> \
   ../../devices/pci@1c,600000/scsi@2/sd@0,0:a
lrwxrwxrwx 1 root root 43 Dec 23 17:51 /dev/dsk/c1t1d0s0 -> \
   ../../devices/pci@1c,600000/scsi@2/sd@1,0:a

# eeprom "nvramrc=devalias rootdisk /pci@1c,600000/scsi@2/disk@1,0
devalias rootmirror /pci@1c,600000/scsi@2/disk@0,0"

(ls -l 출력의 "sd" 에서"disk"로의 변화를 주의해서 보시기 바랍니다)

# eeprom "use-nvramrc?=true"

또한 부트 디바이스 값을 변경 시켜서 둘중에 하나가 사용불가능해 질때 다른 하나를 부팅 시킬 수 있습니다..

# eeprom boot-device="rootdisk rootmirror net"

16) syncing작업이 끝나면 루트 디스크를 제거 하고 시스템을 시험해 보시기 바랍니다.



조회 수 :
948
추천 수 :
23 / 0
등록일 :
2007.03.20
05:33:28 (*.190.247.25)
엮인글 :
http://bestceok.com/xe/index.php?mid=sun_faq&document_srl=3023&act=trackback&key=000
게시글 주소 :
http://bestceok.com/xe/index.php?mid=sun_faq&document_srl=3023
List of Articles
번호 제목 글쓴이 날짜 조회 수
151 솔라리스 10 컴파일 에러 문제 하록 2007-12-18 4927
150 기본 network setup 하록 2007-12-18 694
149 Volume Manager에서 Root Disk Mirroring 하록 2007-12-18 1349
148 ce 인터페이스 속도 설정 하록 2007-12-18 610
147 UNIX System Crash Dump 분석스크립트 (analysis.sh) 하록 2007-12-18 988
146 Process Name별로 Kill하는 Script 하록 2007-11-13 616
145 Solaris 10 보안 적용 스크립트 하록 2007-11-02 1812
144 ps 명령어 Full List 하록 2007-06-20 601
» 솔라리스 부트 매니저를 이용한 부트 디스크 미러링 방법 하록 2007-03-20 948
142 Sun One Webserver 설치 하록 2007-03-19 487
141 새로운 장치를 달고 device file을 만들려면? 하록 2007-03-06 546
140 ufsdump & ufsrestore Manual 하록 2007-01-31 1045
139 [SUN Disksuite] Metadb & Metadevice 구성 매뉴얼 하록 2007-01-22 810
138 SOLARIS한글 사용하기 하록 2006-11-30 524
137 솔라리스10 x86 에서의 POP3 서버 구축!! 하록 2006-11-23 779
136 IP Filter 사용법 하록 2006-11-23 974
135 Solaris Security tools 50종 하록 2006-11-23 710
134 fsck에 관한 내용, 갑자기 다운 되었을 경우 하록 2006-11-23 784
133 OBP(Open boot PROM) command 정리 하록 2006-11-23 745
132 솔라리스10 x86 에 sendmail 8.13.3 설치하기 하록 2006-11-23 1291