-
[CS] RAIDComputer Science 2024. 7. 8. 17:54728x90
데이터 저장에 있어 성능을 향상시키는 방법론 중에 하나로, 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개의 디스크 에러 시 복구 가능
- 안정성을 더 높여야 하는 서버 환경에서 주로 사용
- 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