The Documentation vSAN
1. VSAN 개념
VSAN SDS(Software Defined Storage), ESXi 호스트의 로컬 스토리지 리소스를 가상화하고, 서비스 품질 요구 사항에 따라 분할하여 가상 시스템 및 애플리케이션에 할당 할 수 있는 스토리지 풀로 변환.
2. VSAN Erasure Coding RAID-5 및 RAID-6
Erasure Coding이란 일부 조각이 누락된 경우에도 원본데이터를 복구할 수 있는 방식으로 데이터를 조각으로 인코딩하고 분할하는 모든 체계
를 나타내는 일반적인 용어.
여기서 더 자세한 내용을 확인 할 수 있을 거 같다. 참고 문헌
Reed-Solomon 알고리즘에 기반 한다. (알고리즘의 따라 계산 하는 방법이 달라진다.)
참고로 MINIO에서도 동일한 Erasure Coding이라는 용어가 나오지만, 위에 설명 했듯이 그냥 일반적인 용어이며, VSAN과 MiniO에서 사용하는 부분의 차이도 명확하다 우선 VSAN은 Host가 두개 실패 했을 경우까지만 제공을 한다. 하지만 MiniO에서 사용하는 Erasure Coding은 두개의 실패뿐만 아니라 더 많이 실패해도 복구를 할 수 있다는 점이다.
RAID-5
- 물리 장애 실패 = 1
- 내결함성 = 용량
- RAID-1은 물리 용량을 x2 이지만 RAID-5의 용량은 x1.33만 필요
- VSAN구성시 클러스터는 최소 4개의 노드가 필요
RAID-6
- 물리 장애 실패 = 2
- 내결함성 = 용량
- RAID-1은 물리 용량을 x3 이지만 RAID-6의 용량은 x1.5만 필요
- VSAN구성시 클러스터는 최소 6개의 노드가 필요
- vSAN 데이터 보호 공간
허용된 실패 | RAID-1 | RAID-5/6 | Erasure Coding save vs Mirroring | ||
---|---|---|---|---|---|
필요한 최소 호스트 | 총 용량 요구 사항 | 필요한 최소 호스트 | 총 용량 요구 사항 | ||
FTT=0 | 3 | x1 | N/A | N/A | N/A |
FTT=1 | 3 | x2 | 4 | x1.33 | 33% 감소 |
FTT=2 | 5 | x3 | 6 | x1.5 | 50% 감소 |
FTT=3 | 7 | x4 | N/A | N/A | N/A |
3. 성능 vs 용량
앞서 설명한 대로 Erasure Coding을 사용한다는 것은 성능보다 용량을 우선시 한다는 것이다. Erasure Coding은 Software 기반으로 처리를 하기 때문에 CPU를 많이 사용하게 되어 있으며 RAID1보다는 복잡한 계산식으로 인해서 상황에 맞게 선택을 하는 것이 중요하다.
4. 고려사항
RAID-5/RAID-6의 경우 vSAN에서 Streched Storage에는 지원 하지 않음, 또한 All-Flash 구성으로 제공해야함.