ECS: 4노드 ECS 클러스터에서 노드 운영 중단 시 삭제 코딩 재구축
Summary: ECS 버전 3.4부터 4노드 ECS 클러스터에서 노드 운영 중단이 발생하면 삭제 코딩 재구축이 자동으로 시작되지 않습니다.
Symptoms
3.4 이전 버전의 ECS에서는 정상 노드가 3개만 남아 있으면 ECS가 고객 데이터를 노드당 하나씩 3개의 미러링된 복제본으로 복원하기 시작했습니다. 이 설계 결정은 고객 데이터의 데이터 보호를 극대화하기 위해 내려졌습니다. 이 프로세스를 EC(Erasure Coding) 사용 중지라고도 합니다.
EC는 디스크 또는 노드 장애로부터 데이터를 보호하면서 스토리지 공간을 줄이는 알고리듬입니다.
데이터가 삭제 코딩될 때 ECS에 필요한 물리적 공간은 고객 데이터를 저장하는 데 약 1.33배(데이터 세그먼트 12개 + 패리티 세그먼트 4개)입니다. 그러나 ECS가 EC 사용을 중단하기 시작하면 고객 데이터에 필요한 물리적 공간이 1.33배에서 3배로 증가합니다.
이로 인해 ECS가 90% 용량 활용도 임계값에 도달하여 ECS가 읽기 전용 모드로 전환되고 데이터 가용성 손실이 발생할 수 있습니다.
Cause
Resolution
데이터 보호를 강화하고 90% 용량 임계값을 초과하지 않도록 정상 노드가 3개만 있는 ECS 클러스터의 기본 동작이 변경되었습니다.
3.4에서는 3개의 노드만 정상/온라인 상태일 때 ECS가 더 이상 자동으로 EC 폐기를 구현하지 않도록 설계가 변경되었습니다. 시스템이 성능 저하 상태에서 실행되고 성능 문제가 발생할 수 있지만 DU를 방지할 가능성이 높습니다. 새로운 쓰기는 계속해서 3개의 미러링된 복제본으로 기록되며 4+ 노드가 온라인 상태이고 쓸 수 있게 되면 삭제 코딩됩니다.
추가적인 드라이브 장애로 인해 격리된 DU가 발생할 수 있고 잠재적인 DL(Data Loss)에 대한 노출이 약간 증가할 수 있지만 여전히 가능성은 낮습니다.
또한 ECS를 5개 이상의 노드로 확장하는 것을 고려해 보십시오. 노드 장애 시 성능 저하, DU 및 DL 상황에 대한 ECS 노출을 줄입니다. ECS 아키텍처에 대한 자세한 내용은 ECS 관리자 가이드를 참조하십시오.