RAID란 한개의 크고 비싼 드라이브로는 얻을 수 없는 성능이나 안정성을 이루기 위하여 여러 개의 작고, 값싼 디스크 드라이브를 묶어 하나의 저장 장치처럼 사용하는 기술을 말합니다. 여러 개의 물리적인 하드 디스크를 운영체제에서 하나의 논리 디스크로 인식하게 됩니다.

RAID는 디스크 스트라이핑 (striping) (RAID 레벨 0), 디스크 미러링 (mirroring) (RAID 레벨 1), 패리티 추가 디스크 스트라이핑 (RAID 레벨 5)과 같은 기술을 사용하여 정보를 여러 개의 하드 드라이브로 나눠 쓰고 읽어 들이는 방식입니다. 따라서 하나의 하드 디스크만 사용할 때보다 훨씬 빠른 입출력 속도를 가지게 되며 하드 디스크가 고장이 났을 경우에도 손쉽게 복구할 수 있습니다.

RAID의 기본 개념은 동일한 방식으로 하드 디스크 여러 대를 병렬 방식으로 구성하는 것입니다. 이렇게 하기 위해서는 데이터를 일정한 크기 (여러 다른 크기가 사용되지만, 일반적으로 32K 또는 64K)의 조각으로 나누어야 합니다. 각각의 조각은 사용된 RAID 레벨에 따라서 RAID에서 여러 개의 하드 디스크로 나누어서 기록됩니다. 데이터를 읽을 때는 여러 하드 디스크에 분산된 데이터를 마치 한개의 큰 하드 디스크에서 읽어오는 것처럼 동시에 읽어오게 됩니다.


RAID
에는 중복되지 않는 어레이인 RAID-0를 제외하더라도, 9가지 형태가 더 있습니다.

RAID-0 : 이 방식은 데이터를 중복해서 기록하지 않습니다. 따라서, 가장 높은 성능을 기대할 수 있지만, 고장대비 능력이 전혀 없으므로 이 방식은 진정한 RAID라고 하기 어렵습니다.

RAID-1 : 이 형식은 흔히 디스크 미러링이라고도 하는데, 중복 저장된 데이터를 가진 적어도 두 개의 드라이브로 구성됩니다. 각 드라이브를 동시에 읽을 수 있으므로 읽기 성능은 향상됩니다. 쓰기 성능은 단일 디스크 드라이브와 같습니다.

RAID-2 : 이 형식은 디스크들간에 스트라이프를 사용하며, 몇몇 디스크들은 에러를 감지하고 수정하는데 사용되는 ECC 정보가 저장되어 있습니다. 이 방식은 RAID-3에 비해 장점이 없는 것으로 알려져 있습니다.

RAID-3 : 이 형식은 스트라이프를 사용하며, 패리티 정보를 저장하기 위해 별도의 드라이브 한 개를 씁니다. 입출력 작업이 동시에 모든 드라이브에 대해 이루어지므로, RAID-3은 입출력을 겹치게 할 수 없습니다. 이런 이유로 RAID-3는 대형 레코드가 많이 사용되는 업무에서 단일 사용자시스템에 적합합니다.

RAID-4 : 이 형식은 대형 스트라이프를 사용하며, 이는 사용자가 어떤 단일 드라이브로부터라도 레코드를 읽을 수 있다는 것을 의미합니다. 이것은 데이터를 읽을 때 중첩 입출력의 장점을 취할 수 있도록 합니다. 모든 쓰기 작업은 패리티 드라이브를 갱신해야하므로, 입출력의 중첩은 불가능합니다. RAID-4는 RAID-5에 비해 장점이 없는 것으로 알려져 있습니다.

RAID-5 : 이 형식은 회전식 패리티 어레이를 포함한다. 그러므로 RAID-4에서의 쓰기 제한을 주소 지정합니다. 그러므로 모든 읽기/쓰기 동작은 중첩될 수 있습니다. RAID-5는 패리티 정보를 저장하지만 데이터를 중복저장하지는 않습니다 (그러나 패리티 정보는 데이터를 재구성하는데 사용될 수 있습니다). RAID-5는 보통 3 ~ 5개의 디스크를 어레이로 요구합니다. RAID-5는 성능이 그리 중요하지 않고 쓰기 작업이 많지 않은 다중 사용자시스템에 적합합니다.

