[Linux] RAID 0~6 특징 및 용량 계산 방법

fever·2024년 9월 2일
0

⚙️ RAID (Redundant Array of Independent Disks)

여러 개의 하드디스크를 결합하여 하나의 논리적인 디스크처럼 동작하게 하는 기술로 데이터의 성능, 안정성, 용량을 개선하기 위해 사용된다. RAID는 여러 수준(Level)으로 나뉘며, 각 수준마다 특성과 목적이 다르다.

RAID 레벨특성최소 디스크 수장점단점
RAID 0스트라이핑 (Striping)2높은 성능 (읽기 및 쓰기 속도 향상)데이터 보호 없음, 한 디스크라도 손실되면 모든 데이터 손실
RAID 1미러링 (Mirroring)2높은 데이터 보호 (디스크 하나 손실 시에도 데이터 유지)저장 용량 감소 (전체 용량의 50% 사용 가능)
RAID 2비트 수준 스트라이핑 (Bit-Level Striping)3에러 수정 가능 (Hamming 코드 사용)구현이 복잡하고, 비효율적이며 거의 사용되지 않음
RAID 3바이트 수준 스트라이핑 (Byte-Level Striping) + 패리티3높은 전송 속도, 단일 디스크 장애 복구 가능구현 복잡, 다수의 디스크 필요
RAID 4블록 수준 스트라이핑 (Block-Level Striping) + 패리티3고속 읽기 성능, 단일 디스크 장애 복구 가능패리티 디스크 병목 현상 발생 가능
RAID 5블록 수준 스트라이핑 + 분산 패리티 (Distributed Parity)3읽기 성능 우수, 디스크 하나 손실 시 데이터 복구 가능쓰기 성능 저하 (패리티 계산), 구현 복잡
RAID 6블록 수준 스트라이핑 + 이중 분산 패리티 (Double Distributed Parity)4두 개의 디스크 손실에도 데이터 복구 가능쓰기 성능 저하, 구현 복잡

📌 RAID 레벨별 계산 공식

  1. RAID 0

    • 가용 용량 = N × S
    • 손실 용량 = 0
    • 성능과 용량 극대화가 목적, 가용 용량은 모든 디스크의 용량 합과 동일
  2. RAID 1

    • 가용 용량 = S
    • 손실 용량 = (N - 1) × S
    • 데이터 보호를 위해 모든 디스크에 동일한 데이터를 저장, 가용 용량은 단일 디스크의 용량과 동일
  3. RAID 5

    • 가용 용량 = (N - 1) × S
    • 손실 용량 = S
    • 패리티 정보가 각 디스크에 분산 저장, 전체 디스크 수에서 하나를 제외한 나머지 디스크의 용량 합이 가용 용량.
  4. RAID 6

    • 가용 용량 = (N - 2) × S
    • 손실 용량 = 2 × S
    • 두 개의 패리티 정보가 각 디스크에 분산 저장, 전체 디스크 수에서 두 개를 제외한 나머지 디스크의 용량 합이 가용 용량.

💻 예시 문제 및 풀이

예시 1: RAID 0

  • 문제: 4개의 디스크가 있으며, 각 디스크의 용량이 1TB인 경우, RAID 0의 가용 용량은?
  • 풀이:
    • N = 4, S = 1TB
    • 가용 용량 = N × S = 4 × 1TB = 4TB

예시 2: RAID 1

  • 문제: 4개의 디스크가 있으며, 각 디스크의 용량이 2TB인 경우, RAID 1의 가용 용량은?
  • 풀이:
    • N = 4, S = 2TB
    • 가용 용량 = S = 2TB

예시 3: RAID 5

  • 문제: 5개의 디스크가 있으며, 각 디스크의 용량이 1TB인 경우, RAID 5의 가용 용량은?
  • 풀이:
    • N = 5, S = 1TB
    • 가용 용량 = (N - 1) × S = (5 - 1) × 1TB = 4TB

예시 4: RAID 6

  • 문제: 6개의 디스크가 있으며, 각 디스크의 용량이 1TB인 경우, RAID 6의 가용 용량은?
  • 풀이:
    • N = 6, S = 1TB
    • 가용 용량 = (N - 2) × S = (6 - 2) × 1TB = 4TB
profile
선명한 삶을 살기 위하여

0개의 댓글