본문 바로가기
공부/등등

RAID

by Skogkatt의 개인 블로그 2019. 7. 12.
반응형

RAID(Redundant Array of Inexpensive/Independent[각주:1] Disk, 복수 배열 독립 디스크)

  • 여러개의 물리적 디스크를 하나의 논리적 디스크로 인식하여 작동하게 하는 기술
  • 저장장치 여러 개를 묶어 속도의 증대, 안정성의 증대, 효율성, 가용성의 증대를 위해 개발된 기법

RAID 종류

RAID 0 (Striping)

  • 여러개의 디스크를 병렬로 묶어 하나의 거대한 저장장치를 만드는 방법이다.
  • 데이터 입출력이 각 저장장치에 공평하게 분배되 입출력 속도가 향상된다.[각주:2][각주:3]
  • 묶인 디스크중 하나만 손상되거나 분실되면 전체 데이터가 파손되고 오류 검출 기능이 없어 디스크를 추가할수록 안정성이 떨어진다. 이 때문에 중요 데이터 저장이나 백업으론 부적절하다.
  • 사용 가능한 용량은 묶은 디스크의 용량 합과 같다. (1TB + 1TB = 2TB)

RAID 1 (Mirroring)

  • 하나의 디스크에 데이터를 저장하면 또 다른 디스크에 같은 데이터를 중복 기록하는 방법이다.
  • 최소 2개의 디스크를 필요로하고 저장 공간 효율이 떨어지지만 중요 데이터를 저장하기에 적합하다.
  • 디스크를 늘려도 저장 공간이 증가하지 않지만 안정성과 가용성이 크게 증가된다.

RAID 2

 

  • RAID 0 와 같은 Striping 방식으로 데이터 기록용 디스크와 데이터 복구용 디스크를 별도로 사용하는 방법이다.
  • 디스크의 사용 공간 효율이 낮지만 안정성을 확보한다.
  • 비트 단위에 Hamming Code를 적용한다.
  • RAID 4가 나오면서 거의 사용되지 않는다.

RAID 3

  • 오류 검출을 위해 별도에 디스크에 바이트 단위로 패리티를 저장한다.[각주:4]
  • 저장소 하나가 손상되어도 값을 읽을 수 있지만 두개 이상이 손상되면 복구가 불가능하다.
  • 추가적인 연산이 필요해 입출력 속도가 떨어진다.

RAID 4

  • RAID 3와 같은 매커니즘으로 패리티 저장을 워드 단위로 한다는 차이점이 있다.
  • RAID 2, 3, 4는는 모두 입출력에서 ECC 연산이 필요해 병목 현상이 발생하고,
    ECC 기록용으로 쓰이는 디스크의 수명이 다른 디스크에 비해 짧아지는 문제 때문에 잘 사용하지 않는다.

RAID 5

  • RAID 3, 4에서 별도의 패리티 정보 디스크를 사용함으로써 발생하는 문제점을 보완하는 방식으로
    한 디스크에 모든 패리티 비트를 저장하지 않고 각 맴버 디스크에 순환적으로 저장한다.
  • RAID 2, 3, 4에서 문제되는 병목현상을 해결하지만 2개 이상의 디스크 손상 문제는 해결하지 못한다.
  • 패리티 연산 과정으로 인한 성능 저하를 해결하기 위해서는 고가의 패리티 연산 전용 프로세서와 메모리를 사용해야하는데 이 경우 초기 구축 비용이 많이 들어간다.

RAID 6

  • RAID 5와 같은 매커니즘으로 서로 다른 방식의 패리티 2개를 동시에 사용해
    2개의 하드에 문제가 생겨도 복구할 수 있도록 하는 방식이다.
  • N개의 디스크를 사용하면 N-2배의 저장 공간을 사용할 수있다.

