[OS] RAID

RAID

RAID는 디스크를 저장하는 방법이며 레벨로 분류한다


RAID 0 - Block Striping

2개 이상의 디스크에서 데이터를 분산 저장하여 입출력 속도를 향상시킨다
가장 빠르게 동작하는 장점이 있다
복구가 되지 않기에 안정성이 가장 떨어지는 방법이다
RAID 0


RAID 1 - Mirroring

2N 개의 저장장치가 필요하며 데이터를 미러링 하여 저장한다
RAID 1


RAID 10 - RAID 1 + RAID 0

RAID1과 RAID0을 조합한 레벨로 미러링된 디스크를 분산하여 관리한다
RAID 10


RAID 01 - RAID 0 + RAID 1

RAID0과 RAID1을 조합한 레벨로 분산된 디스크를 미러링하여 관리한다
RAID 01


RAID 2 - Bit Striping & ECC

Bit Level Striping을 하여 4개의 디스크와 에러 수정을 위한 ECC(Error Correcting Code)디스크 3개를 두어 사용한다
ECC디스크가 3개이기 때문에 3개의 디스크까지 망가져도 복구가 가능하다
RAID 2


RAID 3 - Bit Striping & Parity

비트레벨로 나누는 디스크들과 복구를 위한 1개의 페리티 디스크를 운용한다
RAID 2에 비하여 디스크를 적게 운용하니 오버헤드가 조금 더 적다
비트레벨로 나누었기 때문에 읽기 쓰기 동작에 거의 모든 디스크가 참여하게 되고 쓰기 동작마다 페리티 비트를 갱신해야 한다
페리티 비트 디스크가 고장나면 복구하지 못한다
RAID 3


RAID 4 - Block Striping & Parity

RAID 3에서 비트레벨로 분산하였던 디스크를 블록레벨로 분산하였다
비트레벨로 분산하게 되면 대부분의 디스크가 사용되어야 하지만 블록레벨로 분산하였기 때문에 모든 디스크에 Access하는 부하가 줄어든다
RAID 4


RAID 5 - Block Striping & Distributed Parity

이전 RAID 3과 RAID 4의 문제는 하나의 페리티 디스크를 둔다는 점에 있었다
하나의 페리티 디스크를 운용하기 때문에 쓰기 작업이 일어날 때 마다 페리티 디스크를 접근하게 되고 병목현상이 일어나게 된다
페리티 디스크에 병목현상을 개선하고자 페리티 블럭을 여러 디스크로 분산시켜 저장을 하는 방식이다
RAID 5

Author: Song Hayoung
Link: https://songhayoung.github.io/2020/06/16/OS/RAID/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.