RAID

Jidoo·2020년 10월 22일
0

CSW

목록 보기
4/10
post-thumbnail

컴퓨터 공학 스터디 W2.운영체제👏

RAID란?

RAID란 무엇일까? 발표 주제를 찾다가 RAID를 찾았을 때 '오잉 이게 뭐지?'라는 생각을 했다. 이 주제에 관하여 흥미가 생겨 공부를 해보고 싶었다.
본론으로 들어가서 RAID란 무엇일까?
RAID는 "Redundant Array of Inexpensive Disks"의 약자로 직역을 해보면 저렴한 디스크의 중복 배열이라는 뜻이다. 실제의 뜻도 이와 별 다를 것이 없다. RAID는 여러 개의 디스크를 배열하여 속도와 안전성, 효율성, 가용성 증대를 하는데 쓰이는 기술이다. RAID는 여러개의 디스크를 하나로 묶어 하나의 논리적인 디스크로 작동하게 한다.

RAID의 구성

RAID를 구성하는 방법에는 하드웨어적인 방법과 소프트웨어적인 방법이 있다.

하드웨어 & 소프트웨어적 방법

먼저 하드웨어적인 방법은 별도의 어댑터 카드, 메인보드 속 내장칩을 통해 RAID를 구성하는 경우를 말한다. 하드웨어적인 방법으로 RAID를 구성할 경우 운영체제에 이 디스크가 하나의 디스크처럼 보이게 한다. 소프트웨어적인 방법은 주로 운영체제 안에서 구현되며 사용자에게 디스크를 하나의 디스크처럼 보이게한다. 운영체제는 여러개의 디스크로 인식하고 하드웨어적 구성에 비해 성능 향상 폭이 작고 안정성도 떨어진다고 한다.

Level

RAID에는 하드웨어/소프트웨어 적으로 나누는 방법 외에도 레벨로 나누는 방법이 있다. 간단하게 각 레벨이 어떤 동작을 하는지 알아보겠다.

RAID 0

먼저 RAID 0 입니다. RAID 0에는 Concatenate 방식과 Stripe 방식이 있다.

Concatenate 방식은 두개 이상의 디스크에 데이터를 순차적으로 쓰는 방법이다. 디스크의 기본 공간이 부족할 때 데이터는 보존하여 여분의 디스크를 볼륨에 포함하여 용량 증설이 가능하게 된다는 장점이 있다. 하지만 RAID 0의 특성상 디스크 중 하나의 디스크라도 장애가 발생하면 복구가 어렵고 패리티 즉 오류검출기능을 지원하지 않는다는 단점이 있다.

다음은 Stripe 방식이다. 흔히 RAID 0라고 하면 이 방식을 말한다. Stripe 방식은 두개 이상의 디스크에 데이터를 랜덤하게 쓰는 방법이다. 데이터를 사용할때 입출력을 디스크 수만큼 분할하여 쓰기 때문에 속도가 향상되고 입출력 컨트롤라나 보드 등 입출력을 담당하는 장치가 별도로 장착된 경우 더 큰 입출력 속도 향상 효과를 볼 수 있다. 단 Stripe를 구성할 시 기존의 데이터는 모두 삭제되어야 하고 Concat 방식과 같은 단점이 있다.

RAID 1

RAID 1은 디스크 미러링 방식이다. Mirror 볼륨 내의 패리티를 사용하지 않고 디스크에 같은 데이터를 중복 기록하여 데이터를 보존하게 되며 그림과 같이 적어도 동일한 용량의 디스크 두개가 필요합니다.

드라이브 하나가 고장나도 똑같은 내용의 드라이브가 있으므로 안전하고 읽기 성능이 단일 드라이브에서 성능과 같거나 훨씬 좋다는 장점이 있다. 하지만 전체 용량의 절반 밖에 사용하지 못하고 두개의 동일한 데이터를 사용하므로 성능이 나빠질 수도 있다는 단점이 있다.

RAID 2


RAID 2는 RAID 0처럼 Striping 방식이지만 에러체크와 수정을 할 수 있도록 Hamming Code를 사용하고 있는 것이 특징이다.

RAID 3, RAID 4


RAID 3과 4는 RAID 0과 1의 문제점을 보완하기 위한 방식으로 3,4가 나뉘지만 구성방식은 거의 비슷하다. 3,4는 기본적으로 0과 같은 striping 구성을 하고 있어 성능을 보안하고 디스크 용량을 온전히 사용할 수 있게 해주고 추가로 에러체크 및 수정을 위해 패리티 정보를 별도의 디스크에 따로 저장한다.
RAID 3은 데이터를 바이트 단위로 나누어 디스크에 동등하게 분산 기록을 하고 RAID4는 데이터를 블록단위로 나누어 기록합니다. 이러한 이유로 완벽하게 3,4가 동일하지 않다는 차이가 있다. RAID 3은 드라이브 동기화가 필수적이기 때문에 많이 사용하지 않고 RAID 4를 더 많이 사용한다고 한다.

RAID 5


RAID 5는 RAID 3,4 에서 별도의 패리티 정보 디스크를 사용함으로써 발생하는 문제점을 보완하는 방식으로 패리티 정보를 stripe로 구성된 디스크 내에서 처리하게 만들었다. 만약 1개의 하드가 고장 나더라도 남은 하드들을 통하여 데이터를 복구할 수 있다.

RAID 6


RAID6는 5와 같은 개념이지만 다른 드라이브들 간에 분포되어 있는 2차 패리티 정보를 넣어 2개의 하드에 문제가 생겨도 복구할 수 있도록 설계되었다. RAID 6는 데이터의 안전성을 고려하는 시스템에서 사용된다고 한다.

왜 사용할까?

마지막으로 RAID가 왜 사용되는지 알아보겠다. RAID는 왜 사용될까? 서버에서 백업이 절대적으로 필요한 경우가 있고, 여분의 디스크가 있어 용량을 증설하려고 할 때 데이터 손실 없이 증설이 필요한 경우가 있다. 서버 관리자는 RAID 구성을 통하여 하드디스크의 가용성을 높이거나 서버 데이터의 안정성을 확보해야하기 때문에 RAID를 사용한다고 한다. 그리고 또 한가지의 이유가 있다. 값 싼 디스크를 여러개 붙어서 하나의 디스크처럼 보이게 하면서도 신뢰도와 성능을 모두 잡을 수 있기 때문에 사용한다고 한다.

0개의 댓글