RAID란?
- Redundant Array of Independent Disk
- 여러개의 HDD에 데이터를 나눠서 저장하는 기술
- 데이터 안전하게 저장하기 위해 HDD마다 중복된 데이터를 저장
사용 목적
- 대용량 Disk : 여러 HDD를 하나로 묶어서 대용량 디스크처럼 사용
- 입출력 속도 향상 : 여러 HDD에 데이터를 분산 저장하여, 병렬적으로 read/write 가능
- 장애 대응 : 여러 HDD 에 동일한 데이터를 저장하여, HDD-01 이 장애나도 HDD-02 로 동작가능
RAID 종류
- RAID-0 (striping)
- 데이터 분산저장
- 입출력 속도 향상
- 장애 발생 시 데이터 손실
- RAID-0으로만 구성하진 않음
- RAID-1 (Mirroring || Shadowing)
- 빠른 기록 속도
- 하나의 디스크보단 약간 나은 성능
- Read는 빨라도, Write는 느림
- 장애 복구 능력
- 최소 2개의 디스크로 구성
- 저장공간이 2배가 필요 - 저장용량 단 단가 비쌈
- RAID-5 (Parity)
- Parity 정보를 모든 디스크에 나눠 기록
- disk 최소 3개~5개
- 비용이 많이 들어서 안쓰고 있는 추세지만, flash storage 비용이 줄어들면서 다시 사용하기 시작
Parity란?
- 용도 : 디스크 장애 시 데이터 재 구축용
- 디스크 장애 시, Parity영역을 이용해서 장애난 디스크의 데이터를 가져와 복구/재생성함
- 구성 : Disk의 Block에 4개중에 한개는 Parity영역으로 둔다
- Read 시 Parity 정보를 건너쮜어야하기에 느림
- parity쪽에 write병목이 생기기 쉽다 (DB와 잘 맞지 않음 )
이점 : 작고 Random한 입출력이 많을 경우
단점 : 빠르지못한 기록속도
- RAID-6 (Stripng with dual)
- Raid-5 와 비슷함
- 큰기업(돈많은 곳)에서 많이 쓴다
- 2차 Parity 구성
- 장애난 Disk와 데이터 동기화가 느림
- 매우 높은 장애 대비 능력
- Disk 가 최대 2개까지 장애 나도 데이터 손실방생안함
- RAID-1+0 (Mirroring & Striping)
- 가장 많이 쓰이는 구성
- Raid -0 (빠름)과 Raid-1 (안정성) 합침
- 최소 4개의 disk
- 성능이 가장 좋음
RAID-0 (Stripping) 인 경우, IO는 모든 Disk Driver에 동시 수행이 되어 - IO처리 속도 향상됨 (IO병렬적으로 수행)
사용자는 LUN, LVM으로만 보인다 (하나의 볼륨으로 보여짐/ 실제론 분산이 되어있다)
Flash Storage 의 등장(SSD)
물리적인 움직임이 있는 HDD와 달리,
전기신호를 기반으로 한다.
Random IO를 기존 HDD 보다 훨씬 빠르게 향상 시킬 수 있다
- Hitachi 나 EMC등에서 제품을 만들기 시작
- DB성능 개선이 매우 되었다
- HW 성능 향상이.. query tunning 할 필요를 없게 만들어 버림...