[Hardware] RAID란? RAID의 구성방식과 종류

Asher·2025년 4월 29일

Hardware

목록 보기
3/3
post-thumbnail

0. 도입

이번주 센터 업무를 진행하면서 서버 폐기, OS 재설치 등 오랜만에 하드웨어 관련업무를 진행했습니다.
OS 설치를 하며 RAID를 구성하던 중 기존에는 OS파티션은 RAID 1 데이터파티션은 RAID 6로 구성했었는데 왜 그렇게 구성을 진행했는지, 그리고 각 RAID의 차이점을 알아보기 위해 이 글을 작성합니다.

1. RAID란?

  • RAID(Redundant Array of Independent Disks)는 여러 개의 하드디스크 드라이브(HDD) 또는 SSD를 하나의 논리적 장치처럼 구성하여 데이터 보호, 성능 향상 또는 두 가지 모두를 목표로 하는 기술

  • RAID의 장점

    • 성능향상
    • 데이터 보호 및 내결함성 제공
    • 서비스 연속성 유지

2. RAID의 구성방식

RAID를 구성하는 방식에는 주로 3가지 방식이 사용됩니다.

  • Striping(스트라이핑)

    • 데이터를 여러 디스크에 블록 단위로 나누어 분산 저장하는 기술
    • 각 디스크에 데이터의 일부(스트립)를 동시에 기록하여 읽기/쓰기 성능을 크게 향상
    • RAID 0, RAID 5, RAID 6 등에서 사용
    • 디스크 중 하나라도 고장 나면 전체 데이터가 손실될 수 있음
  • Mirroring(미러링)

    • 동일한 데이터를 두 개 이상의 디스크에 복제하여 저장하는 방식
    • 한 디스크에 장애가 발생해도 다른 디스크에 동일한 데이터가 있어 데이터 손실 없이 복구 가능
    • RAID 1, RAID 10 등에서 사용
    • 저장 효율이 50%로 떨어져, 디스크 용량이 두 배로 필요
  • Parity (패리티)

    • 데이터 보호를 위해 추가로 계산된 정보를 저장하는 방식
    • XOR 연산 등으로 생성된 패리티 비트를 별도의 디스크(혹은 분산) 저장하여, 한 개 또는 두 개의 디스크 장애 시에도 데이터 복구가 가능
    • RAID 3, RAID 4, RAID 5(분산 패리티), RAID 6(이중 패리티) 등에서 사용
    • 패리티 정보는 전용 디스크에 저장하거나(전용 패리티), 모든 디스크에 분산 저장(분산 패리티)할 수 있다.

3. RAID의 종류

RAID 0 - Striping(스트라이핑)

  • Striping(스트라이핑)이라고도 불리며, 데이터를 여러 디스크에 번갈아 가며 분산 저장하는 방식
  • 최소 2개 이상의 디스크가 필요하며, 중복성이나 오류 검출 기능이 없어 데이터 안정성은 가장 낮습니다.
  • 동작원리?
    데이터는 일정한 크기의 블록(스트라이프)으로 나뉘어 순차적으로 각 디스크에 기록됩니다. 예를 들어, 2개의 디스크로 구성된 RAID 0 어레이에서 데이터 A는 디스크 1에, 데이터 B는 디스크 2에, 데이터 C는 디스크 1에, 데이터 D는 디스크 2에 기록되는 방식입니다.

[예시]
1TB 의 디스크 4개를 RAID 0으로 구성하게 된다면 총 사용할 수 있는 용량은?
➡️ 4TB

RAID 1 - Mirroring(미러링)

  • Mirroring(미러링)이라고 불리며, 데이터를 두 개 이상의 디스크에 완전히 동일하게 복제하여 저장하는 방식
    최소 2개의 디스크가 필요하며, 높은 데이터 안정성을 제공

  • 동작원리?
    하나의 디스크에 데이터를 기록하면, 동시에 다른 모든 디스크에도 동일한 데이터가 기록됩니다. 따라서 모든 디스크는 동일한 데이터의 복사본을 갖게 됩니다

[예시]
1TB 의 디스크 4개를 RAID 1으로 구성하게 된다면 총 사용할 수 있는 용량은?
➡️ 2TB

RAID 2

  • Bit-level Striping(비트 레벨 스트라이핑) + Hamming Code(ECC) 패리티

  • 디스크 최소 3개 이상 필요

  • 데이터는 비트 단위로 스트라이핑되어 여러 데이터 디스크에 분산 저장되고, 오류 검출 및 수정을 위한 해밍 코드 패리티 정보는 별도의 디스크에 기록됩니다.

  • 데이터를 비트 단위로 나누어 각 데이터 디스크에 순차적으로 저장하고, 이 데이터 블록에 대한 해밍 코드 패리티를 생성하여 전용 패리티 디스크에 저장

  • 실무에서는 거의 사용되지 않음

  • 동작원리?
    데이터는 비트 단위로 나뉘어 여러 데이터 디스크에 순차적으로 분산 저장 동시에, 이 데이터 블록에 대한 해밍 코드 패리티 정보가 생성되어 별도의 패리티 디스크 세트에 기록

