RAID(Reduntant Array of Independent Disks)
RAID는 여러 개의 물리적 하드디스크(HDD 혹은 SSD)를 하나의 논리적 디스크처럼 묶어서 성능 향상과 고가용성을 제공하는 기술입니다. 주로 디스크 하나가 고장나도 다른 디스크에 데이터가 남아 있거나, 재구성(Rebuild)을 통해 데이터 손실을 최소화 하기 위해 사용되는 기술입니다.
RAID의 구성 방식
- 하드웨어 RAID
- 전용 RAID 컨트롤러(카드) 또는 스토리지 시스템을 통해 RAID를 구성합니다.
- RAID 연산이 전용 하드웨어에서 처리되므로 CPU 부담이 적고, 일반적으로 성능이 우수합니다.
- 주로 엔터프라이즈급 서버, 스토리지 장비에서 많이 사용합니다.
- 소프트웨어 RAID
- OS 레벨에서 RAID를 구성합니다. 리눅스의 mdadm, Windows Storage Spaces 등이 있습니다.
- 추가 하드웨어 비용이 들지 않고, 유연성이 좋지만 CPU 부하가 있습니다.
RAID 레벨
RAID 0
여러 장치에 데이터를 블록 단위로 분산(Stripe)해서 저장하는 방식입니다. 실제로 데이터를 저장할 때 하드디스크는 각 장치에 번갈아 데이터를 저장합니다.
데이터를 분산하여 저장하기 때문에 저장된 데이터를 읽고 쓰는 속도가 빨라집니다. 데이터를 여러 번 읽고 쓰지 않고, 동시에 읽고 쓸 수 있기 때문입니다. 하지만, 저장된 정보가 안전하지 않다는 단점이 있습니다.
RAID 1
복사본을 만드는 방식입니다. 디스크에 문제가 생겨도 복사본을 통해 복구가 가능합니다. 하지만 여러 개의 디스크를 사용해도 용량의 제한이 있으며 쓰기 속도가 느립니다.
RAID 4는 복사본을 만드는 대신 오류를 검출하고 복구하기 위한 정보를 저장한 장치를 두는 구성 방식입니다. RAID 1 보다 적은 하드 디스크로도 데이터를 안전하게 보관할 수 있습니다. 다만, 새로운 데이터가 저장될 때마다 패리티 저장 디스크에도 데이터를 써야 하므로 병목 현상이 발생할 수 있다는 단점이 있습니다.
RAID 5 는 RAID 4의 병목 현상을 극복하기 위해 패리티 정보를 분산하여 저장합니다. 그리고, RAID 6 는 서로 다른 두 개의 패리티를 두는 방식입니다. RAID 6는 오류 검출 및 복구 수단이 두 개가 생기므로, RAID 4나 RAID 5 보다 안전합니다. 하지만, 패리티가 두 개이므로 쓰기 속도는 RAID 5보다 느립니다.
이 처럼 다양한 방식이 있는데 그 중 0, 1, 5, 6 등이 대표적인 RAID 방식입니다.
'Development' 카테고리의 다른 글
| [Redis] 레디스를 로컬이 아닌 외부에 두는 이유 (0) | 2025.03.21 |
|---|---|
| [JPA] Spring Data JPA는 어떻게 새로운 Entity인지 알아내는걸까? (0) | 2025.01.22 |
| [ORM] OSIV 옵션이 무엇인가요 (2) | 2025.01.20 |
| [Network] 그런 REST API로 괜찮은가? 진짜? (0) | 2023.01.10 |
| [Network] REST API와 WebSocket API의 차이는? (1) | 2022.12.28 |
댓글