RAID란?
여러 개의 디스크를 하나로 묶어 하나의 논리적 디스크인 것 처럼 작동하게 하는 것을 RAID라고 한다.
RAID 레벨
기본적으로 RAID 레벨은 0~6까지 일곱 가지의 레벨을 가지고 있다.
또한 RAID0 과 조합하여 RAID10(1+0), RAID50(5+0), RAID60(6+0)의 레벨도 존재한다.
RAID | 설명 | 용도 |
0 | 내장애성이 없는 디스크 어레이(스트라이핑) | 디스크 I/O 성능을 높여야 할 때 사용, 내장애성이 낮다. 로그 집계 등의 임시 저장 영역에 사용 |
1 | 이중화 (미러링) | 내장애성이 높다. 운영체제가 설치된 파티션 등에 사용 |
2 | 비트 단위 전용 오류 보정 부호 드라이브(ECC) | 거의 사용 안됨 |
3 | 비트/바이트 단위 전용 패리티 드라이브 | 거의 사용 안됨 |
4 | 블록단위 전용 패리티 드라이브 | 거의 사용 안됨 |
5 | 블록 단위 패리티 정보 기록 | 저장 용량을 넉넉하게 확보하고자 할 때 사용, 예) 파일 서버, 로그 저장 등 |
6 | 블록 단위 두 가지 패리티 정보 기록 | RAID5와 용도는 같지만 RAID5보다 내장애성이 높다 |
10 | RAID1을 스트라이핑한 것 | 내장애성과 디스크 I/O 성능을 모두 만족해야 할 때 사용, 예) 데이터베이스 |
50 | RAID5를 스트라이핑한 것 | 저장 용량 확보와 디스크 I/O 성능을 모두 만족해야 할 때 사용, 예) 파일 서버, 로그 저장 등 |
60 | RAID6을 스트라이핑한 것 | 저장 용량 확보와 디스크 I/O 성능을 모두 만족해야 할 때 사용, 예) 파일 서버, 로그 저장 등 |
RAID 사용 예
500GB 디스크 12개로 구성하는 RAID
RAID | 계산식 | 실제 용량 |
0 | 500GB x 12 개 | 60TB |
1 | 구성 불가 RAID10으로 구성 | - |
5 | 500GB x (12-1)개 | 5.5TB |
6 | 500GB x (12-1)개 | 5TB |
10 | 500GB x ((3-1)x4)개 | 3TB |
50 | 500GB x ((3-1)x4)개 | 4TB |
500GB x ((3-1)x4)개 | 4.5TB | |
500GB x ((3-1)x4)개 | 5TB |
2TB용량을 준비하기 위한 500GB 디스크의 개수
RAID | 수량 | 스트라이핑 개수 | 비용 | 내장애성 |
0 | 4개 | 4개 | 가장 쌈 | 없다 |
1 | 구성 불가능 RAID10으로 구성 |
- | - | - |
5 | 5개 | 5개 | 중간 | 약간 낮음 |
6 | 6개 | 5개 | 중간 | 높음 |
10 | 8개 | 4세트 | 가장 비쌈 | 높음 |
50 | 6개 | 2세트 x 3개 | 중간 | 조금 낮음 |
RAID의 성능
RAID를 구성하면 디스크 I/O 성능을 높일 수 있다. 디스크 I/O 성능은 서버와 스토리지 사이의 초당 처리할 수 있는 수치로 IOPS(Input/Output Per Second)라고 한다.
디스크 하나보다는 두 개를 병렬로 연결하면 이론상 I/O 속도가 두 배가 된다. 이처럼 디스크를 병렬로 여러 개 사용하는 것을 스트라이핑이라고 한다.
스트라이핑의 개수를 늘릴수록 디스크 I/O 성능은 좋아진다.
RAID5와 RAID10
대용량의 디스크가 필요할 때는 전반적으로 RAID5나 RAID10이 사용된다.
일반적으로 RAID5가 실제 용량이 가장 많이 확보할 수 있는 대신 속도가 느리고, RAID10은 용량이 줄어드는 대신 속도가 빠르다.