RAID 구성 | RAID Level 0, 1, 4, 5, 6, 1+0, 0+1
RAID(Redundant Array of Independent Disks 또는 Redundant Array of Inexpensive Disks)는 뜻 하는 내용처럼 여러 개의 디스크를 스토리지 하나처럼 운영하여 스토리지의 안정성을 확보하는 기술입니다.
저렴한(Independent) 디스크의 복수 배열의 뜻에서 독립적인 디스크의 복수 배열이란 뜻으로 많이 사용되고 있습니다. 이유는 단독으로 사용하기에 부족한 성능을 가진 디스크를 하나의 논리 디스크로 정렬해서 재활용하는데 목적이 있었기 때문입니다.
디스크 어레이(disk Array)라고도 하며, RAID Level에 따라 다양한 디스크 정렬 방식을 가지고 있습니다.
✅ RAID 구성의 장점과 사용 이유
RAID 구성은 여러 디스크 드라이브를 하나의 논리적인 저장 장치로 결합하여 데이터를 저장하고 보호하는데 사용됩니다. 여기에서 얻을 수 있는 장점은 다음과 같습니다.
데이터 손실을 방지하고 장애가 발생했을 때 서비스를 계속 제공할 수 있는 기능이 가장 중요합니다. RAID는 주로 데이터를 안전하게 보호하기 위해 사용되므로, RAID 1, RAID 5, RAID 10 등이 데이터 보호를 중심으로 선택됩니다. 장애가 발생했을 때 데이터가 손실되지 않도록 하는 것이 가장 중요합니다.
시스템이 계속 정상적으로 운영되도록 보장하는 것이 중요합니다. 서버나 네트워크가 장애 없이 계속 가동되도록 보장하기 위해서는 RAID 구성이 필수입니다. RAID 1과 RAID 10은 디스크 장애가 발생하더라도 가용성을 높여줍니다.
높은 성능을 요구하는 환경에서는 RAID 0 또는 RAID 10처럼 디스크 I/O 성능을 향상시킬 수 있는 구성이 필요합니다. 특히 데이터베이스 서버나 고속 트랜잭션이 많은 환경에서는 성능이 중요한 요소로 작용합니다.
큰 용량의 스토리지가 필요한 경우, RAID 5 또는 RAID 6와 같이 디스크 용량을 확장할 수 있는 구성을 사용합니다. RAID 0은 용량을 확장하는 데 유리하지만, 보호 기능이 없어 다른 방식에 비해 데이터 안전성 측면에서는 불리합니다.
비용을 절감하면서 데이터 보호와 성능을 동시에 만족시키려면 RAID 5나 RAID 6가 좋은 선택이 될 수 있습니다. 패리티를 사용하여 디스크를 절약할 수 있지만, 성능에서는 RAID 0이나 RAID 10에 비해 조금 더 떨어질 수 있습니다.
관리가 쉬운 RAID 레벨을 선택하는 것도 중요합니다. 특히 서버 관리자가 쉽게 관리할 수 있는 구성을 선택하는 것이 좋습니다. RAID 1과 RAID 5는 비교적 관리가 용이하며, RAID 0은 성능이 우수하지만 관리 측면에서 불편할 수 있습니다.
레이드를 사용하는 가장 주된 이유는 하드디스크 장애로 인한 데이터 손실을 보호하기 위한 목적입니다. 소모품으로 분류되는 하드 디스크는 I/O가 많은 서버에서 수명이 짧을 수 있으며, 데이터의 손실은 치명적일 수 있습니다. 하나의 디스크에서 장애가 발생하면 다른 스토리지로 교환 후 계속 서비스를 할 수 있습니다.
기준 33179_27cd73-e8> |
RAID 33179_e73eee-56> |
---|---|
데이터 보호 33179_97c196-62> |
RAID 1 (미러링), RAID 5 (패리티), RAID 6 (이중 패리티), RAID 10 (미러링 + 스트라이핑) 33179_34779b-b0> |
운용 가용성 33179_81e7f7-09> |
RAID 1 (미러링), RAID 5 (패리티), RAID 6 (이중 패리티), RAID 10 (미러링 + 스트라이핑) 33179_01104e-5d> |
디스크 I/O 성능 향상 33179_3aa31d-ff> |
RAID 0 (스트라이핑), RAID 1+0 (미러링 + 스트라이핑) 33179_32597b-b1> |
디스크 용량 증대 33179_c124ca-90> |
RAID 0 (스트라이핑), RAID 5 (패리티), RAID 6 (이중 패리티) 33179_a6a205-06> |
비용 효율성 33179_595b58-14> |
RAID 5 (패리티), RAID 6 (이중 패리티) 33179_aa5d12-6f> |
관리 용이성 33179_c4e1fa-7d> |
RAID 1 (미러링), RAID 5 (패리티), RAID 10 (미러링 + 스트라이핑) |
✅ RAID 제어 방식
레이드 제어 방식은 ‘하드웨어’ 제어 방식과 ‘소프트웨어’ 제어 방식으로 두 가지 방식이 있습니다. 하드웨어 방식에는 보통 리눅스를 지원하는 RAID 컨트롤러를 준비해야 하며, 소프트웨어 방식은 서버에 장착한 스토리지를 설정하는 것으로 RAID를 설정할 수 있습니다. 또한 리눅스 커널에는 별도의 레이드 기능이 탑재되어 있습니다.
✅ RAID Level
보통 RAID 0,1,5,6이 많이 사용되며 2,3,4 역시 정의되어 있지만 비효율적인 이유로 많이 사용되지 않습니다.
🔲 RAID Level 0, 1, 5, 6
RAID 0(스트라이핑, Striping)은 데이터를 여러 스토리지에 분산하여 저장하는 방식으로, 성능 향상을 위해 데이터를 순차적으로 나누어 각 물리적 저장 장치에 저장하는 기술입니다. 붙인 줄무늬라는 의미의 Striping에서 알 수 있듯이 RAID 0은 데이터의 집합입니다.
RAID Level 0의 장점은 입/출력 시 성능이 좋지만 특정 스토리지에 장애가 발생할 경우 데이터를 복구 할 수 없는 단점이 존재합니다.
미러링(Mirroring)으로 부르는 RAID 1은 최소 2개의 디스크가 필요합니다. RAID 1의 목적은 스토리지 1대가 정상적으로 작동한다면 완벽한 데이터를 복원할 수 있는 안정성에 있습니다.
미러링 방식으로 반대로 디스크 어레이의 총 용량은 반으로 줄어드는 단점을 가지고 있습니다. 실제로 3개로 구성하진 않지만 1TB의 디스크 3개로 RAID1을 구성하더라도 사용 가능한 용량은 1TB입니다.
RAID Level 5의 목적은 성능, 저장 효율, 그리고 데이터 안정성 간의 균형을 이루는 데 있습니다. 이 방식은 데이터를 블록 단위로 스트라이핑(Striping)하여 저장하면서, 에러 복구를 위한 패리티(Parity) 정보를 각 디스크에 분산 저장합니다.
이는 RAID 4와의 중요한 차이점으로, RAID 4가 하나의 디스크에만 패리티 정보를 저장하는 것과 달리, RAID 5는 매 스트라이프(Stripe)마다 패리티 위치를 바꾸어 모든 디스크에 고르게 분산시킵니다.
패리티는 복수의 데이터 블록을 기반으로 계산된 복구용 정보로, 하나의 디스크가 손상되더라도 나머지 디스크의 패리티 정보가 나머지 3개 디스크의 정보를 가지고 있어 손실 된 데이터를 복원할 수 있습니다.
RAID 5는 최소 3개의 디스크가 필요하며, 실무에서 가장 널리 사용되는 RAID 구성 중 하나입니다.
RAID Level 6은 RAID 5와 유사하게 데이터를 블록 단위로 스트라이핑(Striping)하여 저장하고, 에러 복구를 위한 패리티(Parity) 정보를 고정된 디스크에 하지 않고 각 디스크에 분산 저장합니다.
RAID 5가 하나의 패리티만 사용하는 데 비해, RAID 6는 두 개의 독립적인 패리티 블록을 사용하여 동시에 2개의 디스크가 손상되어도 데이터 복구가 가능하도록 설계되어 있습니다.
이 구조 덕분에 RAID 6는 RAID 5보다 더 높은 안정성을 제공하며, 최소 4개의 디스크가 필요합니다. 두 개의 패리티를 저장하는 만큼 내부적인 쓰기 알고리즘이 복잡해져 성능은 RAID5보다 느립니다.
🔲 중첩 레이드(Nested RAID)
중첩된(Nested) 레이드는 일반 레이드를 여러 개 중첩해서 사용하는 방식입니다.
RAID Level 1+0은 RAID 1과 RAID 0의 결합입니다. 미러링과 스트라이핑 방식의 결합으로, 데이터는 각각 2개 이상의 디스크에 저장됩니다. 디스크가 손실되면 데이터를 바로 동기화 할 수 있는 핫 스페어 기는으로 데이터가 예비 디스크와 동기화를 진행합니다. 바로 디스크를 교체할 필요가 없습니다.
RAID 0의 스트라이핑 방식을 적용하여 데이터를 여러 디스크에 분산시켜 읽기 및 쓰기 성능을 향상시킬 수 있습니다. 이로 인해 시스템의 성능이 크게 개선됩니다.
RAID 10을 구성하려면 최소 4개의 디스크가 필요하며, 이 중 두 개의 디스크는 RAID 1 방식으로 미러링되어 데이터를 보호하고, 나머지 두 개의 디스크는 RAID 0 방식으로 스트라이핑되어 성능을 향상시킵니다.
RAID Level 0+1은 스트라이핑 한 디스크를 생성 한 후에 미러링 방식으로 묶은 것입니다. 속도 증가를 우선으로 하고 기본적인 데이터 보호를 목적으로 합니다.
🔲 현재는 사용되지 않는 RAID Level 2, 3, 4
현재 거의 사용되지 않는 RAID Level 중 하나입니다. RAID 2는 일반적인 RAID와 다르게 Hamming Code를 기반으로 한 오류 정정 코드(ECC)를 사용합니다. m+1개의 데이터 디스크 + m개의 패리티 디스크가 필요합니다.
RAID 4가 나오면서 사용하지 않습니다.
RAID 3 & RAID 4
RAID 3와 RAID 4는 RAID 0, 1의 단점을 보완하기 위해 등장했으며, 구성 방식은 유사합니다.데이터는 RAID 0처럼 스트라이핑 방식으로 저장되고, 에러 복구를 위한 패리티 정보는 별도의 디스크에 저장됩니다.
→ 대신 RAID 5나 RAID 6처럼 패리티를 분산 저장하는 방식이 성능과 안정성 측면에서 더 우수해 널리 사용되고 있습니다.