18장. 중복 개별 디스크(RAID)
RAID의 기본 개념은 작고 저렴한 디스크 드라이브를 배열로 결합하여 하나의 크고 값 비싼 드라이브로 달성할 수 없는 성능 또는 중복 목표를 달성하는 것입니다. 이 드라이브 배열은 컴퓨터에 단일 논리 저장 장치 또는 드라이브로 나타납니다.
RAID를 사용하면 여러 디스크에 정보를 분산할 수 있습니다. RAID는 디스크 스트리핑 (RAID 레벨 0), 디스크 미러링 (RAID Level 1) 및 패리티(RAID Level 5)와 같은 디스크 스트리링을 사용하여 중복성, 대기 시간을 줄이고 대역폭을 늘리며 하드 디스크 충돌을 복구하는 기능을 최대화합니다.
RAID는 지속적으로 크기의 청크로 분할(일반적으로 256K 또는 512k)으로 분할하여 배열의 각 드라이브에 데이터를 배포합니다. 그런 다음 각 청크는 사용된 RAID 수준에 따라 RAID 배열의 하드 드라이브에 기록됩니다. 데이터를 읽을 때 프로세스가 반전되어 배열의 여러 드라이브가 실제로 하나의 큰 드라이브임을 나타냅니다.
시스템 관리자와 대량의 데이터를 관리하는 사용자는 RAID 기술을 사용하여 이점을 얻을 수 있습니다. RAID를 배포하는 주요 이유는 다음과 같습니다.
- 속도 향상
- 단일 가상 디스크를 사용하여 스토리지 용량 증가
- 디스크 장애로 인한 데이터 손실 최소화
18.1. RAID 유형
RAID 접근 방식은 펌웨어 RAID, 하드웨어 RAID 및 소프트웨어 RAID의 세 가지가 있습니다.
18.1.1. 펌웨어 RAID
펌웨어 RAID (AtarAID라고도 함)는 펌웨어 기반 메뉴를 사용하여 RAID 세트를 구성할 수 있는 소프트웨어 RAID 유형입니다. 이 유형의 RAID에서 사용하는 펌웨어도 BIOS로 후크하여 RAID 세트에서 부팅할 수 있습니다. 다른 공급 업체는 RAID 세트 멤버를 표시하기 위해 다른 디스크 메타데이터 형식을 사용합니다. Intel Matrix RAID는 펌웨어 RAID 시스템의 좋은 예입니다.
18.1.2. 하드웨어 RAID
하드웨어 기반 어레이는 호스트와 독립적으로 RAID 하위 시스템을 관리합니다. 호스트에 RAID 배열당 단일 디스크를 제공합니다.
하드웨어 RAID 장치는 시스템의 내부 또는 외부에 있을 수 있으며, 일반적으로 RAID 작업을 투명하게 처리하는 특수 컨트롤러 카드와 SCSI, 파이버 채널, iSCSI, InfiniBand 또는 기타 고속 네트워크 상호 연결 또는 논리 볼륨을 시스템에 연결하는 외부 장치로 구성된 내부 장치는 일반적으로 시스템에 논리 볼륨을 제공합니다.
RAID 컨트롤러 카드는 운영 체제에 대한 SCSI 컨트롤러와 같은 기능을 수행하며 실제 드라이브의 모든 통신을 처리합니다. 사용자는 드라이브를 RAID 컨트롤러에 연결한 다음(일반 SCSI 컨트롤러와 같이) RAID 컨트롤러 구성에 추가합니다. 운영 체제가 차이를 알 수 없습니다.
18.1.3. 소프트웨어 RAID
소프트웨어 RAID는 커널 디스크(블록 장치) 코드에서 다양한 RAID 레벨을 구현합니다. 비용이 많이 드는 디스크 컨트롤러 카드 또는 핫 스왑 섀시로 저렴한 솔루션을 제공합니다. [2] 필요하지 않습니다. 소프트웨어 RAID는 또한 SCSI 디스크뿐만 아니라 저렴한 IDE 디스크와 함께 작동합니다. 오늘날의 CPU가 빨라짐에 따라 소프트웨어 RAID도 일반적으로 하드웨어 RAID를 구현할 수 있습니다.
Linux 커널에는 RAID 솔루션이 완전히 하드웨어 독립적 인 멀티 디스크 (MD) 드라이버가 포함되어 있습니다. 소프트웨어 기반 배열의 성능은 서버 CPU 성능 및 로드에 따라 다릅니다.
Linux 소프트웨어 RAID 스택의 주요 기능:
- 다중 스레드 설계
- 재구성 없이 Linux 시스템 간 배열의 이식성
- 유휴 시스템 리소스를 사용한 백그라운드 배열 재구성
- Hot-swappable 드라이브 지원
- streaming SIMD 지원과 같은 특정 CPU 기능을 활용하기 위한 자동 CPU 탐지
- 배열의 디스크에서 잘못된 섹터 자동 수정
- 배열의 상태를 보장하기 위해 RAID 데이터의 정규 일관성 검사
- 중요한 이벤트에서 지정된 이메일 주소로 전송된 이메일 알림을 통해 배열의 사전 모니터링
- 커널이 전체 배열을 다시 동기화하지 않고 다시 동기화해야 하는 디스크 부분을 정확하게 파악할 수 있도록 하여 이벤트 재동기화 속도가 크게 증가했습니다.
- 다시 동기화 중 컴퓨터를 재부팅하는 경우 다시 동기화를 시작할 때 다시 동기화가 꺼지고 다시 시작되지 않도록 하기 위해 검사점을 다시 동기화합니다.Resyncing so that if you reboot your computer during a resync, at startup the resync will pick up where it left off and not start all over again
- 설치 후 배열의 매개 변수를 변경하는 기능. 예를 들어 추가할 새 디스크가 있는 경우 4 디스크 RAID5 배열을 5 디스크 RAID5 배열로 확장할 수 있습니다. 이 증가 작업은 라이브로 수행되며 새 배열을 다시 설치할 필요가 없습니다.