|
1.RAID 개요
1988년 버클리 캘리포니아 대학교에서 RAID(RedundantArrayofInexpensiveDisks 저렴한 중복 디스크 어레이)의 개념을 제안했으며, 디스크 비용이 지속적으로 감소함에 따라 RAID는 (독립 디스크의 중복 어레이 독립 디스크)가 되었지만 그 본질은 변하지 않았습니다. SNIA, 버클리 및 기타 조직은 RAID0~RAID6의 7가지 레벨을 표준 RAID 레벨로 설정했으며, 표준 RAID를 결합하여 다른 RAID 레벨을 구성할 수 있지만 실제로 가장 일반적으로 사용되는 레벨은 RAID0, RAID1, RAID3, RAID5, RAID6 및 RAID10.RAID입니다. 각 레벨은 구현 방법과 기술을 나타내며 레벨 간에는 차이가 없습니다. 실제 애플리케이션에서 사용자는 가용성, 성능 및 비용을 고려하여 데이터 애플리케이션의 특성에 따라 적절한 RAID 수준과 구체적인 구현 방법을 선택해야 합니다.
구현 관점에서 RAID는 주로 소프트 RAID, 하드 RAID, 소프트 및 하드 하이브리드 RAID 3으로 나뉩니다. 소프트 RAID는 운영 체제와 CPU가 모든 기능을 수행하므로 당연히 효율성이 가장 낮습니다. 하드 RAID는 특수 RAID 제어/처리 칩과 I/O 처리 칩 및 어레이 버퍼가 장착되어 있으며 CPU 리소스를 차지하지 않지만 비용이 매우 높습니다. 소프트 및 하드 하이브리드 RAID는 RAID 제어/처리 칩이 장착되어 있지만 I/O 처리 칩이 부족하여 CPU와 드라이버가 필요하며 성능과 비용은 소프트 RAID와 하드 RAID 사이에 있습니다.
2. 기본 원리
RAID는 단일 디스크보다 높은 스토리지 성능과 데이터 이중화를 제공하기 위해 여러 개의 독립적인 고성능 디스크 드라이브로 구성된 디스크 하위 시스템으로, 호스트 환경에 적당한 비용과 높은 데이터 안정성으로 고성능 스토리지를 제공하는 일종의 다중 디스크 관리 기술이며, RAID의 두 가지 주요 목표는 데이터 안정성과 I/O 성능을 개선하는 것입니다. 디스크 어레이에서 데이터는 여러 디스크에 분산되어 있지만 컴퓨터 시스템에서는 하나의 디스크처럼 작동합니다. 중복성은 동일한 데이터를 여러 디스크에 동시에 쓰거나(일반적으로 미러링 등) 계산된 체크섬 데이터를 어레이에 쓰면 얻을 수 있으며, 이를 통해 단일 디스크에 장애가 발생해도 데이터 손실이 발생하지 않도록 보장할 수 있습니다.
RAID에는 미러링(미러링), 데이터 스트라이핑(데이터 스트라이핑), 데이터 검증(데이터 패리티)이라는 세 가지 주요 개념과 기술이 있습니다:
한편으로는 여러 디스크에 데이터를 복사하는 미러링을 통해 안정성을 향상시킬 수 있고, 다른 한편으로는 두 개 이상의 복사본에서 동시에 데이터를 읽어 읽기 성능을 향상시킬 수 있습니다. 물론 미러링의 쓰기 성능은 약간 떨어지며, 데이터가 여러 디스크에 올바르게 쓰여지도록 하려면 더 많은 시간이 소요됩니다. 데이터 슬라이스를 여러 개의 다른 디스크에 저장하고 여러 개의 데이터 슬라이스가 함께 데이터의 전체 복사본을 구성하는 데이터 스트라이핑은 여러 복사본을 미러링하는 것과는 다르며 성능 고려를 위해 자주 사용됩니다. 데이터 스트라이핑은 동시성 세분성이 더 높으며, 서로 다른 디스크에 있는 데이터에 대해 읽기 및 쓰기 작업을 동시에 수행하여 데이터에 액세스할 때 매우 큰 I/O 성능 향상을 가져올 수 있습니다. 데이터 유효성 검사, 중복 데이터를 사용한 데이터 오류 감지 및 복구는 일반적으로 헤밍 코드 및 헤테로세스틱 연산과 같은 알고리즘을 사용하여 계산됩니다. 체크섬 기능을 사용하면 디스크 어레이의 신뢰성, 견고성, 내결함성을 크게 향상시킬 수 있습니다. 그러나 데이터 체크섬을 사용하려면 여러 위치에서 데이터를 읽고 계산 및 비교를 수행해야 하므로 시스템 성능에 영향을 줄 수 있습니다. RAID 수준마다 세 가지 기술 중 하나 이상을 사용하여 서로 다른 데이터 안정성, 가용성 및 I/O 성능을 얻을 수 있습니다. 어떤 종류의 RAID를 설계할지(또는 새로운 레벨 또는 유형을 설계할지) 또는 어떤 RAID 모드를 사용할지에 대해서는 시스템 요구 사항에 대한 심층적인 이해를 바탕으로 합리적인 선택을 하고 안정성, 성능 및 비용을 종합적으로 평가하여 절충적인 선택을 할 필요가 있습니다.
전반적으로 RAID의 주요 장점은 고용량, 고성능, 안정성, 관리 용이성입니다.
3.RAID 레벨
JBOD(JustaBunchOfDisks)는 표준 RAID 레벨이 아니며, 일반적으로 제어 소프트웨어가 없는 디스크 모음을 나타내는 데 사용되어 조정된 제어를 제공하며, JBOD는 거대한 논리 디스크를 제공하기 위해 여러 개의 물리적 디스크가 직렬로 연결됩니다. 스토리지 성능은 단일 디스크의 성능과 정확히 동일하며 데이터 보안 보호 기능이 제공되지 않습니다. 사용 가능한 스토리지 용량은 모든 구성원 디스크의 스토리지 공간의 합계와 같습니다.
RAID 0은 스트라이핑이라고 하며 데이터 체크섬이 없는 단순한 데이터 스트라이핑 기술입니다. 성능은 모든 RAID 수준 중 가장 높습니다. 어떤 형태의 중복성 전략도 제공하지 않으며 스토리지 공간의 100%를 활용합니다.
RAID 1은 미러링이라고 하며, 동일한 방식으로 작업 디스크와 미러링된 디스크에 데이터를 개별적으로 기록합니다. 디스크 공간의 50%를 사용합니다. 데이터를 쓸 때는 성능에 영향을 미치지만 데이터를 읽을 때는 영향을 미치지 않습니다. 작업 디스크에 장애가 발생할 경우 사용자의 작업에 영향을 주지 않고 시스템이 자동으로 미러 디스크에서 데이터를 읽어오기 때문에 최상의 데이터 보호 기능을 제공합니다.
RAID2는 헤밍 코드 어레이라고 하며, 헤밍 코드를 사용하여 데이터 체크섬 중복성을 달성하는 것이 설계 아이디어입니다. 데이터 폭이 클수록 저장 공간 사용률이 높아지지만 동시에 필요한 디스크 수도 많아집니다. 자체적인 오류 수정 기능이 있지만 헤밍 코드의 데이터 중복성 오버헤드가 너무 크고 데이터 재구성에 시간이 많이 걸리기 때문에 실제로 RAID2는 거의 사용되지 않습니다.
RAID3는 전용 패리티 스트라이프라고 하며, 전용 디스크를 패리티 디스크로 사용하고 나머지 디스크를 데이터 디스크로 사용하며 데이터를 여러 데이터 디스크에 비트 단위로 교차 저장합니다.RAID3에는 최소 3개의 디스크가 필요합니다.
RAID4는 RAID3와 거의 동일한 원리입니다. 읽기 성능은 매우 우수하지만 쓰기 성능은 떨어집니다. 그리고 멤버 디스크의 수가 증가함에 따라 체크 디스크의 시스템 병목 현상이 더욱 두드러집니다. 실제 애플리케이션에서는 거의 사용되지 않으며, 주류 스토리지 제품에서는 RAID4 보호 기능을 거의 사용하지 않습니다.
RAID5는 분산 패리티 스트라이프라고 하며, 현재 가장 일반적인 RAID 레벨입니다. 원리는 RAID4와 비슷하지만 RAID4에서 동시 쓰기 작업 중 체크섬 디스크 성능 병목 문제가 없습니다.
RAID6는 더블 패리티 스트라이프라고 불리며, 다른 RAID 레벨로는 해결할 수 없는 두 개의 디스크가 동시에 장애가 발생하는 데이터 무결성 문제를 해결하기 위해 더블 패리티 개념을 도입했습니다. 그러나 RAID5보다 비용이 훨씬 높고 쓰기 성능도 떨어지며 설계 및 구현이 매우 복잡합니다. 따라서 RAID6는 실제로는 거의 사용되지 않으며 일반적으로 RAID10 솔루션의 경제적인 대안입니다.
표준 RAID 레벨에는 각각의 장단점이 있습니다. 여러 RAID 레벨을 결합하여 상호 보완적인 이점을 얻고 서로의 단점을 보완하여 RAID 시스템의 성능, 데이터 보안 및 기타 지표를 향상시킬 수 있습니다. 물론 RAID 레벨을 결합하는 데 드는 비용은 일반적으로 매우 비싸며 일부 특정 애플리케이션에서만 사용됩니다. RAID01과 RAID10만 널리 사용됩니다.
RAID01은 스트라이핑 후 미러링으로 기본적으로 물리적 디스크를 미러링하는 반면, RAID10은 미러링 후 스트라이핑으로 가상 디스크를 미러링합니다. 동일한 구성에서 RAID01은 일반적으로 RAID10보다 내결함성이 더 우수합니다. RAID01은 RAID0과 RAID1의 장점을 결합한 것으로 전체 디스크 사용률은 50%에 불과합니다.
4. 주요 RAID 레벨 비교
RAID 구성
레벨/설명 | 내결함성 | 장점 | 단점 |
RAID 0은 드라이브 간에 데이터를 매핑하여 대규모 가상 디스크를 만듭니다. 각 물리적 디스크는 요청의 일부만 처리하므로 더 높은 성능을 제공할 수 있습니다. 하지만 한 드라이브에 장애가 발생하면 가상 디스크(VD)에 액세스할 수 없게 되고 데이터가 영구적으로 손실됩니다.
| 아니요 | 더 나은 성능 추가 스토리지 | 중요한 데이터에 사용하지 않음 |
RAID 1은 데이터를 미러링하여 두 개의 드라이브에 중복 저장합니다. 하나의 디스크에 장애가 발생하면 다른 디스크가 기본 드라이브로 작동합니다.
| 디스크 오류 단일 디스크 장애 | 높은 읽기 성능 드라이브 장애 후 빠른 복구 데이터 중복성 | 높은 디스크 오버헤드 제한된 용량 |
RAID 5는 드라이브 간에 데이터를 매핑하고 각 데이터 스트라이프의 패리티 비트를 VD의 다른 드라이브에 저장합니다. 패리티 비트에는 하나의 디스크에 장애가 발생할 경우 다른 디스크에서 장애 디스크의 데이터를 재구성하는 데 사용할 수 있는 정보가 포함되어 있습니다.
| 디스크 오류 개별 디스크 오류 | 드라이브 용량의 효율적인 사용 높은 읽기 성능 중간 정도의 높은 쓰기 성능 | 중간 정도의 디스크 장애 영향 패리티 재계산으로 인한 재구축 시간 연장 |
RAID 6는 드라이브 간에 데이터를 매핑하고 각 데이터 스트라이프에 대한 패리티 비트를 VD의 다른 드라이브에 저장합니다. RAID 5와 달리 RAID 6는 두 번의 패리티 계산(P 및 Q)을 수행하므로 듀얼 디스크 장애에 대한 복원력이 뛰어납니다.
| 데이터 중복성 높은 읽기 성능 | 디스크 오류 듀얼 디스크 장애 | 두 번의 패리티 계산으로 인한 쓰기 성능 저하 패리티를 위해 2개의 디스크가 사용되므로 추가 비용 발생 |
미러링된 세트의RAID 10 스트라이핑. 디스크 오버헤드는 높지만 고성능, 중복성, 드라이브 장애 시 빠른 복구가 필요한 경우 탁월한 솔루션입니다.
| 디스크 오류 미러 세트당 하나의 디스크 장애 | 높은 읽기 성능 최대 192개의 드라이브로 RAID 세트 지원 | 가장 저렴한 비용 | RAID 50 RAID 5 세트의 스트라이핑. 구성에 따라 패리티 계산당 디스크 읽기 횟수를 줄임으로써 RAID 5 성능을 향상시킬 수 있습니다.
| 디스크 오류 스팬당 디스크 오류 1개 | 높은 읽기 성능 중간에서 높은 쓰기 성능 최대 192개의 드라이브로 RAID 그룹 지원 | 중간 정도의 디스크 장애 영향 패리티 재계산으로 인한 재구축 시간 연장 |
RAID 6 세트에서 RAID 60 스트라이핑. RAID 6에서는 구성에 따라 패리티 계산당 디스크 읽기 횟수를 줄임으로써 성능을 향상시킬 수 있습니다.
| 디스크 오류 스팬당 두 번의 디스크 장애 | 높은 읽기 성능 최대 192개의 드라이브로 RAID 그룹 지원 | 이중 패리티 계산으로 인한 쓰기 성능 저하 패리티에 사용되는 디스크 2개로 인한 추가 비용 발생 |
5. RAID 하드웨어 및 소프트웨어 차이점
소프트 RAID
소프트 RAID에는 전용 컨트롤러 칩이나 I/O 칩이 없으며, RAID 기능을 구현하는 것은 전적으로 운영 체제와 CPU에 달려 있습니다. 최신 운영 체제는 기본적으로 디스크 장치 드라이버에 소프트웨어 계층을 추가하여 물리적 드라이브와 논리적 드라이브 사이에 추상화 계층을 제공함으로써 소프트 RAID를 지원합니다. 현재 운영 체제에서 지원하는 가장 일반적인 RAID 레벨은 RAID0, RAID1, RAID10, RAID01 및 RAID5입니다. 예를 들어 Windows Server는 RAID0, RAID1, RAID5를 지원하고, Linux는 RAID0, RAID1, RAID4, RAID5, RAID6 등을 지원하며, Mac OS X Server, FreeBSD, NetBSD, OpenBSD, Solaris 등과 같은 운영 체제에서도 해당 RAID 레벨을 지원합니다. Mac OS X Server, FreeBSD, NetBSD, OpenBSD, Solaris 등과 같은 운영 체제에서도 해당 RAID 레벨을 지원합니다.
소프트 RAID의 구성 관리 및 데이터 복구는 비교적 간단하지만 패리티 값 계산 등 모든 RAID 작업의 처리가 CPU에서 전적으로 이루어지기 때문에 실행 효율이 상대적으로 낮고, 많은 컴퓨팅 자원이 필요하며 지원되는 RAID 모드가 적어 널리 사용되기 어려운 방식입니다.
소프트 RAID는 운영 체제에 의해 구현되므로 시스템이 위치한 파티션을 RAID의 논리 구성원 디스크로 사용할 수 없으며, 소프트 RAID는 시스템 디스크 D를 보호할 수 없으므로 일부 운영 체제의 경우 RAID는 좋은 선택이 아닙니다. 일부 운영 체제의 경우 RAID의 구성 정보가 디스크의 별도 파일이 아닌 시스템 정보에 저장됩니다. 따라서 시스템이 예기치 않게 충돌하여 다시 설치해야 하는 경우 RAID 정보가 손실됩니다. 또한 디스크의 내결함성 기술은 온라인 교체, 핫 스왑 또는 핫 스왑에 대한 완전한 지원과 동일하지 않으며, 오류 디스크의 핫 스왑을 지원하는 기능은 운영 체제 구현과 관련이 있으며 일부 운영 체제에서는 핫 스왑을 지원합니다.
하드 RAID
하드 RAID는 자체 RAID 제어 처리 및 I/O 처리 칩과 어레이 버퍼까지 갖추고 있으며, CPU 점유율과 전체 성능은 세 가지 구현 유형 중 가장 우수하지만 구현 비용도 가장 높습니다. 하드 RAID는 일반적으로 시스템이 실행되는 동안 장애가 발생한 디스크를 교체하는 핫스왑 기술을 지원합니다.
하드 RAID는 RAID 카드와 마더보드에 통합된 RAID 칩으로 구성되며, 서버 플랫폼은 대부분 RAID 카드를 사용합니다. RAID 카드는 RAID 코어 프로세서 칩(RAID 카드의 CPU), 포트, 캐시 및 배터리의 네 부분으로 구성됩니다. 포트는 IDE/ATA, SCSI, SATA, SAS, FC 및 기타 인터페이스와 같이 RAID 카드에서 지원하는 디스크 인터페이스 유형을 나타냅니다.
혼합 하드 및 소프트 RAID
소프트 RAID는 성능이 떨어지고 시스템 파티션을 보호하지 않으므로 데스크톱 시스템에서 사용하기 어렵습니다. 하드 RAID는 비용이 매우 비싸고 서로 다른 RAID는 서로 독립적이며 상호 운용이 불가능합니다. 따라서 성능과 비용의 절충점, 즉 더 나은 가성비를 달성하기 위해 소프트웨어와 하드웨어를 조합하여 RAID를 구현하는 데 사용되었습니다.
이러한 종류의 RAID는 처리 제어 칩을 사용하지만 비용을 절감하기 위해 칩이 상대적으로 저렴하고 처리 능력이 약한 경우가 많지만 RAID 작업 처리는 여전히 대부분 펌웨어 드라이버를 통해 CPU에서 수행합니다.
6. RAID 애플리케이션 선택
RAID 레벨을 선택하는 데는 데이터 가용성, I/O 성능, 비용의 세 가지 주요 요소가 있습니다. 가용성이 필요하지 않은 경우 고성능을 위해 RAID 0을 선택합니다. 가용성과 성능이 중요하고 비용이 주요 요인이 아닌 경우 디스크 수에 따라 RAID1을 선택합니다. 가용성, 비용 및 성능이 똑같이 중요한 경우 일반적인 데이터 전송 및 디스크 수에 따라 RAID3 또는 RAID5를 선택합니다. 실제로는 사용자의 데이터 애플리케이션의 특성과 특정 상황에 따라 가용성, 성능 및 비용을 종합적으로 고려하여 적절한 RAID 레벨을 선택해야 합니다. RAID 레벨. |
이전: Linux 환경 정기 백업 원격 MySQL 데이터베이스다음다음:도커 MySQL 너무 많은 연결 문제 해결
|