코드네임 :

⚙️ 운영체제 - RAID (디스크들의 중복된 배열) ⚙️ 본문

⚙️Computer System/운영체제

⚙️ 운영체제 - RAID (디스크들의 중복된 배열) ⚙️

비엔 Vien 2024. 12. 11. 01:57

RAID는 데이터의 신뢰성을 높이기 위해

 


 

 

1. RAID 0 (스트라이핑)

개념

  • **스트라이핑(Striping)**은 데이터를 **작은 단위(스트라이프)**로 나눠서 여러 디스크에 분산 저장하는 방식입니다.
  • 데이터를 병렬적으로 나눠 저장하므로 전송 속도가 향상됩니다.

특징

  1. 성능 향상:
    • 데이터를 여러 디스크에 동시에 저장하고 읽어오기 때문에 읽기/쓰기 속도가 빠름.
    • 대규모 데이터를 처리하는 데 유리함.
  2. 저장 공간 활용도 100%:
    • 데이터 중복이 없으므로, 모든 디스크의 저장 공간이 사용됩니다.
  3. 장애 복구 불가:
    • 데이터를 중복 저장하지 않기 때문에, 하나의 디스크가 손상되면 전체 데이터를 복구할 수 없음.

예시

  • 데이터를 A, B, C, D로 나누고 4개의 디스크에 저장한다고 가정하면:
디스크 1: A
디스크 2: B
디스크 3: C
디스크 4: D

 

  • 사용자는 데이터를 한 디스크에 있는 것처럼 인식하지만, 실제로는 여러 디스크에 병렬로 저장되어 있음.

 

2. RAID 1 (미러링)

개념

  • **미러링(Mirroring)**은 데이터를 중복 저장하여, 한 디스크에 저장된 데이터를 다른 디스크에 동일하게 복사하는 방식입니다.
  • 데이터의 복원성을 높이기 위해 사용됩니다.

특징

  1. 데이터 복원성:
    • 모든 데이터가 최소 두 개의 디스크에 동일하게 저장됩니다.
    • 한 디스크가 고장 나더라도, 다른 디스크에 저장된 데이터를 사용하여 복구할 수 있음.
  2. 저장 공간 비효율:
    • 동일한 데이터를 중복 저장하므로, 실제 사용 가능한 저장 공간은 디스크 총 용량의 50%.
    • 예를 들어, 두 개의 1TB 디스크를 사용하는 경우, 실제 사용 가능한 공간은 1TB뿐.
  3. 성능 향상:
    • 읽기 성능은 향상됨: 요청을 여러 디스크로 나눠 처리할 수 있음.
    • 쓰기 성능은 단일 디스크와 유사: 모든 디스크에 데이터를 동일하게 기록해야 하기 때문.

예시

  • 데이터를 A, B, C, D로 저장한다고 가정하면:
디스크 1: A, B, C, D
디스크 2: A, B, C, D
  • 두 디스크가 동일한 데이터를 저장하여, 장애 발생 시 복구 가능.

 


 

1. RAID 5란?

  • RAID 5는 데이터를 스트라이핑(Striping) 방식으로 나눠서 여러 디스크에 저장하면서, 패리티(Parity)정보를 추가로 저장하여 데이터 복구 기능을 제공합니다.
  • 패리티(Parity):
    • 데이터를 보호하기 위해 사용하는 오류 정정 코드입니다.
    • 특정 디스크가 고장 났을 때 데이터를 복구하는 데 사용됩니다.

2. 주요 특징

  1. 데이터 스트라이핑과 분산 패리티
    • 데이터를 여러 디스크에 스트라이핑(나눠서) 저장하고, 패리티 정보 모든 디스크에 분산 저장합니다.
    • RAID 4와 달리, 패리티 전용 디스크가 없으므로 특정 디스크의 병목 현상이 줄어듭니다.
  2. 장애 복구 가능
    • 디스크 중 하나가 고장 나더라도, 남은 데이터와 패리티 정보를 사용하여 복구 가능.
    • 예를 들어, 데이터 A, B, C가 각각 디스크 1, 2, 3에 저장되고, 디스크 4에 패리티가 있다면, 디스크 3이 손상된 경우:
      • 복구 데이터 = 디스크 1의 데이터 XOR 디스크 2의 데이터 XOR 패리티 데이터.
  3. 저장 공간 효율성
    • RAID 1(미러링)보다 저장 공간의 효율성이 높습니다.
  4. 읽기와 쓰기 성능
    • 읽기 성능: 병렬 읽기가 가능하므로 빠릅니다.
    • 쓰기 성능: 패리티를 계산하고 저장해야 하므로 RAID 0보다는 느리지만 RAID 1보다는 효율적입니다.

3. RAID 5의 필요 디스크 개수

  • 최소 3개 이상의 디스크가 필요합니다.
    • 2개는 데이터를 저장하고, 1개는 패리티 정보를 저장합니다.
    • 디스크 개수가 많아질수록 저장 공간 효율성과 성능이 높아집니다.

4. 예시

  • 데이터와 패리티 배치:
디스크 1: A0, A1, 패리티1, A3
디스크 2: B0, 패리티2, B2, B3
디스크 3: 패리티0, C1, C2, C3
디스크 4: D0, D1, D2, 패리티3
  • 데이터를 디스크에 스트라이핑으로 나누고, 패리티 정보는 분산하여 저장.
  • 장애 복구:
    • 만약 디스크 2가 손상되었다면:
      • 디스크 1, 디스크 3, 디스크 4의 데이터를 XOR 연산하여 디스크 2의 데이터를 복구합니다.

RAID 5는 어디에 적합한가?

  • 읽기 성능이 중요하고, 적절한 데이터 안전성을 원하는 경우 적합.
  • 데이터베이스, 파일 서버, 웹 서버와 같은 읽기 작업이 많은 시스템에 주로 사용.