RAID
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
RAID(Redundant Array of Independent Disks)는 여러 개의 독립적인 디스크를 묶어 하나의 논리적인 디스크처럼 사용하고, 데이터의 안정성 및 성능을 향상시키는 기술이다. RAID는 1987년 캘리포니아 대학교 버클리의 데이비드 패터슨, 가스 깁슨, 랜디 카츠에 의해 처음 명명되었으며, 하드웨어 또는 소프트웨어 방식으로 구현될 수 있다. RAID는 여러 표준 레벨(RAID 0, 1, 3, 4, 5, 6, 0+1, 1+0 등)을 제공하며, 각 레벨은 데이터의 분산 저장, 미러링, 패리티 등을 사용하여 성능, 용량, 내결함성을 다르게 제공한다. RAID는 데이터 보호를 위한 중요한 기술이지만, 데이터 손실 위험, 재구축 시간 증가, 쓰기 캐시 안정성 문제 등의 한계도 존재한다.
더 읽어볼만한 페이지
- RAID - ZFS
ZFS는 Jeff Bonwick 등이 설계하고 구현한 파일 시스템으로, 데이터 무결성, 스냅샷, RAID-Z 등의 기능을 제공하며, 썬 마이크로시스템즈에서 개발되어 OpenZFS 프로젝트를 통해 다양한 운영체제에서 사용된다. - RAID - 장애 허용 시스템
장애 허용 시스템은 일부 구성 요소에 고장이 발생해도 성능 저하 없이 작동하도록 설계되어 높은 신뢰성이 요구되는 분야에서 사용되며, 안전 실패 방지, 성능 저하 최소화, 견고성, 고장 투명성 등의 특징을 가진다. - 컴퓨터 저장 매체 - 하드 디스크 드라이브
하드 디스크 드라이브(HDD)는 자기 기록 방식으로 데이터를 저장하는 비휘발성 저장 장치로, 꾸준히 발전하여 대용량 저장이 가능하지만 SSD의 등장으로 시장 점유율이 감소하고 있으며 웨스턴디지털, 씨게이트, 도시바가 주요 제조업체이다. - 컴퓨터 저장 매체 - 플로피 디스크
플로피 디스크는 자기 정보를 저장하는 유연한 자기 디스크로 개인용 컴퓨터의 주요 저장매체였으나, 다른 저장매체의 등장으로 사용이 감소하여 현재는 레거시 기술로 여겨지지만 일부 시스템에서 사용되며 디자인은 소프트웨어 인터페이스의 "저장" 아이콘으로 이어지고 있다.
RAID | |
---|---|
지도 정보 | |
개요 | |
유형 | 데이터 저장 가상화 기술 |
목적 | 여러 물리적 드라이브를 논리적 단위로 결합 성능 향상 데이터 중복성 및 가용성 제공 |
주요 기능 | 스트라이핑 (Striping): 데이터를 여러 드라이브에 분산 저장하여 성능 향상 미러링 (Mirroring): 데이터를 여러 드라이브에 복제하여 데이터 중복성 및 가용성 제공 패리티 (Parity): 패리티 정보를 저장하여 데이터 복구 가능성 제공 |
역사 | |
초기 연구 | 1987년 UC 버클리 연구에서 "RAID (Redundant Array of Inexpensive Disks)"라는 용어 처음 사용 |
개념 | 값싼 디스크 드라이브들을 묶어 고성능 또는 고가용성 저장 시스템 구축 가능성 제시 |
주요 RAID 레벨 | |
RAID 0 | 데이터 스트라이핑 (데이터를 여러 디스크에 분산) 중복성 없음 (데이터 손실 위험) 성능 향상 목적 |
RAID 1 | 데이터 미러링 (데이터를 여러 디스크에 복제) 데이터 중복성 제공 성능 향상 미미 |
RAID 5 | 데이터 스트라이핑과 패리티 정보를 함께 사용 데이터 중복성 및 성능 향상 제공 하나 이상의 드라이브 고장 시에도 데이터 복구 가능 |
RAID 6 | RAID 5와 유사하나 두 개의 패리티 정보를 사용 RAID 5보다 더 높은 수준의 내결함성 제공 드라이브 두 개 고장 시에도 데이터 복구 가능 |
RAID 10 (또는 RAID 1+0) | RAID 1과 RAID 0의 결합 미러링과 스트라이핑을 함께 사용하여 성능과 중복성 제공 |
기타 RAID 레벨 및 구성 | |
RAID 2, 3, 4 | 잘 사용되지 않음 패리티 정보 저장 방식에서 RAID 5보다 비효율적 |
하이브리드 RAID | RAID 50, RAID 60 등 여러 RAID 레벨을 조합하여 사용 복잡한 환경에 적용 |
소프트웨어 RAID | 운영 체제나 소프트웨어를 통해 RAID 구성 하드웨어 RAID에 비해 성능이 낮을 수 있음 |
하드웨어 RAID | RAID 컨트롤러라는 특수 하드웨어를 통해 RAID 구성 소프트웨어 RAID에 비해 더 높은 성능 제공 CPU 부하를 줄임 |
장점 | |
데이터 가용성 | 디스크 고장 시에도 데이터 손실을 방지 데이터 복구를 통해 시스템 중단 시간 최소화 |
데이터 보안 | 미러링이나 패리티를 통해 데이터 손실을 방지 데이터 중복성을 통해 데이터 보안 향상 |
성능 향상 | 스트라이핑을 통해 데이터 읽기/쓰기 속도 향상 특히 RAID 0의 경우 |
단점 | |
복잡성 | RAID 구성과 관리가 복잡할 수 있음 특히 고급 RAID 레벨의 경우 |
비용 증가 | 데이터 중복성을 위해 추가 드라이브 필요 RAID 컨트롤러 등의 추가 하드웨어 필요 |
성능 오버헤드 | 일부 RAID 레벨은 패리티 계산으로 인해 성능 저하 가능 특히 RAID 5, 6의 경우 |
활용 분야 | |
서버 시스템 | 기업 서버, 데이터 센터 등에 사용 데이터 안정성 및 성능 요구 사항 충족 |
데스크탑 컴퓨터 | 고성능 작업 또는 데이터 보안이 중요한 경우 사용 영상 편집, 게임 등 |
NAS (Network Attached Storage) | 가정용 또는 소규모 사무실 네트워크 저장 장치 데이터 공유 및 백업에 사용 |
2. 역사
Geac 컴퓨터 코퍼레이션의 공동 창업자 거스 저먼(Gus German)과 테드 그러너(Ted Grunau)가 MF-100을 통해 RAID 개념을 처음으로 이야기했다.[123]
1987년 캘리포니아 대학교 버클리의 데이비드 패터슨, 가스 깁슨, 랜디 카츠가 "RAID"라는 용어를 고안하였다. 1988년 이들은 "A Case for Redundant Arrays of Inexpensive Disks (RAID)"라는 논문을 발표하여, 저렴한 디스크를 배열하여 고성능, 고가용성 저장 장치를 구축하는 방법을 제시했다. 이들은 당시 최고 성능의 메인프레임 디스크 드라이브보다 저렴한 개인용 컴퓨터용 드라이브를 배열하면 성능이 더 우수하며, 중복 구성을 통해 대용량 단일 드라이브보다 신뢰성이 훨씬 높다고 주장했다.[2]
1988년 6월 논문에서 5가지 RAID 기술(RAID 1~5)이 언급되었지만, 이 기술들은 이미 다양한 제품에 사용되고 있었다.[3]
- 미러링(RAID 1)은 1970년대에 탠덤 컴퓨터의 논스톱 시스템 등에서 널리 사용되었다.
- 1977년 IBM의 노먼 켄 오우치는 RAID 4로 명명된 기술에 대한 특허를 출원했다.[4]
- 1983년경 디지털 장비는 HSC50 서브시스템의 일부로 서브시스템 미러링 RA8X 디스크 드라이브(현재 RAID 1)를 출시했다.[5]
- 1986년 IBM의 클라크 등은 RAID 5로 명명된 기술에 대한 특허를 출원했다.[6]
- 1988년경 싱킹 머신즈의 데이터볼트는 디스크 드라이브 어레이에 오류 정정 코드(현재 RAID 2)를 사용했다.[7]
이후 업계 제조업체는 RAID 약어를 "redundant array of ''independent'' disks"로 재정의했다.[10][11][12][13]
처음 정의된 6가지 종류 중 RAID 2는 거의 사용되지 않고, RAID 3, 4도 RAID 전체에서는 소수파이다.[102] 오늘날에는 RAID 0, RAID 1, RAID 5 및 이들 3방식의 조합이 사용되고 있다. 나중에 RAID 5를 확장한 RAID 6이 정의되어 RAID 5보다 내장성이 필요한 경우에 사용되고 있다.
RAID는 대용량 데이터의 고속 처리 및 내장성 향상을 필요로 하는 대규모 업무용 서버와 워크스테이션 등에 사용되었지만, 최근에는 소규모 서버와 개인용 컴퓨터(PC)에도 보급되고 있다. 이는 디지털 데이터의 중요성이 높아지고, HDD의 대용량화로 일반 사용자도 고장 시 손실되는 데이터의 양을 무시할 수 없게 되었으며, HDD 및 RAID 관련 제품의 가격 하락과 RAID 기능의 칩셋 내장이 진행되고 있기 때문이다.
3. 구현 방식
RAID는 데이터를 여러 드라이브에 분산하여 저장하는 기술로, 크게 하드웨어 방식과 소프트웨어 방식으로 구현할 수 있다. 이 두 방식은 명확하게 구분하기 어려운 중간적인 형태도 존재한다.
- 하드웨어 방식: 별도의 RAID 컨트롤러 카드나 디스크 어레이 유닛을 사용하여 RAID를 구현한다.
- 장점:
- 컨트롤러가 대부분의 처리를 담당하여 CPU 부하가 적다.
- 전용 캐시 메모리를 통해 접근 속도를 높일 수 있다. (컨트롤러 카드에 캐시 메모리가 있는 경우)
- 컴퓨터나 OS는 RAID를 SCSI 또는 파이버 채널 드라이브로 인식하여 별도 드라이버가 필요 없다. (디스크 어레이 유닛의 경우)
- 단점:
- 컨트롤러마다 제어 방식이 달라 운영체제별 드라이버가 필요하다. (컨트롤러 카드의 경우)
- 일부 저가형 컨트롤러는 소프트웨어 방식으로 구현되어 CPU 부하가 높고, 지원 운영체제가 제한되거나 신뢰성이 낮을 수 있다.
- 소프트웨어 방식: 운영체제(OS) 자체에서 제공하는 기능을 사용하여 RAID를 구현한다.
- 장점:
- 별도의 하드웨어가 필요 없어 도입 비용이 저렴하다.
- 단점:
- CPU 부하가 높고 시스템 자원을 많이 소모한다.
- 물리적 캐시가 없어 오류 발생 시 RAID 정보에 문제가 생길 가능성이 높다.
- 운영체제별 지원 현황:
운영체제 | 지원 RAID 레벨 |
---|---|
애플의 macOS 및 macOS Server[49][50] | RAID 0, RAID 1, RAID 1+0 (기본 지원), RAID 4 및 RAID 5 (타사 소프트웨어 SoftRAID를 통해서만 지원[51]) |
FreeBSD[52][53][54] | RAID 0, RAID 1, RAID 3, RAID 5 및 모든 중첩 (GEOM 모듈 및 ccd를 통해) |
Linux[55] | RAID 0, RAID 1, RAID 4, RAID 5, RAID 6 및 모든 중첩 (md를 통해), 특정 재구성/크기 조정/확장 작업 지원[56] |
Microsoft Windows | RAID 0, RAID 1, RAID 5 (다양한 소프트웨어 구현 사용), Windows 2000 이후 논리적 디스크 관리자를 통해 동적 디스크로 RAID 0, RAID 1, RAID 5 볼륨 생성 가능 (Windows의 Professional 및 Server 에디션으로 제한[57][58], Windows XP는 RAID 0, 1, 5 지원 해제 수정 가능[59]), Windows 8 및 Windows Server 2012 이후 저장소 공간을 통해 폴더별 미러링, 패리티, 중복 없음 지정 가능[60] |
NetBSD[61] | RAID 0, 1, 4, 5 (RAIDframe 소프트웨어 구현) |
OpenBSD[62] | RAID 0, 1, 5 (softraid 소프트웨어 구현) |
3. 3. 펌웨어/드라이버 기반 방식
"가짜 RAID"라고도 불리며, 표준 드라이브 컨트롤러 칩에 RAID 기능을 내장하고, 독점 펌웨어 및 드라이버를 사용한다. 초기 부팅은 펌웨어에서 RAID를 구현하고, 운영 체제가 로드되면 드라이버가 제어권을 넘겨받는다. 이러한 컨트롤러는 운영 체제에 대한 드라이버 지원이 없으면 작동하지 않을 수 있다.[64] 인텔 래피드 스토리지 테크놀로지가 그 예시이다.[65][66]최소한의 하드웨어 지원이 포함되어 "하드웨어 지원 소프트웨어 RAID",[67][68][70] "하이브리드 모델" RAID,[70] 또는 "가짜 RAID"[69]라고도 불린다. RAID 5가 지원되는 경우 하드웨어는 하드웨어 XOR 가속기를 제공할 수 있다. 이 모델의 장점은 중복 모드를 사용할 때 운영 체제 드라이버가 제어권을 넘겨받기 전에도 (펌웨어 덕분에) 부팅 드라이브가 고장으로부터 보호된다는 것이다.[70]
4. 표준 RAID 레벨
RAID는 여러 개의 하드 디스크를 묶어 하나의 논리적인 디스크처럼 사용하는 기술이다. 다양한 RAID 레벨이 존재하며, 각 레벨은 성능, 안정성, 용량 효율 등에서 차이를 보인다.[16][17]
흔히 쓰이는 RAID 레벨은 다음과 같다.
- '''RAID 0''': 패리티 없이 데이터를 여러 디스크에 분산 저장(스트리핑)한다. 성능은 향상되지만, 디스크 하나만 고장 나도 전체 데이터를 잃게 된다.
- '''RAID 1''': 패리티 없이 데이터를 여러 디스크에 똑같이 복사(미러링)한다. 디스크 고장에 대한 내결함성이 있지만, 용량 효율이 떨어진다.
- '''RAID 3''' 및 '''RAID 4''': 전용 패리티 디스크를 사용하여 데이터를 스트리핑한다. RAID 3은 바이트 단위, RAID 4는 블록 단위로 스트리핑한다.
- '''RAID 5''': 패리티 정보를 여러 디스크에 분산하여 저장하는 스트리핑 방식이다.
- '''RAID 6''': RAID 5에서 패리티 정보를 이중으로 분산하여 저장하는 방식이다.
- '''RAID 0+1''': RAID 0으로 스트리핑한 디스크들을 다시 RAID 1으로 미러링한다.
- '''RAID 10(RAID 1+0)''': RAID 1로 미러링한 디스크들을 다시 RAID 0으로 스트리핑한다.
- '''RAID 50(RAID 5+0)''': RAID 5로 구성된 디스크들을 다시 RAID 0으로 스트리핑 한다.
- '''RAID 1E''': 미러링과 데이터 스트라이핑을 결합한다.
대부분의 RAID 레벨은 오류 허용성을 제공하기 위해 패리티라는 오류 보호 방식을 사용한다. 대부분 XOR을 사용하지만, RAID 6는 갈루아 체 또는 리드-솔로몬 오류 정정에서 덧셈과 곱셈을 기반으로 하는 두 개의 별도 패리티를 사용한다.[14]
RAID는 솔리드 스테이트 드라이브(SSD)를 사용하여 데이터 보안을 제공할 수도 있다. 예를 들어, 빠른 SSD를 기계식 드라이브와 미러링할 수 있는데, Adaptec은 이를 "하이브리드 RAID"라고 부른다.[15]
원래 표준 RAID 레벨은 5가지였지만, 현재는 중첩 RAID 레벨과 비표준 RAID 레벨을 포함하여 많은 변형이 존재한다. RAID 레벨과 관련 데이터 형식은 스토리지 네트워킹 산업 협회(SNIA)의 공통 RAID 디스크 드라이브 형식(DDF) 표준에 의해 표준화된다.[16][17]
1988년 캘리포니아 대학교 버클리캠퍼스의 데이비드 패터슨, 가스 A. 기브슨, 랜디 H. 캐츠가 발표한 논문에서 처음으로 제안되었다.[100]
처음 정의된 6가지 종류 중 RAID 2는 거의 사용되지 않고, RAID 3, 4도 RAID 전체에서는 소수이다.[102] 오늘날에는 RAID 0, RAID 1, RAID 5 및 이들 3방식의 조합이 사용되고 있다. 나중에 RAID 5를 확장한 RAID 6이 정의되어 RAID 5보다 내결함성이 필요한 경우에 사용되고 있다.
RAID는 대용량 데이터의 고속 처리 및 내결함성 향상을 위해 대규모 업무용 서버와 워크스테이션, 특정 목적의 컴퓨터 장비 등에 사용되었지만, 최근에는 소규모 서버와 퍼스널 컴퓨터(PC)에도 보급되고 있다.
하드디스크의 필요 대수가 증가하기 때문에, 특히 RAID 컨트롤러 카드를 사용하여 장치 내부에 하드디스크를 장착하는 경우, 전원이 하드디스크 대수만큼의 부하를 견딜 수 있는지 주의해야 한다. 하드디스크는 돌입 전류 등으로 인해 기동 시에 가장 많은 전력을 필요로 하므로, 스태거드 스핀업(각 디스크에 시간차를 두고 기동하는) 기능을 탑재하고 있는 RAID 컨트롤러도 있다.[111]
4. 1. RAID 0 (스트라이핑)
RAID 0은 데이터를 여러 대의 하드 디스크에 나누어 동시에 읽고 쓰는 방식이다. 이를 통해 속도 향상을 꾀할 수 있으며, '''스트라이핑'''이라고도 불린다. 데이터를 중복해서 저장하지 않기 때문에 오류 발생 시 데이터를 복구할 수 있는 기능은 없지만, RAID를 구성하는 데 필요한 하드웨어나 소프트웨어는 다른 RAID 방식에서도 그대로 사용할 수 있어, 많은 컨트롤러에서 다른 RAID 모드와 함께 RAID 0 기능을 제공한다. 중복성이 없다는 점을 강조하기 위해 숫자 '0'이 붙었다. RAID 0을 구성하려면 최소 2대의 드라이브가 필요하다.[11]
RAID 0은 데이터를 여러 조각으로 나누어 여러 디스크에 동시에 기록한다. 조각의 수는 드라이브 안의 디스크 수와 같으며, 각 조각은 디스크의 동일한 섹터에 기록된다. 이렇게 하면 데이터 덩어리를 병렬로 읽을 수 있어 넓은 대역폭을 제공한다. 하지만 디스크 하나의 섹터라도 실패하면 다른 모든 디스크의 해당 섹터도 사용할 수 없게 되어 데이터 손실이 발생한다. RAID 0은 오류 검출 기능을 제공하지 않으므로 오류를 복구할 수 없다. 디스크를 많이 추가할수록 대역폭은 높아지지만 데이터 손실 위험도 커진다.
RAID 0 구성에서 드라이브 하나가 고장 나면 전체 어레이가 손상된다. 예를 들어, 각 드라이브의 고장률이 1%일 때, 2개의 드라이브로 RAID 0을 구성하면 전체 고장률은 약 2% (1-0.99*0.99=0.0199)로 증가한다.
이러한 단점 때문에, RAID 0은 단독으로 사용되기보다는 데이터 보호 기능을 제공하는 다른 RAID 레벨(예: RAID 1, RAID 5)과 조합하여 사용되는 경우가 많다.
RAID 0의 장단점은 다음과 같다.
- '''장점'''
- * 드라이브 수가 늘어날수록 순차 접근 및 임의 접근 속도가 향상된다. 단, 임의 접근 속도 향상을 위해서는 스트라이프 크기(데이터 분할 단위), 섹터 크기, 클러스터 크기, 블록 크기, 미리 읽기 깊이 등을 적절하게 설정해야 한다.
- '''단점'''
- * 데이터를 중복해서 저장하지 않는다.
- * 드라이브 수가 늘어날수록 전체 시스템의 고장 확률이 높아진다.
- * 스트라이프 크기나 명령어 큐를 적절하게 조정하지 않으면 임의 접근 속도가 거의 향상되지 않거나 오히려 드라이브 수가 증가함에 따라 속도가 느려질 수 있다.
- * RAID 0의 전체 용량은 구성 드라이브 중 가장 작은 용량에 드라이브 수를 곱한 값과 같다. 따라서 용량이 다른 드라이브를 함께 사용하면 용량 차이가 낭비된다.
4. 2. RAID 1 (미러링)
RAID 1은 여러 대의 하드 디스크에 같은 내용을 동시에 기록하는 미러링 방식이다. 가장 단순한 방식이며, RAID의 약점인 컨트롤러 고장에도 대처하기 쉽다. 최소 2대의 드라이브가 필요하다.모든 디스크가 동시에 고장날 가능성은 낮기 때문에 시스템의 안정성이 높다. 예를 들어, 단위 시간당 드라이브 고장률을 1%라고 할 때, 2대로 RAID 1을 구성하는 경우 어레이의 고장률은 0.01% (0.01 * 0.01 = 0.0001)로 1/100이 된다.
하지만, 사용 가능한 용량은 단일 하드 디스크 용량을 넘지 않으며, 드라이브 수가 늘어날수록 용량 효율이 나빠진다. 효율을 중시한다면 RAID 5가 더 좋다.
원래 읽기는 하나의 드라이브에서만 수행되고 나머지는 백업이다. 이론적으로는 모든 디스크에서 읽으면 고속으로 읽을 수 있다. 초기 네트워크 OS인 Netware 2.x, 3.x는 이러한 점을 이용하여 컨트롤러가 여러 개 있는 경우 한쪽 디스크에 쓰는 동안 다른 쪽 디스크에서 읽는 방식으로 부하 분산을 수행하기도 했다. 다만, 이 때문에 디스크 간 기록 데이터에 불일치가 발생하는 시간이 있었고, 디스크 동기를 완료해야 종료할 수 있었다.
하지만 항상 성능을 중시하는 구현이 이루어지는 것은 아니다. Windows NT의 소프트웨어 RAID 1에서는 읽기가 항상 하나의 디스크에서만 수행된다. Windows Server 2003은 저부하 시에는 한쪽에서, 고부하 시에는 부하 분산을 수행한다.
- 장점
- * OS나 마더보드에 기본적으로 장착되어 있는 경우, 별도로 RAID 하드웨어나 소프트웨어를 준비하지 않아도 사용할 수 있다.
- * 드라이브 수가 증가할수록 내결함성이 높아진다.
- 단점
- * 용량 활용 효율이 나쁘다. N대의 드라이브로 구성할 때, 용량 효율은 1/N이 된다.
- * 대용량화를 목적으로 하지 않는다.
- * 고속화는 제한적이다.
4. 3. RAID 2
RAID 2는 전용 해밍 코드 패리티를 이용해 비트 레벨로 스트라이핑하는 방식이다. 모든 디스크 스핀들 회전을 동기화하고 데이터를 스트라이핑하여 각 순차적 비트가 다른 드라이브에 저장된다. 해당 비트에 대한 해밍 코드 패리티를 계산하여 하나 이상의 패리티 드라이브에 저장한다.[11] 이 방식은 역사적으로만 의미가 있다. 싱킹 머신즈 CM-2와 같은 일부 초기 시스템에서 사용되었지만,[18] 현재 상업적으로 사용되는 시스템에서는 찾아볼 수 없다.[19]RAID 2는 해밍 부호를 이용한 중복 제거 기법을 사용하며, 스트라이프 단위는 1비트이다.[102] 하지만 하드디스크(HDD)의 신뢰도가 높아짐에 따라 해밍 코드를 사용한 비트 단위 데이터 복구는 실용성이 떨어져 RAID 2는 실제로 판매되지 않는다.
RAID 2에 필요한 드라이브 수는 해밍 코드의 오류 정정 가능 비트 수에 따라 달라지지만, 최소 5대가 필요하다.
- 장점
- * 모든 RAID 레벨 중 가장 높은 내결함성을 가진다. 최소 구성인 5대를 기준으로 3대의 드라이브가 고장 나도 견딜 수 있다.[102]
- 단점
- * 해밍 코드 계산 비용이 매우 크다.[115]
- * 디스크 사용 효율이 매우 낮다. 최소 5대로 구성할 경우 사용 가능한 용량은 2대분이다.[115] 드라이브가 7대일 경우 4대분, 15대일 경우 11대분, 31대일 경우 26대분의 용량을 사용할 수 있다. 단, 최소 구성을 제외하면 RAID 1보다는 효율이 좋다.
4. 4. RAID 3 및 RAID 4
RAID 3은 전용 패리티 디스크를 사용하여 오류를 정정하며, 바이트 단위로 데이터를 스트라이핑한다. 최소 3개의 디스크가 필요하며, 모든 디스크 스핀들 회전이 동기화되고 데이터가 스트라이핑되어 각 순차적 바이트가 다른 드라이브에 저장된다. 패리티는 해당 바이트에서 계산되어 전용 패리티 드라이브에 저장된다.[11] 구현은 존재하지만,[20] RAID 3은 현대에는 RAID 5에 밀려 거의 사용되지 않는다. 비디오 편집 장비와 같이 순차적 접근이 많은 환경에서는 여전히 사용되기도 하지만, 일반 컴퓨터나 서버에서는 이점이 없다.RAID 3은 RAID 2의 오류 정정 부호를 배타적 논리합(XOR)을 이용한 패리티로 변경하여 연산 비용을 절감하였다.
- '''장점'''
- * 패리티를 정정 부호로 사용하여 RAID 2보다 계산 비용이 낮다.
- * (구성 드라이브 수 - 1)개의 용량을 확보하여 디스크 용량 낭비를 최소화한다.
- '''단점'''
- * 비트/바이트 단위 접근으로 I/O 효율이 나쁘다.
- * 패리티 드라이브가 쓰기 처리 시 병목 현상이 된다.