[예시]
1TB 의 디스크 4개를 RAID 2으로 구성하게 된다면 총 사용할 수 있는 용량은?
➡️ 데이터 Disk 2EA, ECC(오류검출) 2EA일 경우
2TB
➡️ 데이터 Disk 3EA, ECC(오류검출) 1EA일 경우
3TB

RAID 3

  • 바이트 레벨 스트라이핑(Byte-level Striping) + 전용 패리티 디스크
  • 데이터를 바이트 단위로 스트라이핑
  • 디스크 최소 3개 이상 필요
  • 동작원리?
    데이터는 바이트 단위로 분할되어 여러 데이터 디스크에 순차적으로 기록됩니다. 각 스트라이프에 대한 패리티(Parity) 정보는 별도의 전용 디스크에 저장된다.

[예시]
1TB 의 디스크 4개를 RAID 3으로 구성하게 된다면 총 사용할 수 있는 용량은?
➡️ 3TB

RAID 4

  • 블록 레벨 스트라이핑(Block-level Striping) + 전용 패리티 디스크
  • 디스크 최소 3개 이상 필요
  • 성능 이슈로 인해 실무에서는 잘 쓰이지 않는다.
  • 동작원리?
    데이터는 블록 단위로 분할되어 여러 데이터 디스크에 순차적으로 기록됩니다. 각 스트라이프에 대한 패리티 정보는 별도의 전용 패리티 디스크에 저장

    [예시]
    1TB 의 디스크 4개를 RAID 4으로 구성하게 된다면 총 사용할 수 있는 용량은?
    ➡️ 3TB

RAID 5

  • 블록 레벨 스트라이핑(Block-level Striping) + 분산 패리티(Distributed Parity)
  • 디스크 최소 3개 이상 필요
  • 데이터와 패리티 정보는 모든 디스크에 분산되어 저장
  • 동작원리?
    데이터를 블록 단위로 나누어 여러 데이터 디스크에 스트라이핑하고, 각 스트라이프에 대한 패리티 정보를 생성, 패리티 블록은 특정 전용 디스크가 아닌 각 디스크에 순차적으로 분산

    [예시]
    1TB 의 디스크 4개를 RAID 5으로 구성하게 된다면 총 사용할 수 있는 용량은?
    ➡️ 3TB

RAID 6

  • 블록 레벨 스트라이핑(Block-level Striping) + 이중 분산 패리티(Dual Distributed Parity)
  • 데이터와 두 개의 독립적인 패리티 정보가 모든 디스크에 분산되어 저장
  • 최소 4개 이상의 디스크 필요
  • 동작원리?
    데이터를 블록 단위로 나누어 여러 데이터 디스크에 스트라이핑하고, 각 스트라이프에 대해 두 개의 서로 다른 패리티 블록을 생성

    [예시]
    1TB 의 디스크 4개를 RAID 6으로 구성하게 된다면 총 사용할 수 있는 용량은?
    ➡️ 2TB

RAID 10 (RAID 1+0)

업로드중..

  • RAID 1(미러링) + RAID 0(스트라이핑)
  • 최소 4개의 디스크 필요
  • 먼저 데이터를 여러 디스크 쌍으로 미러링하고(RAID 1), 이 미러링된 디스크 쌍들을 스트라이핑(RAID 0)
  • 동작원리?
    데이터를 먼저 두 개씩 짝지어 미러링하여 데이터의 복사본을 만들고, 이렇게 구성된 미러링된 디스크 쌍들을 하나의 그룹으로 묶어 RAID 0 방식으로 스트라이핑

[예시]
1TB 의 디스크 4개를 RAID 10으로 구성하게 된다면 총 사용할 수 있는 용량은?
➡️ 2TB


4. RAID 정리

앞서 말한 모든 내용을 간단하게 표로 정리해 보겠습니다.

RAID 레벨최소 디스크 수저장 용량 효율내결함성 (허용 장애 수)주요 특징
RAID 02개100%❌ 없음 (1개만 고장나도 데이터 손실)스트라이핑만 적용 → 속도 빠름, 복구 불가
RAID 12개50%✅ 1개 (미러링된 디스크)미러링 → 안정성 높음, 용량 절반만 사용
RAID 23개 이상↓ 낮음✅ 다수 (Hamming Code 기반)바이트 단위 스트라이핑 + ECC / 거의 사용 안 함
RAID 33개(N-1)/N✅ 1개바이트 단위 스트라이핑 + 전용 패리티 디스크
RAID 43개(N-1)/N✅ 1개블록 단위 스트라이핑 + 전용 패리티 디스크 (병목 발생)
RAID 53개(N-1)/N✅ 1개블록 단위 스트라이핑 + 분산 패리티, 성능 균형
RAID 64개(N-2)/N✅ 2개RAID 5 + 추가 패리티, 고신뢰성
RAID 104개 (짝수 개수)50%✅ 1개 이상 (미러링마다 1개 허용)RAID 1 + 0: 속도+안정성 우수, 고비용

참고: https://www.prepressure.com/library/technology/raid

profile
System Engineer의 발전기록

0개의 댓글