RAID
RAID는 Redundant Array of Independent Disk (독립된 디스크의 복수 배열)
혹은 Redundant Array of Inexpensive Disk(저렴한 디스크의 복수 배열) 의 약자를 뜻합니다.
간단히 말하면 RAID는 여러개의 디스크를 묶어 하나의 디스크 처럼 사용하는 기술을 말합니다.
하나의 큰 디스크를 사용하면 될텐데, 왜 굳이 여러 개의 디스크를 묶어 하나의 디스크 처럼 사용하는 것일까요?
우리가 사용하고 있는 하드디스크, 플래시메모리 같은 저장장치들은 소모품에 속합니다. 5 ~ 10년 정도
많이 쓰다보면, 더 이상 데이터를 읽고 쓸 수 없는 불량섹터가 발생하게 됩니다. 이러한 경우 데이터가 손상되는
것도 문제2지만, 데이터의 무결성을 보장할 수 없기 때문에 보통 해당 디스크를 폐기 처리한다고 합니다.
RAID는 이렇게 저장장치가 갑자기 고장나는 경우를 대비해서 활용할 수 있는 유용한 기법입니다.
RAID를 사용하게 될 경우 나타나는 기대효과는 다음과 같습니다.
1. 여러 개의 디스크 처럼 사용할 수 있습니다.
2. 여러개의 디스크 모듈에 데이터를 나누어 한꺼번에 쓰고, 한꺼번에 읽는 식으로 입출력 속도를 높입니다.
3. 데이터를 복제함으로 인한 안정성 향상이 있습니다.
RAID를 구성하는 디스크의 갯수가 같아도, 구성 방식에 따라 성능 용량이 바뀌게 되는 특징을 지닙니다.
구성 방식을 RAID Level이라고 부르는데, 각각의 RAID Level에는 어떤 것이 있고 특징이 무엇인지 살펴보도록 하겠습니다.
RAID 0
RAID 0은 여러 개의 보조기억장치에 데이터를 단순히 나누어 저장하는 구성 방식입니다. 1TB 하드 디스크
4개로 RAID 0을 구성한다면 다음과 같은 그림이 될 것입니다.
저장하려는 데이터가 [ A1 / A2 / A3 / A4] 4개일 때 각 하드 디스크 갯수 만큼 나누어 저장되게 됩니다.
이때 줄무늬 처럼 분산되어 저장된 데이터를 스트라입이라고 하고, 분산하여 저장하는 것을 스트라이핑 이라고 합니다.
위와 같이 데이터가 분상되어 저장된다면, 저장된 데이터를 읽고 쓰는 속도도 빨라집니다.
4TB 저장 장치 한개로 읽고 쓰는 속도보다 RAID 0 으로 구성된 1TB 저장 장치 네 개의 속도가 이론상 네 배 가량 빠르다고 합니다.
성능은 매우 뛰어나지만, RAID 0은 모든 디스크를 실제로 발생하는 데이터의 저장장치에 활용하기 때문에 안정성이
극악에 가깝습니다. 따라서 실제 서버 환경에서는 거의 사용하지 않는다고 합니다.
RAID 1
RAID 1은 복사본을 만드는 방식입니다. 거울처럼 완전한 복사본을 만드는 구성이기에 미러링 이라고 부릅니다.
RAID 0과 마찬가지로 스트라이핑 사용되지만, 오른쪽 두 하드 디스크는 거울처럼 왼쪽의 두 디스크와 동일한 내용을 저장하고 있는 것을 볼 수 있습니다.
RAID1에 어떤 데이터를 입력할때는 원본과 복사본 두 곳 모두 쓰는 특징을 지닙니다. 따라서 속도는 RAID 0 보다 안좋습니다. 반면 데이터의 손실이 일어났을때 데이터 복구가 매우 간단한 장점이 있습니다.
하지만 RAID 1은 디스크 갯수가 한저오디어 있을 때 사용 가능한 용량이 적어지는 단점이 있습니다. RAID 0과 비교했을 때 RAID 0의 경우 4TB 정보를 저장 할 수 있는 반면, RAID 1은 미러링으로 복사본을 둬야하기 때문에 2TB의 정보만
저장 할 수 있는것을 볼 수 있습니다.
이는 결국 많은 양의 하드 디스크가 필요하게 되고 비용의 증가로 이어지는 단점을 가지게 됩니다.
다음으로 RAID 2와 RAID3가 있는데 현재에는 사용하지 않는 Level이라 바로 RAID4에 대해 살펴 보겠습니다.
RAID 4
RAID4는 Parity 디스크를 하나 두는 방식입니다. 각 데이터들이 디스크에 블록 형태로 저장되고
해당 블록을 오류 정보를 체크할 수 있는 Parity 체크 데이터를 Parity 디스크에 저장하는 것입니다.
페리티 체크 데이터는 주어진 데이터 비트를 조합하여 생성된 값으로, 데이터의 무결성 검사에 사용됩니다.
RAID4의 경우 데이터 블록의 비트를 XOR연산으로 결합하여 페리티 체크 데이터를 생성합니다. 만약 특정 디스크에
손상이 가해진다면, 페리티 체크 데이터를 활용하여 손상된 데이터를 복구 할 수 있습니다.
RAID4는 RAID1과 비교했을 때 하드디스크 용량을 더 많이 쓸 수 있지만,
RAID 4의 단점은A1의 데이터만 수정하고 싶어도 A1, A2, A3에 대한 정보가 묶여있는 A parity 전체를 수정해야 하는
비효율성에 있습니다. CPU가 하드디스크에 하나의 쓰기 작업을 할 때마다 Parity Disk가 수정되어야 하고 이로 인해
모든 디스크의 작업을 할 떄마다 Parity disk의 수정도 이루어져야 하기 떄문에 병목현상이 발생할 수 있는 가능성이
있습니다.
RAID 5
RAID5는 기본적으로 RAID4와 같이 Parity check data를 쓰지만, 저장하는 곳이 개별적인 Parity Disk에 두는것이 아닌
각각의 Disk안에 두는것이 특징입니다.
RAID 4와 비교하면 만약 A1이 바뀐다면, A 스트라이핑에 해당하는 Parity가 저장되어 있는 하드디스크 1과 A1이 저장된
하드디스크 2, 2개만 수정하면 됩니다. 수정하는 하드디스크의 갯수는 RAID2와 비교하면 똑같지만, 특정 디스크에
부하를 줄임으로써 병목현상을 해결 할 수 있고, 조금 더 효율적인 Parity Check Data 저장이 가능한 특징이 있습니다.
이런 특징 때문에 RAID5가 보통 실무에서 가장 많이 쓰이는 RAID level이라고 합니다.
이상으로 RAID에 대한 정리를 마치겠습니다.
글 읽어주셔서 감사합니다.
참고자료
https://product.kyobobook.co.kr/detail/S000061584886
혼자 공부하는 컴퓨터 구조+운영체제 | 강민철 - 교보문고
혼자 공부하는 컴퓨터 구조+운영체제 | 혼자 해도 충분합니다! 1:1 과외하듯 배우는 IT 지식 입문서42명의 베타리더 검증으로, ‘함께 만든’ 입문자 맞춤형 도서이 책은 독학으로 컴퓨터 구조와
product.kyobobook.co.kr
https://jhnyang.tistory.com/176
[운영체제 OS] RAID3, RAID4, RAID5 상황 및 상세설명( RAID LEVELS 이어서..)
[ 운영체제 Operating System 완전 정복 목차 ] 안녕하세요 여러분! 저저번에 'RAID의 전반적인 개념과 원리'에 대해서 다루는 포스팅을 하나 올리고, 저번에는 RAID 출현 배경과 RAID0, RAID1, RAID2 에 대해
jhnyang.tistory.com
'CS > 컴퓨터구조' 카테고리의 다른 글
플래시 메모리란? (0) | 2023.04.19 |
---|---|
보조기억장치(하드디스크) 에 대하여 (0) | 2023.04.12 |
캐시 메모리 (0) | 2023.03.03 |
명령어 사이클과 인터럽트에 대하여 (0) | 2023.02.15 |
CPU 구성 요소에 대하여 (0) | 2023.02.15 |