RAID 란?
RAID(Redundant Array of Independent Disk) 란 여러 개의 저장 장치
(예 > 하드디스크 드라이브 등)를 묶어
하나의 고용량/고성능 저장 장치 처럼 사용하는 기술이다.
하드디스크 (HDD) 는 자기 표면으로 구성되어 있어
아주 오랜 시간동안 혹사를 당하게 된다면
물리적인 손상(베드 섹터)이 발생할 가능성이 커진다.
이 경우 심하면 디스크 전체가 사용할 수 없게되는
흔히 '하드 디스크가 깨졌다'고 하는 상태가 되며
중요한 데이터를 손실할 수 있다.
그런데, 만약 서버의 하드디스크에 금융/군사 목적의 아주 중요한 데이터가 저장되어 있었는데
위와 같은 하드디스크의 문제가 발생했다고 생각해보자
백업이 미리 되어있다면 데이터의 유실을 막을 수 있지만,
그렇지 않다면 중요한 데이터가 모조리 유실 되는 무서운 상황이 발생하는 것이다.
또한 백업을 한다고 하더라도 백업 데이터를 기반으로
매번 복구할 때 마다 서버 가동이 중단되어야 하고
복구 이후 관련 작업들이 많아질 수 밖에 없게된다.
따라서 RAID 를 사용하게 되면, 여러 디스크를 하나의 디스크처럼 사용하게 되는 특성상,
문제가 있는 디스크만 교체하면 되고
그 동안 다른 저장 공간에는 영향 없이 저장 장치가 운영될 수 있다.(고가용성 운용이 가능)
저장 공간을 추가하기 위해 디스크를 추가할때도 마찬가지이다.
또한 문제가 발생한 디스크 대신
나머지 디스크 들이 문제 없이 역할을 해줄 수도 있게 된다.
이러한 RAID 를 예전에는 남는 저장 장치들을 재활용하여 사용하는 것이 주 목적이었다면,
기술이 발전한 지금은 독립된 저장 공간을 주 목적으로 RAID를 구성/사용하고 있다.
RAID 의 구성방식은 크게 아래와 같이 3가지 형태로 분류된다.
1) 하드웨어적 방식
2) 펌웨어적 방식
3) 소프트웨어적 방식
1) RAID의 하드웨어적 방식
별도의 물리적인 장치인 RAID 카드를 이용해서 RAID 를 구현하는 방법이며,
서버와 같은 장치의 메인보드 PCle 슬롯에 RAID 컨트롤러 카드를
별도로 장착하는 방법이 대표적이다.
하드웨어 방식의 RAID의 장점
- 별도의 컨트롤러 칩셋이 RAID 를 관리하기 때문에 다른 방식 대비 성능이 좋음.
- RAID 를 구성 할 수 있는 최대 디스크 개수도 다른 방식보다 더 많음.
- 디스크를 제거하여 다른 PC나 서버로 이동시키면
기존에 운영하던 RAID 볼륨은 변경하지 않고 거의 그대로 유지 가능
하드웨어 방식의 단점
- 기타 RAID방식에 비해서 비용이 비교적 많이 들고
RAID 를 구성하는 단일 디스크의 분석이 어려움
2) RAID의 펌웨어적 방식
비용이 비싼 하드웨어적 방식의 RAID 카드 대신,
기능을 간소화한 RAID 칩을 메인보드에 탑재하여
펌웨어(드라이브)로 RAID 를 구현하는 방법이다.
메인보드를 통한 RAID 구성 이므로, 하드웨어 방식과 같이 운영체제에 진입하기 전
BIOS에서 RAID 를 구성한다. 따라서 운영체제와는 별개로 구성된다.
예전에는 하드웨어 방식의 성능이 비교적 더 좋았으나,
최근에는 펌웨어의 성능도 많이 개선되었다.
펌웨어 방식의 장점
- 하드웨어 방식에 비해 비용이 저렴
- 소프트웨어 방식보다 성능이 좋음
- 운영체제와 독립적
펌웨어 방식의 단점
- 하드웨어 방식에 비해 성능이 낮음
3) RAID의 소프트웨어적 방식
RAID 를 소프트웨어적으로 구성한다는 뜻은
운영체제 내에서 소프트웨어를 통해 RAID 를 구성하는 방식이다.
따라서 운영체제가 인식하고 있는 저장 장치들을 통해 RAID 를 구성하게 된다.
또한 메인보드를 변경 하더라도 RAID는 그대로 유지할 수 있으나,
운영체제를 변경하게 되면 유지할 수 없게 된다.
소프트웨어 방식의 장점
- 다양한 방식으로 RAID를 구성 가능
- 용량이 다른 두 제품의 경우 RAID 를 구성하고 남는 공간에 단일 파티션,
혹은 다른 RAID 방식을 구성 가능
- 소프트웨어로 구성을 하는 것이기 때문에
하드웨어 방식보다는 호환성이 비교적 더 좋음
- 메인보드를 변경하더라도 RAID 유지 가능
소프트웨어 방식의 단점
- 하드웨어적 방식과 펌웨어적 방식에 비해 성능이 현저히 떨어짐.
- 운영체제에 의존적이므로 운영체제가 변경되면 유지할 수 없게됨.
RAID 구성 방식
RAID 의 구성방식을 이해하기 전에 아래와 같은 단어를 이해해보자.
스트라이핑 : 여러 대의 하드디스크를 가상적인 한 대의 디스크로 관리함으로써
데이터의 분산 배치를 가능하게 하는 기술
미러링 : 동일한 디스크의 카피해서 복제를 만들어 둠. (백업)
일반적으로 RAID 의 구성방식에는 대표적으로 4가지가 존재한다.
1. RAID 0
가장 간단한 스트라이핑 구조로 저렴한 가격과 빠른 접근 속도가 장점이다.
하지만 하드웨어 장애가 발생할 경우,
시스템 자체에서 데이터 복구가 불가능하다.
2. RAID 1
미러링 구조로 디스크에 데이터 장애 발생 시
다른 디스크가 온전하다면 데이터 손실이 일어나지 않아 복구가 가능하다.
하지만 동일한 디스크를 복제해 둬야 하므로 용량이 50% 이하로 줄어든다.
또한 읽기 속도는 상관없으나 쓰기 속도가 저하된다. (똑같은 곳에 한번 더 쓰기 때문)
3. RAID 5
스트라이핑 구조와 유사하지만 패리티 비트라는 데이터에 관한 정보.
즉 오류 검출을 위한 정보를 분산 저장함으로써
데이터의 불량이 발생하면 유실된 데이터를 복구할 수 있도록 하는 구조이다.
패리티 비트를 저장할 공간이 필요하기 때문에 전체 용량은 전체 드라이브 수 - 1 만큼이고
(Dp,Cp,Bp,Ap 를 더하면 하나의 드라이브가 나오므로 -1 이됨.)
스트라이핑 방식의 빠른 분산 처리가 가능하다.
4. RAID 1 + 0
해당방식은 높은 퍼포먼스와 높은 안전성을 양립할 수 있지만
미러링 구조와 똑같이 전체 디스크의 50% 이하만 저장할 수 있고
비용이 높다는 단점이 있다.
'컴퓨터 구조' 카테고리의 다른 글
OLTP 와 OLAP (0) | 2022.01.20 |
---|---|
HDD 구조 (0) | 2022.01.13 |
문맥교환(context switching) (3) | 2021.12.15 |
싱글스레드와 멀티스레드 (Single Thread & Multi Thread) (0) | 2021.12.15 |
프로세스(Process) 와 쓰레드(Thread) 란? (0) | 2021.12.15 |