Storage의 구성요소 part.2(RAID란?)

2021. 9. 21. 21:14잡다한 IT/개발자도 궁금한 IT인프라

대표적인 레이드(WOW의 리치킹) - 출저. 블리자드

 

"레이드 한 판 하러가자." 라는 말을 들으면 어떤 생각이 가장 먼저 들까?

게임을 아는 사람들이라면 아 저사람 와우 공격대를 하는가? 아니면 로스트아크를 하는가? 와 같은 MMORPG과 같은 게임에서 다수의 플레이어가 협동해서 대형 보스를 잡는 이벤트 라고 생각하기 쉽다.


하지만 IT에서의 레이드는 철자는 RAID로서 같지만 전혀 다른 방향성을 가지고 있다.

IT에서의 레이드는 Redundant Array of Independent Disks 혹은 Redundant Array of Inexpensive Disks 라고하는 엄청나게 긴 영단어의 축약이다. 한국어로는 복수 배열 독립 디스크 라는 의미를 가지고 있다. 이렇게 길고 복잡한 RAID는 0번부터 6번까지 있지만 기본적인 개념으로 1번인 미러링(mirroring)과 0번인 스트라이핑(striping), 마지막으로 5번을 알아보자.

미러링

미러링의 경우 같은 데이터를 2개의 디스크로 복제해 저장하는 방식이다. 2021년 기준 대부분의 pc들은 이 방식을 사용할 수 있다. 내장 디스크가 망가질 것을 염려해 새로운 디스크를 부착하는 행위가 여기에 속한다.
같은 데이터를 두 곳에 저장하기 때문에 비용면으로는 조금 손실이 생길 수 있다.

 

스트라이핑(RAID 0)

스트라이핑의 경우 데이터를 복제하는 것이 아니라 여러 개의 디스크로 분산 저장하는 방식을 의미한다.
5개의 디스크를 가진 사용자가 '치킨맛코드' 라는 정보를 저장하고 싶을때 1번 디스크에 '치', 2번 디스크에 '킨', 3번에는 '맛', 4번에는 '코', 마지막으로 5번 디스크에 '드'라는 정보를 저장하는 것이다. 이렇게 저장할 경우 모든 디스크를 활용할 수 있으며 읽기 성능이 매우 우수하다 라는 장점이 있다.

하지만 미러링보다 가용성에서 조금 떨어진다. 1번 디스크가 어떤 이벤트로 인해 손상이 되었다면 '치'라는 데이터는 그 어디에서도 인식할 수 없게 된다. 이런 장 단점이 존재하기 때문에 기업의 경우 데이터를 최대한 보존하기 위해 이 두가지를 혼합하여 사용하는 경우가 대부분이다. 

 

 

RAID 5

RAID 5는 기본적으로 패러티(parity)연산 기법을 통해 특정 디스크가 손상되었을때 이것을 보완하도록 한다.

hot spare

hot spare는 디스크가 고장이 나게 된다면 고장난 디스크는 리빌딩(rebuiding)이라는 내부 연산을 통해 다른 디스크로부터 기초 데이터를 제공받아 원래 상태로 복구를 실시한다. 이때 가용성을 늘리기 위해 여분의 보조 디스크를 설치해 둔다면 좋다. 마치 자동차의 스페어 타이어와 유사한 개념이다. 고장난 디스크를 교체하게 된다면 원래의 RAID그룹으로 돌아가 핫 스페어가 빠지는 경우가 있고 교체된 디스크가 핫 스페어가 되는 경우가 있다.

 

스토리지를 도입하게 된다면 설계를 반드시 해야하는데 다음은 그 설계 방법이다.


설계 방법

1. 먼저 RAID를 정의하고 용도에 맞게 구성한다. 이때 최고 수준의 가용성과 성능을 선택하여 운영 데이터나 성능을 필요로 하는 데이터를 저장하는 스토리지로서 1+0 RAID를, 적절한 가용성과 용량을 선택해 개발이나 백업, 테스트 데이터를 저장하는 스토리지로서 RAID 5를 선택한다.(패리티 디스크를 하나 더 추가하는 RAID6을 사용하기도 한다.)

2. 이후 서버별 용량 할당 계획을 수립한다. 구체적으로 RAID그룹을 사용할 서버별로 용량을 할당하는 행위이다.(서버마다 얼마나 가저다 쓸 건지 정하는 단계이다.)

3. 서버별로 스토리지의 포트 할당 계획을 수립한다. 최대 처리량 등을 고려해 서버와 함께 적절한 FC포트를 할당하는게 관건인데 이때 처리량이 중요할 경우 1:1 그렇지 않을 경우 1/N형식으로 연결한다.

4. 스토리지의 포트는 가격이 비싸기 때문에 I/O성능을 많이 요구하지 않는 서버 간에 포트를 공유할 수 있다면 같이 쓰는것이 더 합리적이다.

5. 마지막으로 스토리지 복제 환경을 설계한다. 데이터 보호 또는 활용을 극대화 하기 위한 비용을 고려하며 요건에 맞는 복제 환경 구성이 필요하다.