취미와 밥줄사이

[ SE ] RAID 본문

카테고리 없음

[ SE ] RAID

취미와 밥줄사이 2022. 6. 25. 08:48

RAID(Redundant Array of Inexpensive/Indepent Disk, 복수 배열 독립 디스크)

  • 저장장치 여러 개를 묶어 고용량, 고성능 저장 장치 한개와 같은 효과를 얻기 위해 개발된 기법
  • 초기에는 업그레이드 후에 폐기하기엔 아깝고, 단독으로 쓰기에는 성능이 부족한(inexpensive) 저장장치를 재활용할 목적으로 사용하였다. 기술이 발전한 현재는 Indenpendent로 해석하는 추세이다.
  • RAID의 주 사용 목적은 무정지 구현(안정성)과 고성능 구현으로 구분된다.

 

RAID 0(Striping)

  • 패리티(오류검출기능) 없이 Striping 된 형태, 안정성보다는 고성능을 위해 사용
  • I/O가 일어날 때 데이터를 여러 조각으로 나누어 각각의 디스크에 순서대로 저장한다.

1번 조각이 DISK1에 기록되고 동시에 2번 조각이 DISK2에 기록한다.

1번 조각의 기록이 끝나는대로 3번 조각이 DISK1에, 2번 조각이 끝나면 4번 조각이 DISK2에 기록한다.

이러한 방식으로 동작하기 때문에 단일디스크의 경우보다는 이론상 2배에 가까운 성능을 발휘한다.

단 두 디스크 중 하나가 Fault가 발생했을 경우, 데이터의 절반이 없어지므로 나머지 하나의 디스크도 사실상 못쓰게 된다.

 

RAID 1(Mirroring)

  • DISK1과 DISK2에 동시에 같은 내용을 기록함으로써 DISK 하나에 Fault가 발생하더라도 나머지 하나의 디스크를 통해 데이터에 접근할 수 있는, 안정성을 강화한 방법
  • 일반적으로 서버에 있어 OS가 설치되는 디스크에 필수적으로 사용되는 구성법
  • 단점으로 전체 디스크 용량에 비해 사용가능한 용량은 절반이 되므로 비용이 높다.

 

RAID4(Striping+Parity)

  • RAID 0의 성능에 안정성을 결합한 방식
  • 하나의 디스크를 Paritiy 전용 디스크로 사용, 전체디스크 N개 사용시 실제 사용가능 디스크는 N-1개
  • 모든 I/O에서 ECC 계산이 필요하므로 입출력 병목 현상이 발생하여, ECC 기록용으로 쓰이는 디스크의 수명이 다른 디스크들에 비해 짧아지는 문제가 있어 현재는 사용하지 않는다.

 

RAID 5(Striping+Parity)

  • RAID4의 문제점인 병목현상을 해결한 레이드 구성
  • Parity bit를 하나의 디스크로 몰아넣는 것이 아닌, 분산하여 구성하기 때문에 RAID 4의 병목현상을 현저하게 줄일 수 있다.
  • 1개의 멤버 디스크 고장에는 견딜 수 있지만 디스크가 두 개 이상 고장 나면 데이터가 모두 손실된다.
  • 안정성과 성능을 어느정도 보장할 수 있는, 스토리지에 있어 가장 많이 사용되는 구성 방법
  • 매번 쓰기 작업마다 페리티 연산 과정이 추가되어, 성능을 보장하려면 고가의 패리티 연산 전용 프로세서와 메모리를 사용해야 한다.
  • 전체 디스크가 N개일 경우 데이터 저장 가능한 디스크는 N-1개(최소 3개 이상)

 

RAID6

  • RAID 5의 경우 디스크 1개가 손상되고 바로 또 하나의 디스크가 손상되면 전체 디스크의 데이터를 사용할 수 없게 된다.
  • 때문에 하나의 디스크를 추가로 Parity로 사용한다. 서로 다른 Parity bit를 두 개의 디스크에 두어 안정성을 더욱 강화한 방법
  • 전체 디스크가 N개일 경우 데이터 저장 가능한 디스크는 N-2개(최소 4개 이상)
  • 하드디스크를 대단위로 물려야 하고, 데이터 안정성이 RAID 5보다 높아야 하는 상황에서 쓰인다.

 

RAID 1+0

  • 하위배열은 RAID1, 상위배열은 RAID 0 / RAID 1로 미러링 된 볼륨은 RAID 0으로 스트라이핑 한다.
  • 1TB 디스크 6개로 구성 시
    • 퍼포먼스 및 용량 위주 구성
      • 디스크 2개씩 RAID 1로 묶은 미러 볼륨 3개를 RAID 0으로 스트라이핑 한다
      • 사용 가능한 총 용량은 3TB
    • 안정성 위주 구성
      • 디스크 3개를 RAID 1로 묶은 미러 볼륨 2개를 RAID 0으로 스트라이핑 한다.
      • 사용 가능한 총 용량은 2TB
  • RAID 0+1에 비해 디스크 장애 발생 시 복구가 수월하다.
    • 미러 볼륨으로 구성된 디스크 하나가 고장이 났다면 미머 볼륨은 깨지지 않고, 디스크만 바꿔 넣어주면 알아서 리빌딩하여 원래상태로 되돌아간다.

 

RAID 0+1

  • 하위 배열은 RAID 0, 상위 배열은 RAID 1이다. RAID 0으로 스트라이핑 된 볼륨으로 RAID 1로 미러링 한다.
  • 1TB 디스크 6개로 구성 시
    • 퍼포먼스 및 용량 위주 구성
      • 디스크 3개를 RAID 0으로 묶은 스트라이프 볼륨 2개를 RAID 1로 미러링 한다.
      • 사용 가능한 총 용량은 3TB
    • 안정성 위주 구성
      • 디스크 2개를 RAID 0으로 묶은 스트라이프 볼륨 3개를 RAID 1로 미러링 한다.
      • 사용 가능한 총 용량은 2TB
  • RAID 1+0에 비해 RAID 볼륨이 깨졌을 경우 복구가 번거롭다.
    • 디스크 하나가 고장 났다면 해당 RAID 0 어레이 전체가 깨져 버리기 때문에 디스크를 교체한 다음 깨진 RAID 0 어레이를 다시 구성한 다음 미러링 해야 한다.