RAID의 기본 개념
RAID(Redundant Array of Independent Disks)는 여러 개의 물리 디스크를 하나의 논리적 장치로 묶어 데이터 안정성이나 성능을 향상시키는 기술이다. 서버 환경에서 디스크 한 대가 고장 나면 그 위에 저장된 데이터는 전부 소실된다. RAID는 이 단일 장애점(Single Point of Failure)을 제거하기 위해 설계되었다. 디스크를 묶는 방식에 따라 여러 레벨로 나뉘며, 각 레벨마다 성능, 안정성, 용량 효율의 트레이드오프가 다르다.
RAID 0 스트라이핑
데이터를 여러 디스크에 분산 저장하는 방식이다. 2개 디스크에 데이터를 번갈아 기록하므로 읽기와 쓰기 속도가 이론상 2배로 향상된다. 하지만 중복 저장이 전혀 없기 때문에 디스크 하나만 고장 나도 전체 데이터가 손실된다. 안정성이 0이므로 서버 환경에서는 단독 사용을 권장하지 않는다. 영상 편집 같은 임시 작업용 고속 스토리지에 제한적으로 사용된다.
RAID 1 미러링
동일한 데이터를 두 개의 디스크에 동시에 기록하는 방식이다. 한쪽 디스크가 고장 나도 다른 쪽에 완전한 복제본이 있으므로 데이터 손실 없이 운영을 지속할 수 있다. 읽기 성능은 두 디스크에서 병렬 읽기가 가능하므로 향상되지만, 전체 용량의 50%만 실사용 가능하다. 2TB 디스크 2개를 묶어도 사용 가능 용량은 2TB다. OS 디스크나 중요 데이터베이스 볼륨에 많이 적용한다.
RAID 5 패리티 분산
최소 3개 디스크가 필요하며, 데이터와 패리티 정보를 모든 디스크에 분산 저장한다. 패리티란 나머지 디스크의 데이터를 복원할 수 있는 오류 정정 정보다. 디스크 하나가 고장 나면 나머지 디스크의 데이터와 패리티를 조합하여 손실 데이터를 재건(Rebuild)할 수 있다. 용량 효율이 높아 N개 디스크 중 N-1개 분량을 실사용할 수 있다. 서버 환경에서 가장 보편적으로 사용되는 RAID 레벨이다. 다만 리빌드 중에 추가 디스크 고장이 발생하면 전체 데이터가 소실되는 위험이 있다.
RAID 6과 RAID 10
RAID 6은 RAID 5에 패리티 블록을 하나 더 추가하여 동시에 2개 디스크 고장까지 견딜 수 있다.
답글 남기기