11.2. RAID 를 이용한 고가용성 구현

저장공간에 대한 수요가 늘어감에 따라 추가의 드라이브를 연결할 필요가 생긴다. 하지만 역설적이게도 확률의 법칙에 따르면 저장 장치의 갯수가 늘어남에 따라 장치의 고장 가능성도 늘어나게 된다. 따라서, 하드 드라이브가 하나 밖에 없는 시스템은 네개가 달린 시스템에 비하여 25% 정도의 고장 가능성 밖에 없다. [ 물론, 이론적으로 그렇다는 얘기다 :-) ]

다행히도 "레이드 Redundant Array of Inexpensive Disks" (RAID) 라고 불리는 기술을 사용함으로써 그러한 고장을 매끄럽게 그리고 더 중요하게는 다운시키지 않고 대처할 수 있다. 이 기술은 자료를 여러개의 디스크에 여유있게 분산시키는 여러가지 방법 중 하나를 사용한다. 이러한 여유(redundancy)는 한 장치가 고장나더라도 자동으로 복구할 수 있게 해준다.

이 장에서는 Mylex AcceleRAID DAC960 컨트롤러를 사용하여 RAID 디스크 어레이를 설치, 설정, 셋업하는 방법을 설명한다. 나는 컨트롤러 그 자체의 성능과 신뢰도에서도 그랬지만 Mylex 사의 기술지원 -- 그들은 매우 친절하다! -- 에서는 더더욱 깊은 인상을 받았다. (물론, 리눅스에서 사용할 수 있는 하드웨어 RAID 솔루션도 다양하게 있고 리눅스 커널 그 자체에도 RAID 기능을 구현해서 넣을 수도 있다.) RAID 의 구현 방식 중에서 가장 유용한 것은 아마도 RAID 레벨 5 인것 같다.

RAID 컨트롤러를 리눅스에서 사용하는 첫번째 단계는 하드웨어를 지원하는 드라이버가 내장되도록 맞춤 커널을 만드는 것이다. Mylex DAC960 용 드라이버는 Dandelion 디지털 리눅스 페이지인 http://www.dandelion.com/Linux/DAC960-2.0.tar.gz 에서 구할 수 있다.

리눅스에서 RAID 어레이를 사용하도록 하기 위한 마지막 단계는 ``fdisk'' 유틸리티를 사용하여 제대로 된 파티션을 만드는 것이다. 이는 IDE 나 보통의 스카시 드라이브를 사용할 때와 완전히 같은 방법으로 하면 된다. 어떻게 파티션 정보를 셋업하는지에 대한 자세한 정보는 4.3절 을 참조하기 바란다.

참고: 주의: DAC960 드라이버는 논리 드라이브 하나 당 최대 7개까지의 파티션을 지원한다. 더 많은 파티션이 필요하면 RAID 설정 유틸리티에서 여러개의 논리 드라이브를 정의하여야 한다. (시스템이 부팅할 때 <Alt>-<R> 를 누르면 셋업 유틸리티로 들어갈 수 있다).

일단 RAID 어레이를 볼 수 있게되면, 정의하고 싶은 대로 스왑 영역이나 파일 시스템을 초기화할 수 있다. 다음의 예는 두번째 드라이브의 세번재 파티션에 스왑 영역을 초기화하고 첫번째 드라이브의 첫번째 파티션에 ext2 형식의 파일 시스템을 초기화하는 과정을 보여준다:

/sbin/mkswap -c /dev/rd/c0d1p3
/sbin/swapon /dev/rd/c0d1p3
/sbin/mkfs.ext2 -c /dev/rd/c0d0p1

참고: 주의: 위의 내용 중에 ``-c'' 옵션이 ``mkswap'' 과 ``mkfs.ext2'' 명령에서 사용되었는데 이는 스왑/파일 시스템을 만들때 불량 블럭에 대한 검사를 하라는 것을 지정한다. 이는 그 명령을 수행하는데 상당한 시간이 더 걸리게 한다. 하지만 검사를 하는 것이 매우 바람직하다.

새로이 스왑 영역을 정의하였다면 ``/etc/fstab'' 파일에 항목을 추가하여 그 스왑 영역이 다음번 부팅때부터는 실제로 사용되도록 하여야 한다. 위의 예를 기준으로 한다면 다음과 같은 줄을 추가하여야 한다:

/dev/rd/c0d1p3  swap       swap  defaults   0 0

마지막으로 일단 파일 시스템의 초기화가 끝났으면 거기에다가 마운트 포인트를 만들고 필요에 따라 큰 파일 시스템을 어레이로 옮길 수 있다. 실제 업무에 적용하기에 앞서서 며칠 정도 시험을 해보는 것이 바람직하다.

Mylex AcceleRAID 컨트롤러에 대하여 더 자세한 정보는 http://www.mylex.com/ 에 있는 Mylex 사의 웹 사이트나 Dandelion Digital DAC960 드라이버 페이지인 http://www.dandelion.com/Linux/DAC960.html 을 참조하면 된다. RAID 에 대한 일반적인 정보는 (소프웨어 솔루션이건 하드웨어 솔루션이건 간에) 리눅스 고가용성 웹 사이트인 http://linas.org/linux/raid.html 를 참조하기 바란다.