RAID 01 (1+0)

  • 하위 배열은 RAID 0, 상위 배열은 RAID 1이다.
  • RAID 0으로 묶인 디스크를 RAID 1로 미러링한다.
  • RAID 10에 비해 디스크 장애 발생 시 복구가 번거롭다.
    디스크 하나가 고장이 나면 해당 RAID 0 배열 전체가 깨져 버린다.

RAID 10 (1+0)

  • 하위 배열은 RAID 1, 상위 배열은 RAID 0이다.
  • RAID 1로 미러링 된 볼륨을 RAID 0으로 묶는다
  • RAID 01에 비해 디스크 장애 발생 시 복구가 수월하다.
    미러 볼륨으로 구성된 배열에서 디스크 하나가 고장이 났다면, 미러 볼륨 자체는 깨지지 않는다.
    즉, 디스크만 바꿔 넣어주면 알아서 리빌딩하여 원래 상태로 돌아간다.

RAID 0과 RAID 1의 비교

 

구분 RAID 0 RAID 1
성능 뛰어남 변화없음
안정성 (결합 허용)
  • 결함 허용이 안됨
  • 안정성 보장 못함
  • 결함 허용
  • 안정성 보장
공간효율성 높음 낮음

 

RAID 5과 RAID 6의 비교

구분 RAID 5 RAID 6
Parity Single Dual
오류 검출 디스크 1개까지 디스크 2개 까지
필요조건 N+1 / 최소 3개의 디스크 필요 N+2 / 최소 4개의 디스크 필요

 

RAID 구현 방식

  장점 단점
하드웨어 RAID
  • 속도나 안정성 면에서 최고의 방법
  • RAID Controller가 온보드 되어있거나 별도의 RAID카드가 필요
  • 안정된 시스템일수록 고가
펌웨어 RAID
  • 별도의 카드 RAID 카드가 필요없이 메인보드에 있는 RAID 컨트롤러 칩셋을 사용해 구성 가능
  • OS를 변경해도 RAID가 유지됨
  • 용량이 다른 두 하드웨어를 묶었을 때 남는 공간은 활용 불가능[각주:5]
  • 메인보드 교체시에는 유지되지 않을 가능성이 큼[각주:6]
소프트웨어 RAID
  • 가장 저렴하고 간단하게 설정 가능
  • 메인보드를 교체해도 RAID가 유지됨
  • 성능과 안정성이 가장 떨어짐
  • OS 변경시 유지되지 않음[각주:7]

 

 

참고링크

개발자를 꿈꾸는 프로그래머 님의 블로그 - https://jwprogramming.tistory.com/24

 

 

  1. 초기에는 업그레이드 후 '폐기하기엔 아깝고, 그렇다고 단독으로 쓰기에는 성능이 부족한'(Inexpensive) 저장장치를 재활용할 목적으로 사용하였다. 저장장치 기술이 발전한 현재는 Inexpensive보다는 Independent로 해석한다. [본문으로]
  2. 이론상 n개의 디스크는 n배의 속도 향상 [본문으로]
  3. 8개의 NVMe SSD를 엮어 28GB/s 라는 수치상 DDR4와 비슷한 속도를 내는 RAID 구성 사례가 있다. [본문으로]
  4. 예를 들어 디스크 1에 3을 저장, 디스크 2에 6을 저장한다면 디스크 3에는 두 값을 더한 9를 저장한다. 디스크 1이 손상되어도 디스크 2의 6값과 디스크 3 9 값을 읽고 1값을 구한다. [본문으로]
  5. 1TB + 3TB 구성 시 3TB의 남은 2TB는 사용 불가능 [본문으로]
  6. 예를 들어 intel 보드에서 AMD 보드로 변경 시 [본문으로]
  7. Windows 에서 Linux로 변경시 [본문으로]
반응형

'공부 > 등등' 카테고리의 다른 글

[Oracle] Oracle 연습문제 1  (1) 2019.10.29
파티션(Partition)  (0) 2019.07.11

댓글