RAID-6 : 이 형식은 RAID-5와 비슷하지만, 다른 드라이브들 간에 분포되어 있는 2차 패리티 구성을 포함함으로써 매우 높은 고장대비 능력을 제공합니다.

RAID-7 : 이 형식은 컨트롤러로서 내장되어 있는 실시간 운영체계를 사용하며, 속도가 빠른 버스를 통한 캐시, 독자적인 컴퓨터의 여러 가지 특성들을 포함하고 있습니다.

RAID-10 : 이 형식은 각 스트라이프는 RAID-1 드라이브 어레이인 스트라이프 어레이를 제공합니다. 이 방식은 RAID-1보다 높은 성능을 제공합니다.

RAID-53 : 이 형식은 각 스트라이프는 RAID-3 디스크 에레이인 스트라이프 어레이를 제공합니다. 이 방식은 RAID-3보다 높은 성능을 제공합니다.


질문 하신 소프트웨어 RAID의 경우 위의 RAID-0, RAID-1, RAID-4, RAID-5를 지원합니다.

하드웨어 RAID 대 소프트웨어 RAID의 차이점은 다음과 같습니다.

하드웨어 RAID : 하드웨어-기반 시스템은 호스트에서 RAID 하부 시스템을 독립적으로 관리하며, 호스트에는 RAID 어레이를 하나의 디스크로 나타냅니다.
하드웨어 RAID 장치의 한 예로서 SCSI 제어 장치에 연결되어 RAID 어레이를 단독 SCSI 드라이브처럼 나타내는 장치가 있습니다. 외부 RAID 시스템은 데이터를 저장하는 모든 RAID를 외부 디스크 하부 시스템에 위치한 한개의 컨트롤러로 이동시킵니다. 따라서 일반 SCSI 컨트롤러를 통해 호스트로 연결된 전체 하부 시스템은 호스트에서 하나의 디스크로 보여집니다.
RAID
컨트롤러는 카드 형식으로도 판매되며, 이 카드는 운영 체제에서는 SCSI 컨트롤러처럼 작동하지만 실제로는 스스로 모든 드라이브 통신을 처리합니다. 이러한 카드를 구입하신 경우, 여러분은 SCSI 컨트롤러와 마찬가지로 드라이브를 RAID 컨트롤러에 꽂으신 후 드라이브를 RAID 컨트롤러의 설정에 추가시키면, 운영 체제는 그 차이를 절대로 인식하지 못합니다.

소프트웨어 RAID : 소프트웨어 RAID는 커널 디스크 (블록 장치) 코드로 다양한 RAID 레벨을 실현합니다. 소프트웨어 RAID는 비싼 디스크 컨트롤러 카드나 핫-스왑 새시 (hot-swap chassis)[1]를 사용하지 않기 때문에 가장 저렴한 솔루션을 제공합니다. 최신 CPU의 성능이 점점 빨라지면서, 소프트웨어 RAID의 성능이 하드웨어 RAID의 성능을 능가하게 되었습니다.
Linux
커널에 있는 MD 드라이버는 완전히 하드웨어 독립적인 RAID 솔루션의 한 예입니다. 소프트웨어 기반 어레이의 성능은 서버 CPU의 성능과 로드에 의해 좌우됩니다.

소프트웨어 RAID의 기능 :
스레드 재설정 프로세스
커널 기반 설정
Linux
시스템 간에 어레이를 재설정할 필요가 없이 이동할 수 있는 기능
유휴 시스템 자원을 사용한 백그라운드 어레이 재생
즉시 백업 가능한 (Hot-swappable) 드라이브 지원
특정 CPU 최적화를 위한 자동 CPU 감지 기능

이상입니다.