RAID, 레이드 란?

관련 포스트

RAID


RAID0, RAID1 많이 들어봤을 거다. 이런 레이드 라고 불리는 개념은 생각보다 간단하다.

레이드는 왜?


Redundant Array of Inexpensive Disks의 약자로, 여러 개의 디스크를 배열하여 속도의 증대, 안정성의 증대, 가용성의 증대를 위해 쓰이는 기술이다. 서버의 하드디스크의 장애로 인한 데이터 손실에 대비하여 데이터의 안정성을 확보하기 위해 사용한다.
따라서 데이터의 손실이 치명적인 은행이나 군사적 목적의 데이터, 기업의 데이터 등에 많이 사용된다. 나는 사진이나 미디어 파일들을 저장할 미디어 서버도 구성할 계획이라 데이터 손실에 대비할 필요가 있다.

RAID의 종류 및 구성


RAID 0

Raid-0

2개 이상의 디스크에서 데이터를 랜덤하게 쓰는 방법이다. 장점으로는 데이터가 다른 디스크에 분산되어 저장되기 때문에 I/O속도가 향상된다는 점.
단점으로는 패리티를 지원하지 않기 때문에 하나의 디스크라도 장애가 생기면 복구하기 어렵다는 점이다. 단순히 디스크를 이어서 사용하는 것 이기 때문에 사용 용량의 감소는 없다.

RAID 1

Raid-1

볼륨 내에 패리티를 사용하지 않고 디스크에 같은 데이터를 중복 기록하여 데이터를 보존하는 방식이다. 따라서 레이드 구성 시 적어도 동일한용량의 디스크 2개가 필요하다.
장점으로는 볼륨 내 디스크 중 하나의 디스크만 정상이어도 데이터는 보존되고 운영이 가능하기 때문에 복원이 간단하다. 하지만 사용가능 용량이 절반으로 줄고, 쓰기 속도가 느리다.
(하나의 데이터를 2개의 디스크에 써야하기 때문.)

RAID 2

Raid-2

레이드-2 는 레이드-0 처럼 striping 방식이지만 에러 체크와 수정을 할 수 있도록 Hamming code를 사용하는게 특징이다.
하드디스크에서 ECC(Error Correction Code)를 지원하지 않기 때문에 ECC를 별도의 드라이브에 저장하는 방식으로 처리된다.
하지만 ECC 드라이브가 손상될 경우는 문제가 발생할 수 있고 패리티 정보를 하나의 하드디스크에 저장하는 레이드-4가 나오면서 사용하지 않는다.

RAID 3 & RAID 4

Raid-3, Raid-4

레이드-3, 레이드-4 방식은 레이드-0, 레이드-1의 문제점을 보완하기 위한 방식으로 3,4로 나뉘긴 하지만 구성방식은 비슷하다.
기본적으로 레이드-0과 같이 striping 방식에 추가로 에러 체크 및 수정을 위해 패리티 정보를 별도의 디스크에 따로 저장한다.
레이드-3은 데이터를 바이트 단위로 나누어 저장하고 레이드-4는 블록 단위로 나누어 기록한다는 차이가 있다.

RAID 5

Raid-5

레이드-5는 레이드-3,4 에서 별도의 디스크에 패리티 정보를 기록함으로써 발생하는 문제를 보완하는 방식으로 만들었다.
만약 1개의 하드가 고장 나더라도 남은 하드들을 통해 데이터를 복구할 수 있다는 장점이 있다.

RAID 6

Raid-6

레이드-6는 레이드-5와 같은 개념에 2차 패리티 정보를 넣어 2개의 하드에 문제가 생겨도 복구할 수 있도록 설계되었다.
레이드-5보다 더욱 데이터의 안전성을 고려하는 시스템에서 사용한다.

이렇게

많은 레이드 종류 중에서 나는 레이드5를 사용할 계획이다. 적당한 안전성과 적당한 가용성 이랄까..


기본


서버를 켜면 비행기 엔진 소리가 잠시 나다 잠잠해진다.
부팅이 될때 화면을 잘 살펴보면 그냥 BIOS가 아닌 레이드카드 BIOS에 진입하는 커맨드가 보인다. 눌러서 들어가면 서버의 레이드카드 별로 다른 BIOS가 뜨겠지만, 나는 PERC H700 컨트롤페이지가 떴다.

h700
대충 이렇게 생겼다.

이곳에서 삽입되어있는 모든 하드를 레이드0으로 설정해 두자. 우리는 하드웨어에서는 각 하드를 레이드0으로 묶은 뒤 os에서 레이드5로 묶을거다.
이유는 꽤 복잡한데, 간단히 말하자면 레이드카드 BIOS에서 각각 하드를 레이드0으로 묶지 않는다면 OS가 지금 하드가 몇 개가 있는지 모른다. 즉 이 단계를 건너뛰면 OS 설치시 “이 OS를 어느 하드에 설치할거냐?”하는 질문에 답할 하드가 안보인다. 꼭 해주자.


OS


자 이제 OS를 설치하자. 나는 우분투 서버 ver. 16.04.3 LTS 를 다운받아 부팅 USB를 만들어 놓았다.
앞쪽 USB포트에 잘 넣어주고 BIOS에서 부팅 순서를 USB로 바꿔준 뒤 재부팅하면 설치페이지가 뜬다.
이때부터는 우분투 설치하는 것처럼 설치하면 된다. 여기를 참고하면 좋겠다.


나는 OS까지 설치하는데 한참 걸렸다. 레이드카드BIOS를 찾는것 부터 시작해서 삽질이 계속됬다. OS도 지우고 다시 설치하기를 몇번했는지 모른다ㅠ
이제 외부 접속이 가능하도록 포트를 열어두고 서버에서 모니터와 키보드를 떼버렸다. 후련
다음단계는 KVM설치와 가상머신 생성이다.
삽질 전문이라 다음 포스트가 언제가 될지는 모르겠지만 빠른 시일내에 쓰고싶다…