60.Unix2008. 11. 12. 17:35
반응형

이 글에서는 솔라리스 볼륨 메니저를 이용해서 루트를 미러링하는 절차에 대해 소개 합니다. 솔라리스10에서 필자는 SVM 버전 3.0, REV=2005.01.09.21.19, 를 사용했고 솔라리스9에서는 SVM 버전 1.0, REV=2002.04.14.23.49 을 사용했습니다. (주의: 결과는 동일하지 않을 수 있음.)
필요조건

첫번째로 여러분은 미러링 하고자 하는 디스크들을 구분해야 합니다. 문제의 디스크들은 format 커맨드를 이용하여 찾아낼 수 있습니다.

format 커맨드를 실행합니다; 출력 결과는 다음과 같습니다:

AVAILABLE DISK SELECTIONS:
       0. c3t2d0 <DEFAULT cyl 17845 alt 2 hd 255 sec 63>

          /pci@7b,0/pci1022,7458@11/pci1000,3060@2/sd@2,0
       1. c3t3d0 <DEFAULT cyl 17845 alt 2 hd 255 sec 63>
          /pci@7b,0/pci1022,7458@11/pci1000,3060@2/sd@3,0

예제에서 필자는 디스크 드라이브의 다른 파티션들과 루트 파티션을 미러링 할 것입니다.

드라이브들은 c3t2d0 과 c3t3d0 입니다.

루트 미러링을 위한 과정

첫째로 프라이머리 드라이브를 파티셔닝 합니다. 일반적으로 프라이머리 는 솔라리스가 현재 실행되고 있는 드라이브 입니다. (필자의 경우는 c3t2d0.) 일반적으로 이러한 작업은 데이타 손실을 방지하기 위해 솔라리스 설치 시에 수행 합니다.

여러분은 메타 데이타베이스를 위해 약 10Mbyte 정도의 용량을 가진 파티션이 필요할 것입니다.

여러분이 생성한 파티션에 만족했다면 디스크에 레이블을 지정한다음에 아래의 명령을 통해서 동일한 파티션 테이블을 전송하도록 합니다.

파티션 테이블을 하나의 드라이브로 다른 드라이브로 전송 합니다.

prtvtoc /dev/rdsk/c3t2d0s2 | fmthard -s - /dev/rdsk/c3t3d0s2

주의: s2 는 보통 오버랩(overlap) 파티션임을 유의하시기 바랍니다; 만약 디스크에 변경을 가했다면 적절한 슬라이스로 변경하시기 바랍니다.

이제 여러분은 동일한 구조를 가진 두개의 디스크를 가지게 되었습니다. 다음의 명령을 실행 합니다:

metadb -a -c 3 -f  c3t2d0s7 c3t3d0s7

-c 3 옵션은 metastat 데이타베이스의 복제본을 3벌로 생성하고 이것은 하나의 복사본이 잘못될 경우를 대비해서 입니다.

아래의 커맨드를 이용해서 루트 파티션을 생성함으로써 디스크를 초기화 할 것입니다. 필자는s0 을 사용했는데 왜냐하면 이것이 저의 루트 파티션이기 때문입니다; 여러분 상황에 맞게 적절하게 변경하시기 바랍니다.

metainit -f d11 1 1 c3t2d0s0
metainit -f d12 1 1 c3t3d0s0

이제 실제 미러를 생성 합니다:

metainit d10 -m d11

이전의 모든 단계들을 수행한 후에는 아래의 커맨드를 수행합니다. 아래의 커맨드는 자동으로 /etc/system/etc/vfstab 을 업데이트함으로써 여러분이 메타디바이스를 여러분의 루트 디스크를 사용하고 있음을 인식하도록 합니다.

metaroot d10

위의 커맨드를 수행한다음에는 다른 반쪽 미러를 루트 디바이스에 연결시키기 전에 재부팅을 해야 합니다. 여러분은 현재 마운트 되어 있는 디바이스를 연결시킬 수 없습니다. 만약 연결을 할 경우에 머신은 미쳐 버릴 것입니다. 디바이스를 연결하기 위해서 여러분은 아래의 커맨드를 수행해야 합니다:

metattach d10 d12

미러의 상태를 확인하기 위해서 여러분은 아래의 커맨드를 실행 할 수 있습니다:

metastat d10

부트 디바이스를 위한 우선순위 alias 를 이용해서 Openboot 를 수정하길 원할 수도 있는데 이럴 경우에는 다음의 명령을 이용 합니다:

ls -l /dev/dsk/c0t0d0s0

출력은 다음과 같을 것입니다.

lrwxrwxrwx 1 root root 42 Jul 12 2007 /dev/dsk/c0t0d0s0 -> ../../devices/bold*pci@1e,600000/ide@d/sd*bold@0,0:a

여러분은 위의 굵은 부분을 여러분의 결과물로 대체해야 합니다. OS 에서 다음의 명령을 수행 합니다.

eeprom "nvramrc=devalias mirror pci@1e,600000/ide@d/sd@0,0:a"
eeprom "use-nvramrc?=true"
*bold* Commands for doing this from the OK prompt, don't do this elsewise.*bold*
nvalias mirror pci@1e,600000/ide@d/sd@0,0:a

만약 단지 두개의 내장 드라이브를 미러링 하려 한다면 아래의 라인을 /etc/system 에 추가 함으로써 싱글 드라이브에서 부팅이 될수 있도록 해야 합니다. 이 것은 SVM Quorum rule 을 무시할 것입니다.

set md:mirrored_root_flag = 1



이 글의 영문 원본은
How to Mirror root With Solaris Volume Manager in the Solaris 9 and 10 OS
에서 보실 수 있습니다.


"관리자코너" 카테고리의 다른 글

Posted by 1010