RAID
RAID의 정의
RAID(Redundant Array of Independent/Inexpensive Disks)
여러 개의 하드 드라이브를 하나의 논리적 스토리지 단위로 결합하여 성능, 안정성, 또는 데이터 중복성을 향상시키는 기술
RAID는 데이터 저장 방식을 통해 디스크 오류로 인한 데이터 손실 가능성을 중이고, 읽기/쓰기 성능을 향상시키는 데 사용
하드웨어 / 소프트웨어 RAID
- Hardware RAID : 하드웨어 제조업체에서 여러 개의 하드디스크를 가지고 장비를 만들어서 공급 [안정적 / 고비용]
- Software RAID : 운영체제에서 RAID를 지원하는 방식, 리눅스 운영체제에서 지원 [저비용]
RAID 사용하는 이유
데이터 중복성: 중요한 데이터를 보호하기 위해 백업과 유사한 역할을 수행
성능 향상: 병렬 데이터 접근으로 읽기/쓰기 속도를 증가
확장성: 단일 대용량 디스크 대신 여러 디스크를 사용해 유연성을 제공
각 RAID 방식의 비교 – Software
Linear RAID
여러 개의 디스크를 하나의 논리적인 단일 디스크로 병합하는 RAID 방식
데이터를 디스크에 순차적으로 저장하는 방식으로 동작
Linear RAID의 주요 특징
- 순차적인 데이터 저장
- 첫 번째 디스크가 가득 차면 다음 디스크에 데이터를 계속 저장합니다.
- 데이터를 병렬로 분산(스트라이핑)하지 않습니다.
- 중복성 없음
- Linear RAID는 데이터 복제나 중복성을 제공하지 않기 때문에 디스크 하나라도 손상되면 전체 데이터가 손실될 가능성이 높습니다.
- 성능
- 읽기/쓰기 속도가 병렬 처리되지 않아 단일 디스크와 동일한 수준의 성능을 가집니다.
- 디스크 공간 효율
- 모든 디스크 용량이 결합되므로 전체 디스크 용량을 100% 활용할 수 있습니다.
Linear RAID의 장점
- 구성 간단
- 복잡한 설정이나 전용 하드웨어가 필요하지 않음
- 소프트웨어 RAID 도구(e.g.,
mdadm
)를 사용하여 쉽게 구성 가능.
- 저렴한 비용
- 모든 디스크를 그대로 사용할 수 있어 비용 효율적
- 유연성
- 서로 다른 크기의 디스크를 결합(예: 1TB + 500GB 디스크 = 1.5TB)
Linear RAID의 단점
- 데이터 안정성 부족
- 하나의 디스크라도 손상되면 전체 볼륨이 손실
- 데이터 중복성이 없으므로 RAID 1이나 RAID 5처럼 복구 기능을 제공하지 않음
- 성능 향상 없음
- 데이터를 병렬로 읽거나 쓰지 않으므로 읽기/쓰기 성능이 향상되지 않음
- 확장성 문제
- 기존 Linear RAID 배열에 새 디스크를 추가하기 어려움. 추가하려면 배열을 다시 구성해야함
RAID 0
스트라이핑(Striping) 기술을 사용하는 RAID의 한 유형으로, 데이터를 여러 디스크에 분산 저장하여 성능 향상에 중점을 둔 구성
중복성이나 데이터 복구 기능은 없지만, 빠른 읽기/쓰기 속도를 제공
RAID 0의 주요 특징
- 스트라이핑(Striping)
- 데이터를 작은 단위(스트라이프)로 나누어 여러 디스크에 병렬로 저장
- 예: 4KB 데이터를 2개의 디스크에 2KB씩 나누어 저장
- 데이터 중복성 없음
- 백업 기능이 없기 때문에 디스크 하나만 손상되어도 전체 데이터가 손실
- 성능 향상
- 읽기/쓰기 작업을 병렬로 처리하므로 단일 디스크보다 속도가 크게 향상
- 디스크가 많을수록 성능이 비례적으로 증가
- 디스크 용량 효율
- 디스크의 용량을 100% 활용 가능
- 예: 1TB + 1TB 디스크 → RAID 0 용량 = 2TB
RAID 0의 장점
- 최대 성능 제공
- 병렬 작업 덕분에 읽기 및 쓰기 성능이 매우 뛰어남
- 특히 대용량 데이터 전송이나 비디오 편집과 같은 고속 처리 작업에 적합
- 디스크 용량의 100% 사용
- RAID 1처럼 일부 용량이 중복성에 사용되지 않으므로 모든 디스크 용량을 활용
- 구성이 간단
- 하드웨어 RAID 컨트롤러나 소프트웨어 RAID로 쉽게 설정 가능
RAID 0의 단점
- 데이터 손실 위험
- 하나의 디스크라도 손상되면 전체 데이터가 손실
- 디스크 수가 많아질수록 고장 확률도 높아짐
- 데이터 복구 불가
- RAID 1, 5, 6과 달리 복구 기능이 없어, 별도의 백업이 필수적
RAID 1
미러링(Mirroring) 기술을 사용하는 RAID 레벨로, 동일한 데이터를 두 개 이상의 디스크에 복제하여 데이터 중복성과 안정성을 보장
하나의 디스크에 문제가 발생해도 나머지 디스크에서 데이터를 읽어올 수 있어 고가용성을 제공
RAID 1의 주요 특징
- 미러링(Mirroring)
- 모든 데이터를 동일하게 두 개 이상의 디스크에 복사
- 디스크가 여러 개라도 용량은 하나의 디스크 용량으로 제한(디스크 하나는 복제본 역할)
- 높은 데이터 안정성
- 디스크 하나가 손상되더라도 데이터 손실 없이 복구 가능
- RAID 0과 달리 높은 신뢰성을 제공
- 디스크 용량 효율
- 전체 디스크 용량의 50%만 사용 가능(나머지 50%는 복제본에 사용).
- 성능
- 읽기 속도는 여러 디스크에서 데이터를 병렬로 읽을 수 있어 성능 향상이 가능
- 쓰기 속도는 데이터를 모든 디스크에 복제해야 하므로 단일 디스크보다 약간 느릴 수 있음
RAID 1의 장점
- 데이터 안정성
- 디스크 하나가 손상되더라도 복구 가능(단, 복구 시점 전까지는 추가 디스크 손상에 대비해야 함).
- 데이터 무결성 보장
- 중요한 데이터를 안전하게 보호 가능
- 읽기 성능 향상
- 여러 디스크에서 병렬로 데이터를 읽을 수 있어 읽기 작업이 빠름
- 구성이 간단
- 설정과 관리가 비교적 쉬운 편
RAID 1의 단점
- 디스크 용량 효율 저하
- 2개의 디스크를 사용하더라도 실제로는 1개의 디스크 용량만 사용할 수 있음
- 비용 증가
- 동일 데이터를 저장하려면 2배의 디스크가 필요하므로 비용이 증가
- 쓰기 성능
- 모든 디스크에 데이터를 복제해야 하므로 쓰기 작업은 약간 느릴 수 있음
RAID 5
데이터를 스트라이핑(Striping) 방식으로 저장하면서, 각 디스크에 패리티(Parity) 정보를 분산 저장하는 RAID 레벨
성능과 데이터 안정성의 균형을 제공하며, 최소 3개의 디스크가 필요
디스크 하나가 손상되더라도 패리티를 사용해 데이터를 복구할 수 있음
RAID 5가 RAID 2 ~ 4의 장점 및 특징을 가지고 있음
RAID 5의 주요 특징
- 스트라이핑과 패리티
- 데이터를 스트라이핑(디스크 간 병렬로 나눠 저장)하여 성능 향상
- 디스크마다 패리티 정보를 분산 저장하여 데이터 복구 가능
- 예: 3개의 디스크 중 2개는 데이터 저장, 1개는 패리티 저장(순환 방식)
- 데이터 안정성
- 하나의 디스크가 손상되더라도 나머지 디스크와 패리티를 사용해 데이터 복구 가능
- 두 개 이상의 디스크가 손상되면 복구 불가
- 디스크 용량 효율
- 전체 디스크 중 하나의 디스크 용량은 패리티에 사용되므로, 총 용량 = (N – 1) x 단일 디스크 크기(N = 디스크 개수).
- 예: 4TB 디스크 4개 → RAID 5 용량 = 12TB (4TB는 패리티로 사용).
- 성능
- 읽기 작업: 스트라이핑 덕분에 빠름
- 쓰기 작업: 패리티 계산으로 인해 약간의 성능 저하 발생
RAID 5의 장점
- 데이터 복구 가능
- 디스크 하나가 손상돼도 데이터 손실 없이 복구 가능
- 성능과 안정성의 균형
- 스트라이핑으로 읽기 성능이 좋고, 패리티로 안정성도 보장
- 공간 효율성
- RAID 1보다 디스크 사용 효율이 높음
- 확장성
- 추가 디스크를 쉽게 추가할 수 있어 용량 확장 가능
RAID 5의 단점
- 복구 시간 증가
- 디스크가 손상되었을 때 복구에 시간이 오래 걸릴 수 있음
- 복구 중 추가 디스크 손상 시 전체 데이터 손실
- 쓰기 성능 저하
- 패리티 계산 때문에 RAID 0보다 쓰기 속도가 느림
- 복잡한 구성
- 하드웨어 RAID 컨트롤러나 소프트웨어 RAID를 통해 구현해야 함
RAID 6
RAID 6는 데이터를 스트라이핑(Striping) 방식으로 저장하면서, 두 개의 패리티(Parity) 정보를 사용하여 최대 2개의 디스크가 동시에 손상되어도 데이터를 복구할 수 있는 고안정성 RAID 레벨
RAID 5와 비슷하지만, 패리티 블록을 두 개로 늘려 더 높은 안정성을 제공하며 최소 4개의 디스크가 필요
RAID 6의 주요 특징
- 스트라이핑과 이중 패리티
- 데이터를 여러 디스크에 스트라이핑 방식으로 분산 저장
- 각 디스크에 두 개의 패리티를 저장하여, 디스크 두 개가 동시에 고장 나더라도 데이터를 복구 가능
- 높은 데이터 안정성
- RAID 5보다 더 높은 안정성을 제공하며, 데이터 손실 가능성이 낮음
- 디스크 용량 효율
- 전체 디스크 중 2개는 패리티 저장에 사용되므로, 총 용량 = (N – 2) x 단일 디스크 크기(N = 디스크 개수)
- 예: 4TB 디스크 6개 → RAID 6 용량 = 16TB (8TB는 패리티에 사용)
- 성능
- 읽기 성능: 스트라이핑 덕분에 RAID 5 수준으로 빠름
- 쓰기 성능: 두 개의 패리티 계산으로 인해 RAID 5보다 느림
RAID 6의 장점
- 높은 안정성
- 동시에 두 개의 디스크가 고장 나더라도 데이터 복구 가능
- RAID 5보다 안정성이 크게 향상됨
- 공간 효율성
- 2개의 패리티를 사용하지만, 여전히 전체 디스크 용량의 대부분을 데이터 저장에 사용 가능
- 성능과 안정성의 균형
- 읽기 작업은 스트라이핑 덕분에 빠르고, 데이터 안정성도 보장
- 확장성
- 디스크를 추가하여 용량을 쉽게 확장 가능
RAID 6의 단점
- 복잡한 패리티 계산
- 두 개의 패리티를 계산해야 하므로 쓰기 작업에서 RAID 5보다 성능이 더 낮음
- 쓰기 성능이 중요한 환경에서는 RAID 10이 더 적합할 수 있음
- 디스크 용량 감소
- RAID 5보다 두 개의 디스크 용량을 패리티에 사용하므로 저장 공간 효율이 약간 낮음
- 복구 시간 증가
- 대용량 디스크가 많아질수록 복구 시간이 오래 걸리며, 복구 중 성능 저하가 발생할 수 있음