RAID 4는 전용 패리티 디스크를 사용하여 오류를 정정하며, 블록 단위로 데이터를 스트라이핑한다. 최소 3개의 디스크가 필요하다. RAID 4는 RAID 3의 I/O 단위를 블록으로 확장하여 I/O 효율을 개선한 것이다. RAID 4는 I/O 병렬 처리가 가능하다는 장점이 있다. RAID 2 및 3에서는 단일 읽기 I/O 작업에 모든 데이터 드라이브 그룹을 읽어야 하지만, RAID 4에서는 단일 I/O 읽기 작업을 모든 데이터 드라이브에 분산할 필요가 없다.[1] 이러한 장점에도 불구하고, 패리티 드라이브에 쓰기 작업이 집중되어 성능 병목 현상 및 수명 단축 문제가 발생한다. 이러한 단점 때문에 RAID 5로 대체되었으며, RAID 4는 사실상 사라졌다.
4. 5. RAID 5
RAID 5는 분산 패리티를 사용한 블록 레벨 스트라이핑으로 구성된다. RAID 4와 달리 패리티 정보는 여러 드라이브에 분산되어 있으며, 하나를 제외한 모든 드라이브가 정상 작동해야 한다. 단일 드라이브 고장 시에는 분산된 패리티 정보를 이용하여 후속 읽기를 계산함으로써 데이터 손실 없이 읽을 수 있다. RAID 5는 최소 3개의 디스크가 필요하다.[11]RAID 5는 여러 개의 하드 디스크에 오류 정정 부호(패리티)와 데이터를 분산 기록하여 RAID 3, RAID 4의 병목 현상을 해결한다. 최소 3개의 드라이브가 필요하며, RAID 1이나 RAID 1+0에 비해 저장 공간 효율성이 우수하다. 또한, RAID 0처럼 데이터를 여러 디스크에 분산시키므로 읽기 성능이 좋다. 쓰기 작업의 경우 패리티 블록을 다시 생성하기 위해 디스크에서 기존 패리티를 읽고 연산하는 과정이 필요하다. 하지만, I/O 프로세서를 탑재한 고성능 제품에서는 패리티를 대용량 캐시에 저장하고, I/O 프로세서 또는 전용 연산 장치에서 패리티 연산을 수행하여 속도 저하를 줄일 수 있다.
- 장점
- RAID 3이나 RAID 4와 달리 전용 패리티 드라이브가 없어 병목 현상이 발생하지 않는다.
- 드라이브 수가 증가할수록 속도 향상을 기대할 수 있다.
- 드라이브 하나가 고장 나더라도 데이터 복구가 가능하다.
- 단점
- 패리티 연산이 필요하여 소프트웨어 RAID에는 적합하지 않다. 그러나 I/O 프로세서를 탑재한 고성능 제품은 대용량 캐시 메모리와 I/O 프로세서 또는 패리티 연산 장치를 통해 RAID 0 수준의 읽기/쓰기 속도를 제공하기도 한다.
- 정전이나 디스크 손상으로 인해 쓰기 작업이 부분적으로만 완료된 채 중단되면, 감지하기 어려운 데이터 불일치가 발생할 수 있다. 이를 'RAID 5 쓰기 홀'이라고 한다. 하드웨어 RAID는 배터리 백업 등으로 이러한 문제를 방지하지만, 소프트웨어 RAID는 대응이 어렵다. (RAID 4, RAID 6 등에서도 동일한 문제 발생) RAID-Z는 소프트웨어적으로 이 문제를 해결하는 방법 중 하나이다.
- 저가형 또는 저성능 제품에서는 장애 발생 후 복구 처리가 느리다.
- 드라이브 하나가 고장 나면 패리티를 통해 데이터를 재생하므로 성능이 저하된다.
- 2개 이상의 드라이브가 동시에 고장 나면 데이터를 복구할 수 없다. (RAID 6는 3개 드라이브 동시 고장 시 복구 불가)
- 드라이브 하나가 고장 난 경우, RAID 0 수준으로 신뢰성이 낮아진다. 특히, 구성 드라이브 수가 많으면 복구 작업 중 다른 드라이브가 추가로 고장 나 복구가 불가능해지는 경우가 있다. (RAID 6가 이에 대한 해결책)
RAID 5에서 패리티는, 패리티 전용 영역으로 사용되는 디스크를 제외한 나머지 디스크들의 XOR 연산을 통해 수평 방향 패리티(PH)를 생성한다. 수평 패리티는 각 디스크에 분산 저장되며, 하나의 디스크에 장애가 발생하더라도 내결함성을 제공한다. 디스크 장애 발생 시에는 장애가 발생한 디스크의 데이터를 XOR 연산을 통해 다시 계산하여 복구할 수 있다.
데이터 쓰기 시 패리티 계산 방법의 예시는 다음과 같다 (An, Bn은 A1, B1, A2, B2, A3, B3 순으로 나열된 데이터 블록).
데이터 블록 | 데이터 블록 | 패리티 블록 |
---|---|---|
A1 | B1 | PH1 |
A2 | PH2 | B2 |
PH3 | A3 | B3 |
PH1 = A1 + B1
PH2 = A2 + B2
PH3 = A3 + B3
4. 6. RAID 6
RAID 6은 이중 분산 패리티를 사용한 블록 레벨 스트라이핑으로 구성된다. 이중 패리티는 최대 두 개의 고장난 드라이브까지 내결함성을 제공한다. 이를 통해 대용량 드라이브의 복원 시간이 길어짐에 따라 대규모 RAID 그룹이 특히 고가용성 시스템에 더욱 실용적이다. RAID 6에는 최소 4개의 디스크가 필요하다. RAID 5와 마찬가지로 단일 드라이브 고장은 고장난 드라이브가 교체될 때까지 전체 어레이의 성능 저하를 초래한다.[11] 여러 소스 및 제조업체의 드라이브를 사용하는 RAID 6 어레이를 사용하면 RAID 5와 관련된 대부분의 문제를 완화할 수 있다. 드라이브 용량이 클수록 어레이 크기가 클수록 RAID 5 대신 RAID 6을 선택하는 것이 더 중요해진다.[22] RAID 10도 이러한 문제를 최소화한다.[23]RAID 6은 최대 2개의 하드 디스크에 장애가 발생해도 데이터 복구가 가능한 RAID 레벨이다. 2종류의 중복 데이터를 생성하여 2개의 디스크에 기록함으로써 이중 장애에 대응할 수 있으며, 동시에 2개의 드라이브가 고장 나더라도 복구할 수 있다. 최소 4개의 드라이브가 필요하다. 하나의 중복 데이터는 RAID 5와 마찬가지로 패리티 코드를 사용한다. 다른 하나의 중복 데이터는 서로 다른 주소의 데이터에서 패리티를 생성하는 방식(대각선 패리티)이나 서로 다른 계수를 곱한 후 생성하는 방식(P+Q 패리티) 등 여러 가지 구현 방식이 있다. RAID 1의 미러링을 3중화한 경우에도 2개의 하드 디스크 장애에 대응할 수 있지만, 이것은 일반적으로 RAID 6이라고 부르지 않는다.
- 장점
- * RAID 5와 동등한 장점을 가진다.
- ** RAID 3이나 RAID 4처럼 전용 패리티 드라이브가 병목 현상을 일으키지 않는다.
- ** 드라이브 수가 증가할수록 속도 향상을 기대할 수 있다.
- * RAID 5보다 더 높은 내결함성을 가진다. 드라이브 1대 고장 시에도 RAID 5 수준의 신뢰성을 유지한다.
- 단점
- * 초기 투자가 크다(단, 장기적인 운영 비용은 RAID 5와 큰 차이가 없다).
- * 패리티를 이중으로 생성하기 때문에 RAID 5보다 쓰기 속도가 더 저하된다.
- * RAID 5와 마찬가지로 드라이브 고장 시 성능이 저하된다.
- * 3개 이상의 드라이브가 동시에 고장 나면 복구할 수 없다.
EMC CLARiX/CLARiiON의 RAID 6에서는 EVENODD 알고리즘을 사용하여 X86 프로세서의 XOR 명령어로 패리티 계산과 데이터 복구를 소프트웨어로 수행한다.
대규모 시스템에서는 RAID 6을 사용한 다중 RAID도 RAID 5와 마찬가지로 고려된다.
RAID 6에서는 RAID 5의 수평 패리티(PH) 외에, 대각선 패리티(PD)도 패리티로 사용된다.
수평 패리티와 달리 대각선 패리티는 전용 디스크에 저장된다. 디스크 4대로 RAID 6을 구성할 때, 대각선 패리티의 배치와 계산은 다음과 같다.
PH1 | B1 | C1 | PD1 |
A2 | PH2 | C2 | PD2 |
A3 | B3 | PH3 | PD3 |
PD1 = PH1 + C2 + B3
PD2 = B1 + A2 + PH3
PD3 = C1 + PH2 + A3
P 패리티는 RAID 5와 같은 XOR 연산을 사용하는 패리티이며, 다른 하나의 중복 데이터인 Q 패리티는 가중치가 부여된 갈루아 체 GF(2)에서의 나머지, 즉 8비트 CRC를 사용한다. 8비트 CRC의 제한으로 인해, 이 방식을 사용하는 한 데이터 디스크는 255대(+중복 디스크 2대)까지밖에 지원할 수 없다.
표준이 없기 때문에, 생성 다항식이나 가중치 부여 방식이 제조사마다 다르다. 또한 고속화나 하드웨어적인 최적화를 위해 미리 상수를 곱한 테이블이 준비되어 있는 등, 단순한 CRC와는 다르게 보이는 경우도 있다. 또는, 이 외의 계산 방법을 채택하고 있는 경우도 있을 수 있다.
구체적인 계산 방법은 다음과 같다.
데이터 디스크를 A, B, C, D로 하고, 중복 디스크를 P, Q로 한다. 현실적으로는 중복 디스크가 분산되어 있지만, 편의상 이렇게 한다.
: P = A + B + C + D (RAID 5와 같음)
: Q = CRC(A + B * 2 + C * 4 + D * 8)
여기서, A는 데이터 디스크 A에 있는 1바이트의 데이터이며, 이하 B, C, D, P, Q 각각, 해당하는 같은 위치에 있는 1바이트의 데이터를 나타낸다. 또한 CRC(x)는 값 x를 비트열로 했을 때의 CRC 코드이다. 이 CRC는 생성 다항식이 기약다항식(==원시 다항식)일 필요가 있다. 또한 위의 덧셈(+)과 곱셈(*)은 모두 갈루아 체에서의 덧셈과 곱셈이다.
또한 복구 방법은 다음과 같다.
- 데이터 디스크 A, B, C, D 중 하나가 손상된 경우에는 RAID 5와 같다. 또한 중복 디스크 P, Q 중 하나 또는 둘이 손상된 경우에는 데이터 디스크 A, B, C, D에서 재계산한다.
- A, B, C, D 중 하나와 Q가 손상된 경우에는, P와 정상적인 데이터 디스크로 손상된 데이터 디스크를 (RAID 5와 마찬가지로) 복구하고, Q를 재계산한다.
- A, B, C, D 중 하나와 P가 손상된 경우에는, Q에서 손상된 데이터 디스크의 위치에 8비트 버스트 오류가 있었던 것으로 간주하여 오류 정정하여 복구한다.
- A, B, C, D 중 둘이 손상된 경우에는, P와 Q에 관한 연립 방정식을 풀어서 복구한다.
예를 들어 B, D가 손상되었다고 하자.
: P = A + B + C + D
: P - (A + C) = B + D
: P + A + C = B + D (덧셈과 뺄셈은 모두 XOR이므로 동일하다)
: Q = CRC(A + B * 2 + C * 4 + D * 8)
: Q = CRC(A + C * 4) + CRC(B * 2 + D * 8) (CRC는 덧셈(XOR)에 대해 분배법칙이 성립한다)
: Q - CRC(A + C * 4) = CRC(B * 2 + D * 8)
: Q + CRC(A + C * 4) = CRC(B * 2 + D * 8) (덧셈과 뺄셈은 모두 XOR이므로 동일하다)
이 되므로, 이 연립 방정식을 푼다.
: P + A + C = B + D
: P + A + C - B = D
: P + A + C + B = D
이것을 대입하여
: Q + CRC(A + C * 4) = CRC(B * 2 + D * 8)
: Q + CRC(A + C * 4) = CRC(B * 2 + (P + A + C + B) * 8)
: Q + CRC(A + C * 4) = CRC(B * 2 + (P + A + C) * 8 + B * 8)
: Q + CRC(A + C * 4) = CRC(B * 2 + B * 8 + (P + A + C) * 8)
: Q + CRC(A + C * 4) = CRC(B * (2 + 8) + (P + A + C) * 8)
: Q + CRC(A + C * 4) = CRC(B * 10 + (P + A + C) * 8)
: Q + CRC(A + C * 4) = CRC(B * 10 + (P + A + C) * 8)
: Q + CRC(A + C * 4) = CRC(B * 10) + CRC((P + A + C) * 8)
: Q + CRC(A + C * 4) - CRC((P + A + C) * 8) = CRC(B * 10)
: Q + CRC(A + C * 4) + CRC((P + A + C) * 8) = CRC(B * 10)
여기서, CRC의 생성 다항식은 원시 다항식이므로, 10과 서로소이다. 여기서 중국인의 나머지 정리를 이용하여 B를 산출한다. 즉, 좌변을 10(이진법으로 1010)으로 나눈다.
그것을
: P + A + C + B = D
에 대입하여 D를 구한다.
5. 중첩 RAID 레벨
RAID 5의 속도나 내결함성에 불만이 있는 경우, RAID 0+1이나 RAID 1+0과 같이 다른 RAID와 조합하여 약점을 보완할 수 있다. RAID 6보다 강력한 내결함성이 요구될 경우에도 이러한 조합이 선택지가 될 수 있다.
RAID 5+1과 RAID 1+5는 모두 최대 3개의 드라이브 동시 고장에도 견딜 수 있지만, RAID 1+5가 더 강력한 내결함성을 가진다.[117] 유지보수성 또한 뛰어나, 모든 드라이브를 교체해야 할 경우에도 장치를 중지하지 않고 교체할 수 있으며, 이 작업 중에도 RAID 5의 내결함성이 유지된다.
5. 1. RAID 0+1
RAID 0+1은 먼저 디스크를 스트리핑(RAID 0)하고, 그 결과를 미러링(RAID 1)하는 방식이다. 최소 4개의 디스크가 필요하다. 예를 들어 디스크가 6개일 경우, 3개씩 묶어 RAID 0으로 구성하고, 이렇게 만들어진 두 개의 RAID 0 세트를 다시 RAID 1로 묶는다.
RAID 0+1은 RAID 1+0에 비해 드라이브 고장에 대한 내성이 떨어진다. RAID 0+1에서는 RAID 1(미러링)을 구성하는 각 RAID 0(스트라이핑) 영역에서 드라이브 하나씩만 고장 나도 데이터가 파괴되기 때문이다.[112]
5. 2. RAID 1+0 (RAID 10)
RAID 10(RAID 1+0)은 먼저 디스크를 미러링(RAID 1)하고, 그 이후 스트라이핑하는 방식이다. (적어도 4개의 디스크 필요)[112] 디스크가 6개일 경우에는 2개씩 미러링을 하고, 미러링된 3개를 스트라이핑한다.RAID 0과 RAID 1을 결합한 구성을 특별히 RAID 0+1(RAID 01) 및 RAID 1+0(RAID 10)이라고 부른다. 고속화, 대용량화를 목표로 한 RAID 0과 고신뢰성을 추구한 RAID 1을 결합함으로써 속도, 용량, 내결함성 향상을 꾀할 수 있다.
RAID 0과 RAID 1은 상성이 좋으며, RAID 1의 특성에 따라 RAID 0의 약점이었던 랜덤 액세스도 고속화할 수 있다. RAID 1을 사용하고 있으므로 컨트롤러의 이중화에도 대응할 수 있어, 용량이 필요하고 강력한 내결함성을 요구하는 경우에 채택되는 경우가 많다.
RAID 0과 RAID 1 중 어느 것을 하위 계층에서 수행하느냐에 따라 이름이 바뀌는데, 0 또는 1은 하위 계층에서 수행되는 처리를 먼저 표기한다. 언뜻 보면 둘 다 비슷해 보이지만 내결함성 면에서 차이가 있다.
- RAID 0+1: 스트라이핑된 영역을 미러링
- RAID 1+0: 미러 세트를 스트라이핑
드라이브 고장에 대한 내성은 RAID 1+0이 더 뛰어나다. RAID 0+1에서는 RAID 1을 구성하는 RAID 0 영역의 드라이브 각각 1대씩 고장났을 때 데이터가 파괴되지만, RAID 1+0에서는 RAID 0을 구성하는 RAID 1 세트의 구성 드라이브 2대가 모두 고장나지 않는 한 데이터는 파괴되지 않는다.[112] 드라이브 수가 증가할수록 RAID 1+0의 내결함성이 높아진다.[113] 컨트롤러 고장에 대한 내성은 RAID 0+1이 더 뛰어난 경우도 있을 수 있지만,[114] 기본적으로 RAID 1+0이 더 뛰어나다고 생각해도 좋다.
5. 3. RAID 50 (RAID 5+0)
RAID 5로 구성된 디스크들을 다시 RAID 0(스트라이핑)으로 묶는다. 최소 6개의 디스크가 필요하다.[1]5. 4. RAID 1E
미러링과 데이터 스트라이핑을 결합한다.(적어도 3개의 디스크)[1]6. 비표준 RAID 레벨
읽기 시에는 RAID 0처럼 작동하여 성능상의 이점을 얻는다. 쓰기 시에는 RAID 5처럼 작동하여 안정성을 도모한다. RAID 1에 비해 읽기 성능에서 약간의 이점이 있을 뿐이라 널리 쓰이지는 않는다. HighPoint사의 컨트롤러에서만 지원하는 방식이다.
7. RAID의 한계 및 문제점
RAID는 여러 개의 하드 디스크(HDD)를 묶어 가용성을 높이는 기술이지만, 완벽한 데이터 보호 솔루션은 아니다. 다음과 같은 한계와 문제점을 가지고 있다.
- 소프트웨어적 오류 대응 불가: RAID는 파일의 잘못된 삭제, 컴퓨터 바이러스로 인한 손상, 파일 시스템 불일치 등 소프트웨어적인 오류에는 대응할 수 없다.
- HDD 동시 고장 가능성: RAID는 여러 HDD를 사용하지만, 동시에 여러 개가 고장나거나, 리빌드 중 다른 HDD가 고장나는 경우 데이터 손실이 발생할 수 있다. 특히 RAID 1은 두 HDD에 거의 동일한 부하가 걸려 동시에 고장날 가능성이 있다.
- 백업과의 역할 차이: 백업은 데이터를 정적인 상태로 일정 기간 보관하는 것이며, RAID와는 역할이 다르다. 데이터는 RAID와 백업을 함께 운용해야 안전성을 높일 수 있다.
RAID는 이러한 한계점들을 보완하기 위해 지속적으로 발전하고 있으며, 더 안정적인 데이터 보호 기술을 위해 다양한 방법들이 연구 및 개발되고 있다.
7. 1. 연관된 오류
실제로 드라이브는 종종 같은 시기에 제조되어 비슷한 마모 상태를 가지며, 동일한 환경에 놓여 있다. 많은 드라이브 고장이 기계적 문제(오래된 드라이브에서 더 발생 가능성이 높음)로 인한 것이므로, 이는 드라이브 간 독립적이고 동일한 고장률이라는 가정을 위배한다. 사실 고장은 통계적으로 상관관계가 있다.[11] 실제로 첫 번째 드라이브의 고장을 복구하기 전에 두 번째 고장이 발생하여 데이터 손실이 발생할 가능성은 무작위 고장의 가능성보다 더 높다. 약 10만 개의 드라이브에 대한 연구에서 동일한 클러스터 내의 두 드라이브가 1시간 이내에 고장 날 확률은 지수 분포(사건이 일정한 평균 속도로 연속적이고 독립적으로 발생하는 과정을 특징짓는 분포)가 예측한 값보다 네 배 더 컸다. 동일한 10시간 동안 두 번의 고장이 발생할 확률은 지수 분포가 예측한 값의 두 배였다.[78]7. 2. 복구 불가능한 읽기 오류 (URE)
복구 불가능한 읽기 오류(URE)는 잠재적 섹터 오류(LSE)라고도 불리는 섹터 읽기 실패로 나타난다. 관련 미디어 평가 척도인 복구 불가능한 비트 오류(UBE) 비율은 일반적으로 엔터프라이즈급 드라이브(SCSI, FC, SAS 또는 SATA)의 경우 1015개 비트 중 1비트 미만, 데스크톱급 드라이브(IDE/ATA/PATA 또는 SATA)의 경우 1014개 비트 중 1비트 미만으로 보장된다.[11][79] 드라이브 용량 증가 및 대용량 RAID 5 인스턴스로 인해 이러한 오류가 RAID 세트 재구성 중 하나 이상의 남은 드라이브에서 발생할 가능성이 높아져 최대 오류율이 성공적인 복구를 보장하기에 불충분해졌다. 재구성 시 RAID 5와 같은 패리티 기반 방식은 URE의 영향을 특히 많이 받는데, 이는 오류가 발생한 섹터뿐만 아니라 패리티 계산에 해당 섹터를 사용하는 재구성된 블록에도 영향을 미치기 때문이다.[80]RAID 6과 같이 이중 보호 패리티 기반 방식은 이중 드라이브 오류를 허용하는 중복성을 제공하여 이 문제를 해결하려고 시도한다. 단점으로 이러한 방식은 쓰기 페널티(단일 쓰기 작업 중 저장 매체에 액세스해야 하는 횟수)가 높아진다.[81] RAID 1 및 RAID 10과 같이 드라이브 간에 데이터를 복제(미러링)하는 방식은 패리티 계산이나 스트라이프 세트 간 미러링을 사용하는 방식보다 URE의 위험이 더 낮다.[23][82] 데이터 스크러빙은 백그라운드 프로세스로서 URE를 감지하고 복구하여 RAID 재구성 중에 발생하여 이중 드라이브 오류를 유발할 위험을 효과적으로 줄일 수 있다. URE 복구에는 드라이브의 섹터 재매핑 풀을 활용하여 영향을 받는 기본 디스크 섹터를 재매핑하는 작업이 포함된다. 백그라운드 스크러빙 중에 URE가 감지되면 완전히 작동하는 RAID 세트에서 제공하는 데이터 중복성을 통해 누락된 데이터를 재구성하고 재매핑된 섹터에 다시 쓸 수 있다.[83][84]
7. 3. 재구축 시간 증가 및 고장 확률 증가
드라이브 용량은 전송 속도보다 훨씬 빠르게 증가했지만, 오류율은 상대적으로 약간만 감소했다. 따라서 대용량 드라이브의 재구축에는 몇 시간 또는 며칠이 걸릴 수 있으며, 그 동안 다른 드라이브가 고장 나거나 아직 감지되지 않은 읽기 오류가 발생할 수 있다. 전체 어레이가 여전히 감소된 용량으로 작동하는 경우 재구축 시간도 제한된다.[85] 단 하나의 중복 드라이브만 있는 어레이(RAID 레벨 3, 4, 5 및 "클래식" 2드라이브 RAID 1에 적용)의 경우, 두 번째 드라이브 고장이 발생하면 어레이 전체가 고장 난다. 개별 드라이브의 평균 고장 간격(MTBF)은 시간이 지남에 따라 증가했지만, 이러한 증가는 드라이브의 증가된 저장 용량을 따라잡지 못했다. 단일 드라이브 고장 후 어레이를 재구축하는 시간과 재구축 중 두 번째 고장이 발생할 가능성은 시간이 지남에 따라 증가했다.[86]일부 전문가들은 RAID 6이 이러한 측면에서 단지 "임시방편"일 뿐이라고 주장한다. 문제를 약간 더 미룰 뿐이기 때문이다.[86] 그러나 Berriman 등이 2006년에 수행한 넷앱(NetApp) 연구에 따르면, 일반 드라이브를 사용하더라도 RAID 6을 적절하게 구현하면 RAID 5에 비해 고장 가능성이 약 3,800배 감소한다.[87] 그럼에도 불구하고, 현재 관찰되는 기술 동향이 변하지 않으면 2019년 RAID 6 어레이의 고장 가능성은 2010년 RAID 5 어레이의 고장 가능성과 같다.[87]
RAID 10과 같은 미러링 방식은 단일 고장 드라이브의 복사본만 필요하기 때문에 복구 시간이 제한적이다. 반면 RAID 6과 같은 패리티 방식은 어레이 집합에 있는 드라이브의 모든 블록을 복사해야 한다. 이러한 긴 재구축 시간 동안 추가 드라이브 고장에 대한 복원력을 향상시키는 한 가지 방법으로 트리플 패리티 방식 또는 트리플 미러링이 제안되었다.[87]
7. 4. 쓰기 캐시 안정성
데이터를 비휘발성 매체에 기록하기 전에 캐시에 기록하는 즉시 기록된 것으로 보고하는 쓰기-백 캐시를 갖춘 장치는 안정성에 대한 우려가 제기되고 있다. 시스템에 정전 또는 기타 주요 오류가 발생하면 데이터가 비휘발성 저장소에 도달하기 전에 캐시에서 돌이킬 수 없이 손실될 수 있다. 이러한 이유로 우수한 쓰기-백 캐시 구현에는 시스템 오류(정전 포함) 시 캐시 내용을 보존하고 시스템 재시작 시 캐시를 플러시하는 메커니즘(예: 이중화 배터리 전원)이 포함된다.[97]7. 5. 데이터 스크러빙(Integrity)
RAID 컨트롤러는 주기적으로 배열의 모든 블록을 읽고 검사하는 데이터 스크러빙(일부 환경에서는 '패트롤 읽기'라고도 함)을 수행한다.[71] 이를 통해 사용 전에 불량 블록을 조기에 감지할 수 있다.[71] 데이터 스크러빙은 배열의 각 저장 장치에서 불량 블록을 검사할 뿐만 아니라, 배열의 중복성을 이용하여 단일 드라이브의 불량 블록을 복구하고 복구된 데이터를 드라이브의 다른 곳에 있는 예비 블록에 재할당한다.[72]7. 6. 라이트홀 문제
RAID 5 등에서 쓰기 작업 중 정전 등으로 인해 데이터와 패리티가 불일치하는 현상이 발생할 수 있다. 이를 '라이트홀(write hole)'이라고 부른다. 이러한 현상은 HDD 레벨에서는 정상이지만, RAID 레벨에서는 불일치 상태가 되어 데이터가 손상될 수 있다.[1]예를 들어, RAID 1 환경에서 RAID 컨트롤러는 두 대의 HDD(HDD A와 HDD B)에 동시에 쓰기 요청을 하지만, HDD의 쓰기 처리 시간 지연으로 인해 한쪽 HDD에는 쓰기가 완료되었지만 다른 HDD에는 쓰기가 완료되지 않은 시점이 존재할 수 있다. 이 시점에서 정전이 발생하면, HDD A에는 새로운 데이터가, HDD B에는 이전 데이터가 기록되어 데이터 불일치가 발생한다.[1]
RAID 3, 4, 5, 6의 경우 잘못된 패리티로 인해 데이터가 손상될 수 있으며, 이를 사일런트 데이터 손상이라고 한다.[1]
배터리 백업된 NVRAM을 사용하는 하드웨어 RAID에서는 이러한 문제를 방지할 수 있지만, 소프트웨어 RAID나 비휘발성 메모리가 없는 저렴한 하드웨어 RAID에서는 발생할 수 있다. RAID 2는 자체적인 에러 검출 기능으로, RAID-Z는 블록 단위 쓰기 보장 및 체크섬으로 이 문제를 방지한다.[1]
8. RAID 용량 계산
RAID 이름 | RAID 계산식 | 최소 필요 드라이브 수 |
---|---|---|
RAID 0 | HDD 개수 × HDD 용량 | 2개 이상 |
RAID 1 | HDD 개수 × HDD 용량 / 2 | 2개 |
RAID 10 | HDD 개수 × HDD 용량 / 2 | 2개 이상 |
RAID 5 | (HDD 개수 - 1) × HDD 용량 | 3개 이상 |
RAID 6 | (HDD 개수 - 2) × HDD 용량 | 4개 이상 |
9. Defunct Disk Drive (DDD)
'''무효 디스크 드라이브'''(Defunct Disk Drive|디펑트 디스크 드라이브영어, '''DDD''')는 RAID를 구성하는 디스크에서 어떤 장애가 발생하여 RAID 구성 디스크에서 제외된 디스크 또는 그 상태를 가리킨다.[120]
10. Spare Disk Drive
'''예비 디스크 드라이브''' ('''Spare Disk Drive''', 예비 디스크)는 RAID 구성에서 평상시에는 사용되지 않지만, 사용 중인 디스크 중 하나에 오류가 발생했을 때 해당 디스크를 교체하기 위해 연결된 하드 디스크 장치이다. 벤더에 따라 명칭은 다르지만, 핫 스페어에 해당한다.
예를 들어, 총 4개의 디스크 중 3개로 RAID 5를 구성하는 시스템을 생각해 보자. RAID 5에서 어느 하나의 디스크가 고장 나면, 예비 디스크가 고장난 디스크를 자동으로 교체하여 RAID 5를 원래대로 구성한다.
이 4개의 디스크로 RAID 6을 구성해도 같은 실효 디스크 용량을 얻을 수 있지만, 그것과 비교하여 예비 디스크는 다음과 같은 장점과 단점을 가지고 있다.
- '''장점:''' RAID 5이므로 RAID 6에 비해 쓰기 속도가 빠르다. 예비 디스크는 평상시에는 작동하지 않으므로(단, 통전은 계속됨) 수명이 길어질 것으로 기대된다.
- '''단점:''' 예비 디스크로 고장난 디스크를 교체하고 리싱크(resync, 재동기화)가 완료될 때까지(2013년 기술로 1TB당 10분 이상) 시스템은 중복성을 갖지 않으므로, 또 다른 디스크가 고장 나면 시스템 전체의 정보가 손실될 수 있다.
또한, 4개의 디스크 중 3개로 RAID 1을 구성하면, 위의 리싱크 중 중복성 부족의 위험을 크게 줄일 수 있다.
RAID에 통합된 디스크는 실시간 온라인으로 중복성을 생성하는 반면, 예비 디스크는 실제 고장 발생 시 오프라인 일괄 처리로 일괄하여 중복성을 생성한다고 볼 수도 있다.
11. 비RAID 설계
RAID를 사용하지 않는 디스크 구성 방식도 존재한다.
JBOD는 여러 개의 물리적 디스크를 하나의 디스크처럼 취급하는 방식이다.[121] 중복성은 없으며, 스패닝(SPANNING)이라고도 불린다.[122]
11. 1. JBOD (Just a Bunch Of Disks)
JBOD(Just a Bunch Of Disks)는 여러 개의 물리적 디스크를 하나의 디스크처럼 취급하여 접근하는 방식이다.[121] 이 방식은 중복성(Redundancy)을 제공하지 않으며, 스패닝(SPANNING)이라고도 불린다.[122]참조
[1]
컨퍼런스
A Case for Redundant Arrays of Inexpensive Disks (RAID)
https://www2.eecs.be[...]
SIGMOD Conferences
2024-01-03
[2]
잡지
The Story So Far
http://www.computerw[...]
2003-11-17
[3]
웹사이트
RAID: A Personal Recollection of How Storage Became a System
http://web.eecs.umic[...]
IEEE Computer Society
2010-10-01
[4]
특허
System for Recovering Data Stored in Failed Memory Unit
1978-05-30
[5]
웹사이트
HSC50/70 Hardware Technical Manual
http://www.textfiles[...]
DEC
1986-07-01
[6]
특허
Parity Spreading to Enhance Storage Access
1988-08-02
[7]
특허
Method and Apparatus for Operating Multi-Unit Array of Memories
1990-02-06
[8]
웹사이트
IBM 7030 Data Processing System: Reference Manual
http://bitsavers.tra[...]
IBM
[9]
웹사이트
IBM Stretch (aka IBM 7030 Data Processing System)
http://www.brouhaha.[...]
2009-06-18
[10]
서적
Storage Area Network Fundamentals
Cisco Press
[11]
저널
RAID: High-Performance, Reliable Secondary Storage
[12]
서적
MCSA/MCSE 2006 JumpStart Computer and Network Basics
SYBEX
[13]
웹사이트
Redundant Arrays of Independent Disk
http://foldoc.org/RA[...]
Imperial College Department of Computing
[14]
웹사이트
Common RAID Disk Data Format Specification
http://www.snia.org/[...]
Storage Networking Industry Association
2006-07-28
[15]
웹사이트
Adaptec Hybrid RAID Solutions
http://www.adaptec.c[...]
Adaptec
[16]
웹사이트
Common RAID Disk Drive Format (DDF) standard
http://www.snia.org/[...]
SNIA
[17]
웹사이트
SNIA Dictionary
http://www.snia.org/[...]
SNIA
[18]
서적
Structured Computer Organization 6th ed.
[19]
서적
Computer Architecture: A Quantitative Approach, 4th ed
[20]
웹사이트
FreeBSD Handbook, Chapter 20.5 GEOM: Modular Disk Transformation Framework
http://www.freebsd.o[...]
[21]
웹사이트
RAID-DP:NetApp Implementation of Double Parity RAID for Data Protection. NetApp Technical Report TR-3298
http://www.netapp.co[...]
2010-05-01
[22]
뉴스
Why RAID 6 stops working in 2019
http://www.zdnet.com[...]
2010-02-22
[23]
웹사이트
How to protect yourself from RAID-related Unrecoverable Read Errors (UREs). Techrepublic.
http://www.techrepub[...]
2009-11-16
[24]
서적
Proceedings of the 1995 International Conference on Parallel Processing: Volume 1
CRC Press
[25]
웹사이트
Why is RAID 1+0 better than RAID 0+1?
http://aput.net/~jhe[...]
[26]
웹사이트
RAID 10 Vs RAID 01 (RAID 1+0 Vs RAID 0+1) Explained with Diagram
http://www.thegeekst[...]
[27]
웹사이트
Comparing RAID 10 and RAID 01 {{!}} SMB IT Journal
http://www.smbitjour[...]
2014-07-30
[28]
웹사이트
Intro to Nested-RAID: RAID-01 and RAID-10
https://web.archive.[...]
2011-01-06
[29]
웹사이트
Performance, Tools & General Bone-Headed Questions
http://www.tldp.org/[...]
tldp.org
[30]
웹사이트
Main Page – Linux-raid
http://linux-raid.os[...]
osdl.org
2010-08-20
[31]
웹사이트
Hdfs Raid
http://hadoopblog.bl[...]
Hadoopblog.blogspot.com
2009-08-28
[32]
웹사이트
aac(4) — Adaptec AdvancedRAID Controller driver
http://bxr.su/f/shar[...]
FreeBSD
2000-01-01
[32]
서적
FreeBSD Manual Pages
https://www.freebsd.[...]
FreeBSD
[33]
웹사이트
3.8: "Hackers of the Lost RAID"
http://www.openbsd.o[...]
OpenBSD
2005-11-01
[34]
메일링리스트
RAID management support coming in OpenBSD 3.8
http://marc.info/?l=[...]
OpenBSD
2005-09-09
[35]
논문
OpenBSD Hardware Sensors — Environmental Monitoring and Fan Control.
http://cnst.su/MMath[...]
UWSpace
2010-05-21
[36]
웹사이트
RAID over File System
https://web.archive.[...]
2014-07-22
[37]
웹사이트
ZFS Raidz Performance, Capacity and Integrity
https://calomel.org/[...]
2017-06-26
[38]
웹사이트
ZFS -illumos
https://web.archive.[...]
illumos.org
2014-09-15
[39]
웹사이트
Creating and Destroying ZFS Storage Pools – Oracle Solaris ZFS Administration Guide
http://docs.oracle.c[...]
Oracle Corporation
2012-04-01
[40]
웹사이트
20.2. The Z File System (ZFS)
https://web.archive.[...]
[41]
웹사이트
Double Parity RAID-Z (raidz2) (Solaris ZFS Administration Guide)
http://docs.oracle.c[...]
Oracle Corporation
[42]
웹사이트
Triple Parity RAIDZ (raidz3) (Solaris ZFS Administration Guide)
http://docs.oracle.c[...]
Oracle Corporation
[43]
웹사이트
General Parallel File System (GPFS) Native RAID
http://www.usenix.or[...]
IBM
[44]
웹사이트
Btrfs Wiki: Feature List
https://btrfs.wiki.k[...]
2012-11-07
[45]
웹사이트
Btrfs Wiki: Changelog
https://btrfs.wiki.k[...]
2012-10-01
[46]
웹사이트
Scalability and Performance in Modern File Systems
http://linux-xfs.sgi[...]
[47]
웹사이트
Linux RAID Setup – XFS
https://raid.wiki.ke[...]
2013-10-05
[48]
웹사이트
HPE Support document - HPE Support Center
https://support.hpe.[...]
[49]
웹사이트
Mac OS X: How to combine RAID sets in Disk Utility
http://support.apple[...]
2010-01-04
[50]
웹사이트
Apple Mac OS X Server File Systems
https://www.apple.co[...]
2008-04-23
[51]
웹사이트
Other World Computing Launches SoftRAID 8 Setting a New Standard for Reliability, Speed and Data Safeguards
https://www.techpowe[...]
TechPowerUp
2024-03-20
[52]
웹사이트
FreeBSD System Manager's Manual page for GEOM(8)
http://www.freebsd.o[...]
2009-03-19
[53]
웹사이트
freebsd-geom mailing list – new class / geom_raid5
http://lists.freebsd[...]
2006-07-06
[54]
웹사이트
FreeBSD Kernel Interfaces Manual for CCD(4)
http://www.freebsd.o[...]
2009-03-19
[55]
웹사이트
The Software-RAID HowTo
http://tldp.org/HOWT[...]
2008-11-10
[56]
웹사이트
mdadm(8) – Linux man page
http://linux.die.net[...]
[57]
웹사이트
Windows Vista support for large-sector hard disk drives
https://web.archive.[...]
2007-05-29
[58]
웹사이트
You cannot select or format a hard disk partition when you try to install Windows Vista, Windows 7 or Windows Server 2008 R2
http://support.micro[...]
Microsoft
2011-09-14
[59]
웹사이트
Using Windows XP to Make RAID 5 Happen
http://www.tomshardw[...]
Tom's Hardware
2004-11-19
[60]
웹사이트
Virtualizing storage for scale, resiliency, and efficiency
https://web.archive.[...]
Building Windows 8 blog
2012-01-05
[61]
웹사이트
NetBSD 1.4 Release Announcement
http://www.netbsd.or[...]
The NetBSD Foundation
1999-05-12
[62]
웹사이트
OpenBSD softraid man page
https://man.openbsd.[...]
[63]
웹사이트
FreeBSD Handbook
http://www.freebsd.o[...]
2009-03-19
[64]
웹사이트
SATA RAID FAQ
https://ata.wiki.ker[...]
Ata.wiki.kernel.org
2011-04-08
[65]
웹사이트
Red Hat Enterprise Linux – Storage Administrator Guide – RAID Types
https://access.redha[...]
[66]
서적
Working with Windows Small Business Server 2011 Essentials
https://books.google[...]
O'Reilly Media, Inc.
[67]
웹사이트
19.5. Software RAID Devices
http://www.freebsd.o[...]
[68]
서적
Wiley Pathways Network Security Fundamentals
https://books.google[...]
John Wiley & Sons
[69]
서적
PostgreSQL 9.0: High Performance
https://books.google[...]
Packt Publishing Ltd
[70]
웹사이트
Hardware RAID vs. Software RAID: Which Implementation is Best for my Application? Adaptec Whitepaper
http://www.adaptec.c[...]
[71]
서적
Storage Networks Explained: Basics and Application of Fibre Channel SAN, NAS, ISCSI, InfiniBand and FCoE
John Wiley and Sons
[72]
웹사이트
Background Patrol Read for Dell PowerEdge RAID Controllers
http://www.dell.com/[...]
Dell Computers
2006-02-00
[73]
웹사이트
Error Recovery Control with Smartmontools
http://www.csc.liv.a[...]
2009-00-00
[74]
논문
A census of Tandem system availability between 1985 and 1990
http://pdfs.semantic[...]
IEEE
1990-10-00
[75]
논문
Measuring system and software reliability using an automated data collection process
1995-00-00
[76]
서적
(서적 제목 정보 없음)
[77]
웹사이트
The RAID Migration Adventure
http://www.tomshardw[...]
2007-07-10
[78]
웹사이트
Disk Failures in the Real World: What Does an MTTF of 1,000,000 Hours Mean to You?
http://www.usenix.or[...]
[79]
웹사이트
Does RAID 6 stop working in 2019?
http://storagemojo.c[...]
TechnoQWAN
2010-02-27
[80]
간행물
Matrix methods for lost data reconstruction in erasure codes
https://www.usenix.o[...]
USENIX Conference on File and Storage Technologies
2005-12-16
[81]
웹사이트
Understanding RAID Performance at Various Levels
http://www.storagecr[...]
StorageCraft
2016-01-05
[82]
웹사이트
RAID 5 versus RAID 10 (or even RAID 3, or RAID 4)
http://www.miracleas[...]
2011-03-02
[83]
간행물
A fresh look at the reliability of long-term digital storage
2006-04-00
[84]
간행물
An analysis of latent sector errors in disk drives
2007-06-16
[85]
서적
Computer Organization and Design
Morgan Kaufmann Publishers
[86]
웹사이트
RAID's Days May Be Numbered
http://www.enterpris[...]
EnterpriseStorageForum
2009-09-17
[87]
웹사이트
Triple-Parity RAID and Beyond. ACM Queue, Association for Computing Machinery
https://queue.acm.or[...]
2009-12-01
[88]
웹사이트
"Write Hole" in RAID5, RAID6, RAID1, and Other Arrays
http://www.raid-reco[...]
ZAR team
[89]
웹사이트
write hole: which RAID levels are affected?
https://serverfault.[...]
[90]
웹사이트
ANNOUNCE: mdadm 3.4 - A tool for managing md Soft RAID under Linux [LWN.net]
https://lwn.net/Arti[...]
[91]
웹사이트
A journal for MD/RAID5 [LWN.net]
https://lwn.net/Arti[...]
[92]
매뉴얼
md
Linux
[93]
웹사이트
Partial Parity Log
https://www.kernel.o[...]
[94]
웹사이트
RAID-Z
https://blogs.oracle[...]
Oracle Blogs
2005-11-17
[95]
웹사이트
bcachefs: Principles of Operation
https://bcachefs.org[...]
2021-12-18
[96]
간행물
The Transaction Concept: Virtues and Limitations
http://www.informati[...]
(출판사 정보 없음)
1981-00-00
[97]
웹사이트
Definition of write-back cache at SNIA dictionary
https://www.snia.org[...]
[98]
사전
(사전 제목 정보 없음)
카시오EX-word XD-SF6200収録の日経パソコン用語事典、NE最新略語小辞典
[99]
서적
(서적 제목 정보 없음)
[100]
서적
(서적 제목 정보 없음)
[101]
서적
(서적 제목 정보 없음)
[102]
웹사이트
あまり使用されないRAIDレベル
https://www.data-sos[...]
[103]
웹사이트
RAID – WHAT IS RAID? AND SETUP GUIDE FOR FIRST TIMERS
https://rog.asus.com[...]
[104]
웹사이트
ソフトウエアRAIDとハードウエアRAIDの違いは?
https://xtech.nikkei[...]
[105]
제품정보
DELL製、PERC Sシリーズ等
[106]
웹사이트
ストライプ ボリューム (RAID 0) の作成方法
https://support.micr[...]
2018-01-07
[107]
웹사이트
The Software-RAID HOWTO
http://www.tldp.org/[...]
2018-01-07
[108]
웹사이트
FreeBSD Manual Pages
https://www.freebsd.[...]
2018-01-07
[109]
웹사이트
Intel Matrix Storage Manager 8.x User's Manual
https://www.intel.co[...]
2018-01-07
[110]
웹사이트
ハードウェアRAIDとHostRAIDの違いは何ですか?(Adaptec Support Knowledgebase)
http://ask.adaptec.c[...]
2018-01
[111]
웹사이트
Enabling and Setting Up Staggered Spin-up
http://titan.physx.u[...]
2018-01-07
[112]
일반
[113]
일반
[114]
일반
[115]
웹사이트
2.RAID 2とRAID 3、RAID 4とは
https://atmarkit.itm[...]
2018-01-08
[116]
일반
[117]
일반
[118]
일반
[119]
일반
[120]
웹사이트
ServeRAID - Recovery Procedures for DDD Drives
http://ps-2.kev009.c[...]
2018-01-07
[121]
웹사이트
RAIDレベルを理解しよう (2/3)
https://atmarkit.itm[...]
2018-01-07
[122]
웹사이트
ハードディスクとRAIDの基礎を学ぼう
https://ascii.jp/ele[...]
2018-01-07
[123]
서적
Parents of Invention: The Development of Library Automation Systems in the Late 20th Century.
https://books.google[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com