오늘은 RAID에 대해 설명드리겠습니다.
우선, RAID는 ( Redundant Arrays of Inexpensive Disks / Redundant Arrays of Independent Disks ) 의 약자입니다.
한국말 그대로 해석하면 "값싼 디스크의 중복 배열 / 독립된 디스크의 중복 배열" 입니다.
1. RAID란 무엇인가?
RAID는 값싼 개별의 디스크(Disks)들을 묶어서 고성능, 고용량의 성능을 내는 하나의 디스크처럼 사용하는 기술입니다.
2. RAID를 왜 사용하는가?
(1) 고용량, 고성능으로 사용가능
여러 개의 디스크들을 묶어서 하나의 디스크처럼 사용할 수 있도록 하는 것이라 고용량, 고성능인 한개의 디스크처럼 사용이 가능합니다.
(2) 데이터의 안정성 증가
하나의 데이터를 한 디스크에만 담았을 경우 그 디스크에 장애가 생기거나, 디스크가 유실되었을 경우 데이터가 사라질 수 있습니다. 정말 중요한 데이터라면 큰 손실이 될 수 있겠죠.
RAID기술을 이용하면 디스크 복제를 하거나, 여러 디스크에 나누어 담는 방법을 통해 데이터 유실의 가능성을 최소화하고 데이터 안정성을 높일 수 있습니다.
(3) I/O 성능 향상시킬 수 있다.
디스크를 여러 디스크에 나누어 담고 병렬로 연결해서 사용하게 되면 읽고 쓸 때 발생하는 I/O의 속도를 높일 수 있습니다.
3. RAID 종류 (RAID 레벨)
RAID는 구조에 따른 여러 종류(LEVEL)이 있는데 이것을 RAID 레벨이라고 부릅니다.
RAID레벨은 0~6까지 총 7가지 레벨이 있는데 그 중에서 범용적으로 사용되는 레벨은 RAID 0 / RAID 1 / RAID 5 / RAID6이 있습니다.
- RAID 0
RAID 0 은 concat 방식과 stripe방식이 있는데 흔히 RAID 0 이라고 하면 stripe방식이라고 봐주시면 됩니다.
그림에서 보는 것처럼 두개 이상의 디스크에 데이터를 랜덤하게 분산 저장하는 방식입니다.
장점 :
데이터를 여러 디스크에 분산저장하여 사용하기 때문에 입출력 (I/O) 속도가 향상됩니다.
N개의 디스크 사용했을 경우 용량 및 성능은 단일 디스크 대비 (N-1)배 증가
단점 :
복제를 해놓거나, 장애 발생할 경우를 대비 해놓지 않았기 때문에 어느 한 디스크에 장애가 발생할 경우 데이터가 소실될 가능성이 있습니다. (모든 디스크에 데이터가 각각 랜덤하게 분산되어 저장되어 있기 때문)
- RAID 1
Mirror 또는 Shadowing 구성이라고 불립니다.
그림에서 보시는 바와 같이 N개의 디스크가 거울처럼 동일하게 복제되어 있습니다.
디스크 장애를 대비하여 다른 디스크들에도 동일하게 백업을 해놓는다고 생각하시면 됩니다.
그렇기 때문에 RAID 1 구성에서는 여러 개의 디스크를 사용해도 실제 사용 가능한 디스크 용량은 기존 디스크 1개 사용할 때랑 동일합니다.
장점 :
데이터가 복제되어 있기에 디스크 장애 시 데이터 유실되지 않음. (안정성이 높음)
단점 :
복제를 위해 여러대의 디스크를 사용하게 되는데 성능은 동일하므로 비용이 많이 들고 효율성이 떨어질 수 있다.
- RAID 5
위 그림에서 P라고 되어있는 것은 패리티(Parity)로
디스크 장애 발생 시 데이터를 복구하기 위해 사용하는 여분의 영역이라고 생각해주시면 됩니다.
즉, 만약 디스크에 장애가 났을 경우 해당 디스크의 데이터를 복구해야 하는데, 그 때 Parity영역을 통해 복구를 할 수 있습니다. 패리티를 저장하는 디스크는 고정하지 않고, 각각의 데이터 패리티는 각각 다른 디스크에 저장합니다.
현재 가장 사용 빈도가 높은 RAID 레벨이라고 봐주시면 되고 최소 3개의 디스크로 구성이 됩니다.
N개의 디스크 사용했을 경우 용량 및 성능은 단일 디스크 대비 (N-1)배 증가
장점 :
특정한 1개의 디스크가 고장이 나더라도 남은 디스크를 사용하여 데이터 복구할 수 있다. (안정성이 괜찮음)
Parity를 담당하는 디스크가 병목 현상을 일으키지 않기 때문에 I/O 속도도 빠른 편이다.
가장 많이 사용되는 구성
- RAID 6
그림에서 보시는 바와 같이 각 디스크에 패리티가 2개씩 있다.
즉, RAID 5에서 패리티의 수를 더 늘린 구성으로 RAID 5에 비해 성능, 용량은 좀 더 줄어드는 대신 안정성은 더 높아진다.
이 구성 또한 각 디스크의 데이터 영역마다 패리티를 저장하는 디스크를 고정하지는 않고, 매번 다른 디스크에 저장하게 됩니다.
최소 4개의 디스크로 구성이 가능합니다.
N개의 디스크 사용했을 경우 용량 및 성능은 단일 디스크 대비 (N-2)배 증가
장점 :
특정한 2개의 디스크에서 장애가 발생해도 복구 가능합니다. (상당히 높은 장애 복구능력으로 안정성 좋음)
이상으로 RAID의 개념 및 목적, RAID레벨에 대해 알아보았습니다.
감사합니다.
이미지 출처 : 위키피디아 (https://en.wikipedia.org/wiki/Standard_RAID_levels)
'IT 이것저것' 카테고리의 다른 글
이진탐색트리(Binary Search Tree) 설명 및 특징 (2) | 2023.01.24 |
---|---|
트리(Tree) 개념, 용어, 종류(완전 이진트리, 전 이진트리, 포화 이진트리) (4) | 2023.01.24 |
[인프라] 스케일 업(Scale-up) 과 스케일 아웃(Scale-out) 비교 (2) | 2023.01.20 |
Failover 란 무엇인가? 개념 및 설명 (4) | 2023.01.18 |
[티스토리] 네이버 서치어드바이저 사이트 간단 체크 오류 (3) | 2023.01.17 |
댓글