RAID (Redundant Array of Independent Disks) 는 원래 값싼 디스크의 과다 배열로 알려져 있으며, 캘리포니아 대학교의 D. A. 패터슨 교수에 의해 처음 제안되었습니다.버클리 1988 년 에 "비용 없는 디스크 의 과잉 배열 의 사례"라는 논문 에서그 당시에는 대용량 디스크가 비싸기 때문에 RAID의 기본 아이디어는 용량을 얻기 위해 여러 개의 소용량 및 비교적 저렴한 디스크를 유기적으로 결합하는 것이었습니다.저렴한 비용으로 비싼 대용량 디스크와 동등한 성능과 신뢰성디스크의 비용과 가격이 계속 감소함에 따라 "비싼"이라는 용어는 의미가 없어졌고 RAID 자문 위원회 (RAB) 는 "비싼"을 "독립"으로 대체하기로 결정했습니다.
이 RAID의 설계 아이디어는 산업에서 빠르게 채택되었습니다. RAID 기술은 고성능 및 매우 신뢰할 수있는 저장 기술로 널리 적용되었습니다. RAID는 주로 데이터 스트립링을 사용합니다.높은 성능을 달성하기 위한 미러링 및 데이터 패리티 기술, 신뢰성, 고장 내성 및 확장성RAID는 다른 데이터 애플리케이션의 요구를 충족시키기 위해 다른 수준으로 나눌 수 있습니다.원래 RAID 레벨 RAID1-RAID5는 D. A. Patterson et al.에 의해 논문에서 정의되었으며, RAID0과 RAID6는 1988년부터 확장되었습니다.스토리지 공급자는 RAID7과 같은 RAID 레벨을 지속적으로 도입했습니다, RAID10/01, RAID50, RAID53 및 RAID100, 그러나 통합 표준이 없습니다. 현재 업계에서 인정되는 표준은 RAID0-RAID5입니다.그리고 RAID2를 제외한 네 레벨은 산업 표준으로 설정되었습니다.실제 응용 분야에서 가장 일반적으로 사용되는 RAID 레벨은 RAID0, RAID1, RAID3, RAID5, RAID6 및 RAID10입니다.
구현 관점에서 RAID는 주로 소프트웨어 RAID, 하드웨어 RAID 및 하이브리드 RAID로 세 가지로 나?? 다. 소프트웨어 RAID의 경우,모든 기능은 운영 체제와 CPU에 의해 완료됩니다, 그리고 독립적인 RAID 제어/처리 칩과 I/O 처리 칩이 없으므로 효율이 가장 낮습니다.하드웨어 RAID는 특수 RAID 제어/처리 칩과 I/O 처리 칩과 배열 버퍼가 장착되어 있습니다., CPU 자원을 차지하지 않지만 비용이 매우 높습니다. 하이브리드 RAID에는 RAID 제어 / 처리 칩이 있지만 I / O 처리 칩이 없습니다.그리고 그것의 성능과 비용은 소프트웨어 RAID와 하드웨어 RAID 사이에 있습니다.
각 RAID 레벨은 구현 방법과 기술을 나타냅니다.적절한 RAID 레벨과 특정 구현 방법은 사용자 데이터 애플리케이션의 특성에 따라 선택되어야 합니다., 그리고 사용 가능성, 성능 및 비용은 포괄적으로 고려되어야 합니다.
RAID (Redundant Array of Independent Disks) 는 일반적으로 디스크 배열로 줄여집니다. 간단히 말해서, RAID는 여러 독립적인 고성능 디스크 드라이브로 구성된 디스크 하위 시스템입니다.단일 디스크보다 더 높은 저장 성능과 데이터 리던스 기술. RAID는 호스트 환경에 비용 효율적이고 높은 데이터 신뢰성 및 고성능 스토리지를 제공하는 멀티 디스크 관리 기술입니다. SNIA의 RAID 정의는 다음과 같습니다.물리적 저장 공간의 일부가 나머지 공간에 저장된 사용자 데이터의 불필요한 정보를 기록하는 디스크 배열. 디스크 또는 액세스 경로가 실패할 때, 불필요한 정보는 사용자 데이터를 재구성하는 데 사용할 수 있습니다. 디스크 스트립링이 RAID의 정의에 맞지 않지만,일반적으로 RAID라고도 불립니다 (i즉, RAID0).
RAID의 본래의 목적은 대형 서버에 고급 저장 기능과 불필요한 데이터 보안을 제공하는 것이었습니다.RAID는 두 개 이상의 디스크로 구성된 저장 공간으로 간주됩니다.대부분의 RAID 레벨에는 데이터 검증 및 수정 조치가 있습니다.심지어 미러링 방법, 이는 시스템의 신뢰성을 크게 향상시킵니다. 여기서 "비용"이 나옵니다.
여기서 우리는 JBOD (Just a Bunch of Disks) 를 언급해야 합니다. 처음에는 JBOD는 조정된 제어 기능을 제공하기 위해 제어 소프트웨어가없는 디스크 컬렉션을 대표하는 데 사용되었습니다.RAID와 JBOD를 구별하는 주요 요소입니다.현재 JBOD는 RAID 기능을 제공했는지 여부에 관계없이 종종 디스크 장비를 가리킨다.
RAID의 두 가지 주요 목표는 데이터 신뢰성 및 I/O 성능을 향상시키는 것입니다. 디스크 배열에서는 데이터가 여러 디스크 사이에 흩어져 있지만 컴퓨터 시스템에서는하나의 디스크처럼 보입니다.부재는 동일한 데이터를 여러 디스크에 기록 (일반적으로 미러링) 또는 배열에 계산된 패리티 데이터를 기록함으로써 달성됩니다.단일 디스크가 고장 났을 때 데이터 손실이 발생하지 않도록일부 RAID 레벨은 RAID6와 같이 두 개의 디스크가 동시에 손상될 수 있는 동시에 더 많은 디스크가 실패할 수 있습니다.고장난 디스크가 새 디스크로 교체될 수 있습니다, 그리고 RAID는 데이터의 일관성 및 무결성을 보장하기 위해 나머지 디스크의 데이터와 패리티 데이터에 따라 손실 된 데이터를 자동으로 재구성합니다.데이터는 RAID에서 여러 다른 디스크에 흩어져 저장됩니다, 그리고 동시에 데이터 읽기 및 기록은 단일 디스크보다 훨씬 낫습니다, 그래서 더 높은 집계 I/O 대역폭을 얻을 수 있습니다. 물론,디스크 배열은 모든 디스크의 전체 사용 가능한 저장 공간을 줄일 것입니다예를 들어 RAID1의 저장 공간 사용량은 50%에 불과하며 RAID5은 하나의 디스크의 저장 용량을 잃게 됩니다.그리고 공간 사용량은 (n-1) /n입니다.
디스크 배열은 일부 디스크 (이용에 따라 단일 또는 복수) 가 손상되었을 때 중단없이 시스템의 지속적인 작동을 보장 할 수 있습니다.실패한 디스크의 데이터를 새로운 디스크로 재구성하는 과정에서, 시스템은 정상적으로 계속 작동 할 수 있지만 성능은 어느 정도 감소합니다. 일부 디스크 배열은 디스크를 추가하거나 삭제 할 때 종료해야합니다.어떤 사람들은 뜨거운 교환을 지원하는 동안이 고급 디스크 배열은 주로 신뢰성에 대한 높은 요구 사항이있는 응용 시스템에서 사용됩니다.시스템 종료가 불가능하거나 종료 시간은 가능한 한 짧아야 합니다.일반적으로 RAID는 데이터 백업을 대체할 수 없습니다. 바이러스, 인간 파괴, 실수 삭제 등 디스크 외의 오류로 인한 데이터 손실에 무력합니다.데이터 손실은 운영 체제와 관련이 있습니다., 파일 시스템, 볼륨 관리자 또는 응용 프로그램 시스템. RAID 시스템 자체에 대한 경우, 데이터는 손상되지 않고 손실이 발생하지 않습니다. 따라서 데이터 백업,재난 복구 및 기타 데이터 보호 조치가 매우 필요합니다., RAID를 보완하고 데이터 손실을 방지하기 위해 다양한 수준의 데이터 보안을 보호합니다.
RAID에는 세 가지 핵심 개념과 기술이 있습니다: 미러링, 데이터 스트립링 및 데이터 패리티. 미러링은 여러 디스크에 데이터를 복사합니다. 한편으로는 신뢰성을 향상시킬 수 있습니다.그리고 다른 한편으로는, 두 개 이상의 복사본에서 데이터를 동시에 읽을 수 있습니다 읽기 성능을 향상시키기 위해. 분명히 거울의 기록 성능은 약간 낮습니다,그리고 그것은 더 많은 시간이 걸립니다 데이터가 여러 디스크에 올바르게 기록되는지 확인하기 위해데이터 스트립링은 여러 개의 디스크에 데이터 슬라이스를 저장하고 여러 데이터 슬라이스는 함께 완전한 데이터 복사본을 형성합니다.미러링의 복사본과 다르며 일반적으로 성능 고려에 사용됩니다.. 데이터 스트립은 더 높은 동시 granularity를 가지고 있습니다. 데이터에 액세스 할 때, 동시에 다른 디스크에 데이터를 읽고 쓸 수 있습니다.따라서 매우 중요한 I/O 성능 향상을 얻습니다.데이터 패리티는 데이터 오류 탐지 및 수리를 위해 불필요한 데이터를 사용합니다. 불필요한 데이터는 일반적으로 해밍 코드 및 XOR 연산과 같은 알고리즘으로 계산됩니다.동위 함수를 사용하면 신뢰성을 크게 향상시킬 수 있습니다.그러나 데이터 패리티는 여러 장소에서 데이터를 읽고 계산과 비교를 수행해야하며 이는 시스템 성능에 영향을 미칩니다.다른 수준의 RAID는 다른 데이터 신뢰성을 얻기 위해 위의 세 가지 기술 중 하나 이상의 기술을 채택합니다.어떤 종류의 RAID (새로운 레벨 또는 유형) 를 설계하거나 어떤 RAID 모드를 채택해야하는지,시스템 요구 사항을 깊이 이해하고 신뢰성을 포괄적으로 평가하는 전제 아래 합리적인 선택을해야합니다., 성능과 비용에 대한 타협 선택
-
큰 용량: 이것은 RAID의 명백한 장점입니다. 그것은 디스크 용량을 확장하고, 여러 디스크로 구성된 RAID 시스템은 거대한 저장 공간을 가지고 있습니다. 이제 단일 디스크의 용량은 1TB 이상에 도달 할 수 있습니다.그래서 RAID의 저장 용량은 PB 수준에 도달 할 수 있습니다일반적으로 RAID의 사용 가능한 용량은 모든 멤버 디스크의 총 용량보다 작습니다.RAID 알고리즘의 다른 레벨은 특정 리던스 오버헤드를 요구합니다., 그리고 특정 용량 오버헤드는 채택 된 알고리즘과 관련이 있습니다. RAID 알고리즘과 용량이 알려져 있다면 RAID의 사용 가능한 용량을 계산 할 수 있습니다. 일반적으로,RAID의 용량 활용률은 50%에서 90%입니다..
-
높은 성능: RAID의 높은 성능은 데이터 스트립 기술에서 이익을 얻습니다. 단일 디스크의 I/O 성능은 인터페이스와 대역폭과 같은 컴퓨터 기술에 의해 제한됩니다.그리고 종종 시스템 성능의 병목입니다.데이터 스트리핑을 통해 RAID는 데이터 I/O를 각 멤버 디스크에 배포하여 단일 디스크보다 여러 배 더 높은 집계 I/O 성능을 얻습니다.
-
신뢰성: 가용성과 신뢰성은 RAID의 또 다른 중요한 특징입니다. 이론적으로 여러 디스크로 구성된 RAID 시스템의 신뢰성은 단일 디스크보다 더 나쁠 것입니다.여기에 암시적인 가정이 있습니다.: 단일 디스크 장애는 RAID 전체가 사용할 수 없게됩니다. RAID는 이 가정을 깨기 위해 미러링 및 데이터 패리티와 같은 데이터 리던스 기술들을 사용합니다.미러링은 가장 원시적인 리던스 기술입니다., 특정 디스크 드라이브 그룹에서 데이터를 다른 디스크 드라이브 그룹으로 완전히 복사하여 항상 데이터 복사본이 있는지 확인합니다.미러링의 50%의 부과 비용과 비교하면, 데이터 패리티는 훨씬 작고, 데이터를 확인하고 수정하기 위해 패리티 불필요한 정보를 사용합니다.RAID의 부재 기술은 데이터 가용성과 신뢰성을 크게 향상시킵니다., 여러 디스크가 고장 났을 때 데이터가 손실되지 않고 시스템의 지속적인 작동이 영향을 받지 않도록 보장합니다.
-
관리 가능성: 사실, RAID는 여러 물리적 디스크 드라이브를 대용량 논리적 드라이브로 가상화하는 가상화 기술입니다. 외부 호스트 시스템에서, RAID는 단일,빠르고 신뢰할 수 있는 대용량 디스크 드라이브이 방법으로, 사용자는 이 가상 드라이브에 응용 프로그램 시스템 데이터를 조직하고 저장할 수 있습니다. 사용자 응용 프로그램 관점에서, 그것은 저장 시스템을 간단하고 사용하기 쉽고 관리 할 수 있습니다.RAID가 내부적으로 많은 저장 관리 작업을 완료했기 때문에, 관리자는 하나의 가상 드라이브만 관리해야 합니다. 이는 많은 관리 작업을 절약할 수 있습니다.RAID는 동적으로 디스크 드라이브를 추가하거나 삭제하고 자동으로 데이터 검증 및 데이터 재구성을 수행 할 수 있습니다., 이는 관리 작업을 크게 단순화 할 수 있습니다.