CentOS4.3 OS 미러링테스트

CentOS4.3 기반 OS 미러링 테스트 에 관하여 (재원)

–         테스트결과 소프트웨어레이드에서는 강력한성능 (솔라리스SVM보다 우수함)

–         한쪽디스크가 나가도 다른쪽 디스크로 별다른 작업없이 부팅가능함

–         디스크 교체시에도 간단한 명령으로 복구가능함

작업방법

1.       제조사 및 용량이 같거나 큰 디스크를 2장(mirror) 준비한다

2.       리눅스 설치화면중 파티션관련 작업중  새로만들 파트션타입을 리눅스레이드(fd) 타입으로

맞춘후 (2개의 디스크각가) 중간메뉴에 RAID 버튼을눌러 생성된 타입(fd)을

레이드로 구성한구 마운트포인트할당 및 파티션 타입(ex: ext3)으로 만든다.. 생략

    3 레이드 작업을 한후 스왑파티션은 각디스크마다 따로 설정해둔다(동일하게)

    4 작업완료하고 리눅스설치한후 리부팅하였을 때 부팅화면에서 GRUB 로 멈춰있을 때

      아래와 같이 굵은글씨있는부분 을 씨디롬으로 부팅하여 grub를 입력한후 타이핑한다

GRUB은 자체적으로 RAID1을 지원하지 않으므로, 모든 RAID1구성 하드드라이브에 각각 설치한다.

A. 쉘 프롬프트에서 GRUB을 실행시키면 GRUB의 쉘로 들어간다.

a. shell> grub

———————————— 설명 시작 ————————————-

레드햇리눅스은 /boot파티션을 GRUB의루트파티션으로 마운트하는 독특한 설정을 가진다.

GRUB에서의 path는 (<device-type><device-number>,<partition-number>)</path/to/file>의 형태이다.

(<디바이스 타입><디바이스 번호>)는 드라이브. 예) (hd0)

(<디바이스 타입><디바이스 번호>,<파티션 번호>)는 파티션. (hd0,0)

(<디바이스 타입><디바이스 번호>,<파티션 번호)</path/to/file>는 파일이다. 예) (hd0,0)/grub/grub.conf

SCSI에서는 sda=hd0 sdb=hd1이고, IDE에서는 hda=hd0 and hdb=hd1이다.

SCSI와 IDE가 함께 있는 경우에는 ‘device (hd0) /dev/hda’같은 명령어로 확실히 알려주는 게 좋다.

————————————- 설명 끝 ————————————–

B. 모든 RAID1 구성 하드드라이브의 마스터 부트 레코드에 GRUB을 설치하기.

a. /dev/hda1에 설치

– grub>device (hd0) /dev/hda

– grub>root (hd0,0)

– grub>setup (hd0)

b. /dev/hda2에 설치

– grub>device (hd0) /dev/hdb

– grub>root (hd0,0)

– grub>setup (hd0)

c. 두번째 드라이브(/dev/hdb)도 디바이스번호 0으로 설정한 것에 주의한다.

0번 디바이스는 마스터 부트 레코드(MBR)가 위치할 것이다.

임시로 두번째 드라이브(/dev/hdb)를 0번 디바이스로 설정했으므로,

부팅가능한 MBR을 두번째 드라이브에도 쓰게 된다.

보통 부팅할 때는 첫번째 드라이브(/dev/hda)의 MBR을 사용하게 될것이다.

첫번째 드라이브가 고장나면, 두번째 드라이브에서 부팅하게 될 것이다.

C. 모든 GRUB의 설정화일이 위치한 곳이 3군데인 것을 확인한다.

– grub>find /grub/stage1

(hd0,0) -> /newboot

(hd1,0) -> /newboot

(hd2,0) -> 기존의 /boot

D. 만약 GRUB설정화일이 기준의 /boot에만 있다면 수동으로 GRUB을 설치한다.

(설치가 잘 되었다면 건너뛴다.)

a. device (hd0) /dev/hda

b. install (hd0,0)/grub/stage1 (hd0) (hd0,0)/grub/stage2 p (hd0,0)/grub/grub.conf

c. device (hd1) /dev/hdb

d. install (hd1,0)/grub/stage1 (hd1) (hd1,0)/grub/stage2 p (hd1,0)/grub/grub.conf

e. ‘B. 모든 RAID1 구성 하드드라이브의 마스터 부트 레코드에 GRUB을 설치하기’로 되돌아가서 반복한다.

ㅂ. /etc/fstab/을 수정

A. /etc/fstab을 /etc/fstab.bak로 백업.

‘cp /etc/fstab /etc/fstab.bak’

B. /boot줄 맨 앞에 #를 넣어서 코멘트 처리한다.

C. 마운트 포인트 /newboot를 /boot로 고친다.

ㅅ. 파티션 테이블 백업

A. sfdisk -d /dev/hda > /partitions.hda

B. sfdisk -d /dev/hdb > /partitions.hdb

C. sfdisk -d /dev/sda > /partitions.sda

D. sfdisk -d /dev/sdb > /partitions.sdb

ㅇ. 디스크 고장 이후 복구

A. 파티션 테이블 복구

sfdisk /dev/hda < /partitions.hda

B. 고장난 디스크를 RAID에서 제거

mdadm /dev/md0 -r /dev/hda1

C. 새로운 디스크를 RAID에 추가

mdadm /dev/md0 -a /dev/hda1

D. 교체한 디스크가 부팅 디스크이면 GRUB을 설치한다.

a. shell> grub

b. grub> device (hd0) /dev/hda

c. grub>root (hd0,0)

d. grub>setup (hd0)

e. 부팅이 안 되면 쌍을 이루는 2개의 RAID 파티션 모두에 한다.

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

페이스북/트위트/구글 계정으로 댓글 가능합니다.