차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판이전 판다음 판 | 이전 판 | ||
tech:raid [2015/10/06 03:14] – V_L | tech:raid [2018/11/25 01:56] (현재) – [소프트웨어 RAID] V_L | ||
---|---|---|---|
줄 1: | 줄 1: | ||
- | ======RAID (redundant array of independent | + | {{tag> |
+ | ======RAID (redundant array of independent disks)====== | ||
RAID[레이드]는 중요한 데이터를 가지고 있는 서버에 주로 사용되며, | RAID[레이드]는 중요한 데이터를 가지고 있는 서버에 주로 사용되며, | ||
줄 5: | 줄 6: | ||
하나의 RAID는 운영체계에게 논리적으로는 하나의 하드디스크로 인식된다. RAID는 스트라이핑 기술을 채용하여 각 드라이브의 저장공간을 1 섹터(512 바이트)의 크기에서부터 수 MB에 이르는 공간까지 다양한 범위로 파티션할 수 있다. 모든 디스크의 스트라이프는 인터리브되어 있으며, 차례대로 어드레싱된다. | 하나의 RAID는 운영체계에게 논리적으로는 하나의 하드디스크로 인식된다. RAID는 스트라이핑 기술을 채용하여 각 드라이브의 저장공간을 1 섹터(512 바이트)의 크기에서부터 수 MB에 이르는 공간까지 다양한 범위로 파티션할 수 있다. 모든 디스크의 스트라이프는 인터리브되어 있으며, 차례대로 어드레싱된다. | ||
- | 의료 및 기타 과학분야의 사진 등 대형 레코드가 저장된 단일 사용자용 시스템에서, | + | 의료 및 기타 과학분야의 사진 등 대형 레코드가 저장된 단일 사용자용 시스템에서, |
다중 사용자시스템에서는 최대크기의 레코드를 넣을 수 있을 정도로 충분히 넓은 스트라이프를 확보함으로써 더 나은 성능을 발휘하게 되는데, 이는 드라이브간의 디스크 입출력을 중첩시켜준다. | 다중 사용자시스템에서는 최대크기의 레코드를 넣을 수 있을 정도로 충분히 넓은 스트라이프를 확보함으로써 더 나은 성능을 발휘하게 되는데, 이는 드라이브간의 디스크 입출력을 중첩시켜준다. | ||
줄 11: | 줄 12: | ||
RAID에는 중복되지 않는 어레이인 RAID-0를 제외하더라도, | RAID에는 중복되지 않는 어레이인 RAID-0를 제외하더라도, | ||
+ | [[https:// | ||
- | + | =====구현방식===== | |
- | * RAID-0 : 이 방식은 스트라이프를 가지고는 있지만 데이터를 중복해서 기록하지 않는다. 따라서, 가장 높은 성능을 기대할 수 있지만, 고장대비 능력이 전혀 없으므로 이 방식은 진정한 RAID라고 하기 | + | 소프트웨어 RAID 는 위의 RAID-0, RAID-1, RAID-4, RAID-5를 지원함. |
- | * RAID-1 : 이 형식은 흔히 디스크 미러링이라고도 하는데, 중복 저장된 데이터를 가진 적어도 두 개의 드라이브로 구성된다. 스트라이프는 없으며, 각 드라이브를 동시에 읽을 수 있으므로 읽기 성능은 향상된다. 쓰기 성능은 단일 디스크 드라이브의 경우와 정확히 같다. | + | |
- | * RAID-2 : 이 형식은 디스크들간에 스트라이프를 사용하며, 몇몇 디스크들은 에러를 감지하고 수정하는데 사용되는 ECC 정보가 저장되어 있다. 이 방식은 | + | |
- | * RAID-3 : 이 형식은 스트라이프를 사용하며, 패리티 정보를 저장하기 위해 별도의 드라이브 한 개를 쓴다. 내장된 ECC 정보가 에러를 감지하는데 사용된다. 데이터 복구는 다른 드라이브에 기록된 정보의 XOR를 계산하여 수행된다. 입출력 작업이 동시에 모든 드라이브에 대해 이루어지므로, | + | |
- | * RAID-4 | + | |
- | * RAID-5 : 이 형식은 회전식 패리티 어레이를 포함한다. 그러므로 RAID-4에서의 쓰기 제한을 주소 | + | |
- | * RAID-6 : 이 형식은 RAID-5와 비슷하지만, | + | |
- | * RAID-7 : 이 형식은 컨트롤러로서 내장되어 있는 실시간 운영체계를 사용하며, | + | |
- | * RAID-10 : 이 형식은 각 스트라이프는 RAID-1 드라이브 어레이인 스트라이프 어레이를 제공한다. 이 방식은 RAID-1보다 높은 성능을 제공하지만, | + | |
- | * RAID-53 : 이 형식은 각 스트라이프는 RAID-3 디스크 에레이인 스트라이프 어레이를 제공한다. 이 방식은 RAID-3보다 높은 성능을 제공하지만, | + | |
+ | 하드웨어 RAID 대 소프트웨어 RAID의 차이점은 다음과 같다. | ||
+ | =====하드웨어 RAID ===== | ||
+ | 하드웨어-기반 시스템은 호스트에서 RAID 하부 시스템을 독립적으로 관리하며, | ||
+ | RAID 컨트롤러는 카드 형식으로도 판매되며, | ||
+ | ====RAID-0==== | ||
+ | 이 방식은 스트라이프를 가지고는 있지만 데이터를 중복해서 기록하지 않는다. 따라서, 가장 높은 성능을 기대할 수 있지만, 고장대비 능력이 전혀 없다. | ||
+ | * 장점 : 매우 빠르다. 데이터는 여러 개의 " | ||
+ | * 단점 : 드라이브 하나가 고장 나면 이 RAID 레벨은 어떤 안전장치도 없기 때문에 천체 어레이가 고장 날 수 있고 디스크를 추가할 수록 위험이 증가한다. | ||
+ | ====RAID-1==== | ||
+ | 이 형식은 흔히 디스크 미러링이라고도 하는데, 중복 저장된 데이터를 가진 적어도 두 개의 드라이브로 구성된다. 스트라이프는 없으며, 각 드라이브를 동시에 읽을 수 있으므로 읽기 성능은 향상된다. 쓰기 성능은 단일 디스크 드라이브의 경우와 정확히 같다. RAID-1은 다중 사용자 시스템에서 최고의 성능과 최고의 고장대비 능력을 발휘한다. | ||
+ | * 장점 : 드라이브 하나가 고장 나면 똑같은 내용의 다른 드라이브가 하나 더 있기 때문에 매우 안전하다. RAID 1은 읽기 성능이 단일 드라이브에서의 성능과 같거나 훨씬 좋다. | ||
+ | * 단점 : 각 드라이브는 미러링되기 때문에 전체 용량의 절반밖에 사용하지 못한다. 드라이브 두 개에 동일한 데이터를 써야 하기 때문에 쓰기 성능이 나빠질 수 있지만 아직 다른 RAID 레벨의 쓰기 성능보다는 훨씬 낫다. | ||
+ | ====RAID-2==== | ||
+ | 이 형식은 디스크들간에 스트라이프를 사용하며, | ||
+ | 이 레벨은 더 이상 사용되지 않는다 | ||
+ | ====RAID-3==== | ||
+ | 이 형식은 스트라이프를 사용하며, | ||
- | * 출처: [[http:// | + | * 최소 드라이브 개수 |
+ | * 최대 용량 | ||
+ | * 설명 : 데이터는 바이트 단위로 쪼개져서 모든 디스크에 균등하게 나뉘어 저장되고 패리티 정보는 별도의 전용 디스크에 저장된다. | ||
- | ^ 누구나 수정하실 수 있습니다. 문법은 | + | * 장점 : 한 개의 드라이브가 고장 나는 것을 허용하며 순차적 쓰기(sequential write) 성능과 순차적 읽기(sequential read) 성능이 우수하다. |
+ | * 단점 : 잘 사용되지 않고 문제를 해결하는 것이 어려울 수 있다. 하드웨어 RAID가 되어야 실제로 쓸만하다. RAID 3은 보통 매우 효율적이지만 임의 쓰기(random write) 성능이 | ||
+ | |||
+ | ====RAID-4==== | ||
+ | 이 형식은 대형 스트라이프를 사용하며, | ||
+ | |||
+ | * 최소 드라이브 개수 : 3 | ||
+ | * 최대 용량 : (디스크의 수 - 1) x 디스크의 용량 | ||
+ | * 설명 : 모든 파일은 블럭으로 쪼개지고 각 블럭은 여러 디스크에 저장되지만 균등하진 않다. RAID 3처럼 RAID 4도 패리티를 처리하기 위해 별도의 디스크를 사용한다. 동시 트랜잭션 사용량이 많은 시스템에서 읽기 속도는 매우 중요한데 이런 시스템에 적합하다. | ||
+ | * 장점 : 드라이브 하나가 고장 나는 것을 허용하고 읽기 성능이 매우 좋다. | ||
+ | * 단점 : 쓰기 성능이 나쁘지만 블럭 읽기(block read) 성능은 괜찮다. | ||
+ | |||
+ | ====RAID-5==== | ||
+ | |||
+ | RAID5 방식은 RAID0와 RAID1 방식의 장점들을 갖도록 하는 방식이다. 즉, RAID0는 속도가 높고 공간 효율성이 높으나 안정성을 보장하지 못한 반면, RAID1은 안정성을 보장하는 장점이 있다. 이들 두 방식의 장점들을 포용한 것이 RAID5 방식이다. | ||
+ | |||
+ | RAID5 방식은 최소 3개 이상의 하드디스크가 있어야 하며 일반적으로 5개 이상의 하드디스크로 구성된다. 하드디스크 오류가 발생할 경우에는 Parity를 이용하여 데이터를 복구할 | ||
+ | |||
+ | 이 형식은 회전식 패리티 어레이를 포함한다. 그러므로 RAID-4에서의 쓰기 제한을 주소 지정한다. 그러므로 모든 읽기/ | ||
+ | |||
+ | * 최소 드라이브 개수 : 3 | ||
+ | * 최대 용량 : (디스크의 수 - 1) x 디스크의 용량 | ||
+ | * 설명 : RAID 4처럼 데이터의 블럭은 모든 디스크에 나뉘어 저장되지만 항상 균등하진 않고 패리티 정보도 모든 디스크에 나뉘어 저장된다. | ||
+ | * 장점 : 지원하는 회사가 많고 한 개의 드라이브가 고장 나는 것을 허용한다. | ||
+ | * 단점 : 디스크 재구성(rebuild)이 매우 느리고 쓰기 성능은 패리티 정보를 끊임없이 갱신해야 하기 때문에 우수하다고 할 수는 없다. | ||
+ | |||
+ | ====RAID-6==== | ||
+ | |||
+ | |||
+ | RAID5 방식은 하나의 디스크가 고장나도 복구가 가능하다. 하지만 두 개의 디스크가 동시에 고장난 경우에는 복구할 수가 없다. RAID6 방식은 RAID5를 개선한 방법으로 2개의 디스크가 동시에 고장나도 데이터에는 이상이 없도록 하는 방식이다. RAID6 방식은 2개의 Parity를 사용함으로써 RAID5의 단점을 보완하고 있다. 그러나 RAID5에 비해 공간 효율은 떨어진다. | ||
+ | |||
+ | 이 형식은 RAID-5와 비슷하지만, | ||
+ | |||
+ | * 최소 드라이브 개수 | ||
+ | * 최대 용량 : (디스크의 수 - 2) x 디스크의 용량 | ||
+ | * 설명 : RAID 4처럼 데이터의 블럭은 모든 디스크에 나뉘어 저장되지만 항상 균등하진 않고 패리티 정보도 모든 디스크에 나뉘어 저장된다. | ||
+ | |||
+ | * 장점 : 두 개의 드라이브까지 고장 나는 것을 허용하고 읽기 성능이 우수하고 매우 중요한 경우에 적합하다. | ||
+ | * 단점 : 쓰기 성능은 패리티를 여러 번 갱신해야 하기 때문에 RAID 5보다 매우 나쁘다. 디스크를 재구성하는 동안에 성능이 매우 나빠질 수 있다 | ||
+ | |||
+ | ====RAID-7==== | ||
+ | 이 형식은 컨트롤러로서 내장되어 있는 실시간 운영체계를 사용하며, | ||
+ | ====RAID-10==== | ||
+ | |||
+ | |||
+ | | ||
+ | |||
+ | |||
+ | |||
+ | 이 형식은 각 스트라이프는 RAID-1 드라이브 어레이인 스트라이프 어레이를 제공한다. 이 방식은 RAID-1보다 높은 성능을 제공하지만, | ||
+ | ====RAID-53==== | ||
+ | 이 형식은 각 스트라이프는 RAID-3 디스크 에레이인 스트라이프 어레이를 제공한다. 이 방식은 RAID-3보다 높은 성능을 제공하지만, | ||
+ | |||
+ | |||
+ | |||
+ | =====소프트웨어 RAID ===== | ||
+ | |||
+ | 소프트웨어 RAID는 커널 디스크 (블록 장치) 코드로 다양한 RAID 레벨을 실현함. 소프트웨어 RAID는 비싼 디스크 컨트롤러 카드나 핫-스왑 새시 (hot-swap chassis)를 사용하지 않기 때문에 가장 저렴한 솔루션을 제공함. 최신 CPU의 성능이 점점 빨라지면서, | ||
+ | |||
+ | Linux 커널에 있는 MD 드라이버는 완전히 하드웨어 독립적인 RAID 솔루션의 한 예이다. 소프트웨어 기반 어레이의 성능은 서버 CPU의 성능과 로드에 의해 좌우된다. | ||
+ | |||
+ | 소프트웨어 RAID의 기능 : | ||
+ | * 스레드 재설정 프로세스 | ||
+ | * 커널 기반 설정 | ||
+ | * Linux 시스템 간에 어레이를 재설정할 필요가 없이 이동할 수 있는 기능 | ||
+ | * 유휴 시스템 자원을 사용한 백그라운드 어레이 재생 | ||
+ | * 즉시 백업 가능한 (Hot-swappable) 드라이브 지원 | ||
+ | * 특정 CPU 최적화를 위한 자동 CPU 감지 기능 | ||
+ | |||
+ | |||
+ | * 출처: [[http:// | ||
+ | |||
- | {{tag> | ||