[CS] RAID

2024. 7. 8. 17:54Computer Science

728x90

데이터 저장에 있어 성능을 향상시키는 방법론 중에 하나로, Kafka에서도 이 원리가 활용된다.

 

Redundant Array of Independent Disks

  • 여러 개의 물리적 디스크 드라이브를 하나의 논리적 유닛으로 결합하여 데이터 저장의 성능, 용량, 신뢰성을 향상 
  • OS RAID : 운영체제 레벨에서 이 RAID를 구현하는 것
  • 하드웨어 RAID와 구분되며, 소프트웨어 RAID로도 불린다

 

 

RAID Level

 

  • RAID 0 : 스트라이핑 기법을 사용하여 데이터를 여러 디스크에 분산 저장
  • 성능은 향상되나 데이터 중복이 없어 신뢰성은 낮다
  • 모든 디스크를 동시에 사용하기 때문에 성능은 단일 디스크 성능의 N배
  • 안정성은 1/N으로 줄어든다(하나라도 문제가 발생할 경우 전체 RAID가 깨지는 현상 발생)

 

  • RAID 1 : 미러링 기법을 사용하여 데이터를 동일하게 복제, 여러 디스크에 저장
  • 데이터 신뢰성은 높으나 저장 용량의 효율은 낮다
  • 최소 2개의 디스크가 필요
  • 동일한 데이터를 N개로 복제하여 각 디스크의 저장
  • Write 작업 시 단일 디스크 성능보다 낮게 나올 수 있음(복제, 연산 작업)
  • Read 작업 시 단일 디스크의 N배 성능
  • 높은 안정성, 높은 비용

 

  • RAID 5 : 스트라이핑과 패리티를 결합하여 데이터를 분산 저장하고 패리티 정보를 추가로 저장, 하나의 디스크 장애 복구 가능
  • 성능과 신뢰성, 저장 효율이 균형잡혀 있음
  • Block 단위로 striping
  • Error Correction을 위해 패리티를 1개의 디스크에 저장
  • 패리티 저장하는 디스크를 고정하지 않고, 매번 다른 디스크에 저장
  • 용량 및 성능이 단일 디스크 대비 N-1 배 증가
  • 최소 3개의 디스크로 구성 가능
  • 1개의 디스크 에러시 복구 가능

 

  • RAID 6 : RAID 5와 유사하나 이중 패리티를 사용하여 두 개의 디스크 장애를 복구
  • RAID 5보다 성능, 용량 감소 + 비교적 높은 안정성
  • Block 단위로 striping
  • Error Correction을 위해 패리티를 2개의 디스크에 저장
  • 패리티 저장하는 디스크를 고정하지 않고, 매번 다른 디스크에 저장
  • 용량 및 성능이 단일 디스크 대비 N-2배 증가
  • 최소 4개의 디스크로 구성 가능
  • 2개의 디스크 에러 시 복구 가능
  • 안정성을 높여야 하는 서버 환경에서 주로 사용

 

RAID 1+0
RAID 0+1

  • Standard RAID 여러 중첩하여 사용하는 Nested RAID 방식도 존재한다.

 

장단점

 

*장점

  • 비용 효율적 : 하드웨어 RAID를 위한 전용 컨트롤러가 필요 없으므로 비용 절감
  • 유연성 : 다양한 디스크 타입과 인터페이스 혼합
  • 쉽게 관리 : OS의 인터페이스를 통해 RAID 구성을 쉽게 관리 가능

 

*단점

  • 성능 저하 : 소프트웨어 RAID는 CPU와 메모리 자원을 사용하여 RAID 작업을 처리
  • 부트 문제 : 소프트웨어 RAID가 부트 드라이브로 구성될 경우, 부팅 과정에서 문제
  • 복잡성 증가 : 고급 RAID 레벨의 경우 구성과 관리 복잡
728x90

'Computer Science' 카테고리의 다른 글

[CS] Disk Seek  (0) 2024.07.09
[CS] Persistent Data structure  (0) 2024.07.05
Git Branch 전략  (0) 2024.02.18
SettingWithCopyWarning  (1) 2023.11.24
방화벽  (0) 2023.11.05