본문 바로가기

Virtualization/VMware vSAN

[VMware] vSAN online health alarm 'vSAN critical alert regarding a potential data inconsistency'

사용 버전

vSAN 7.0U1, vSAN 7.0U1 P02 (On-Disk Format 13)

 

 

 

Error Message

vSAN online health alarm 'vSAN critical alert regarding a potential data inconsistency'

 

 

 

상세 내용

문장 자체로는 vSAN 데이터 일관성이 맞지 않는다는 내용인데,

모든 VM의 컴포넌트는 정상이고 해당 health 알람은 호스트 단위로 준수 여부가 나와있다.

 

KB82383 통해 확인된 내용으로는 아래 작업 시에 발생한다고 한다.

- 호스트 유지보수 모드 / 액세스 지원 보장 옵션 / 진입 후 종료

- 호스트 유지보수 모드 종료하는 동시에 VM의 SPBM 정책을 변경

(RAID-0→RAID-5, RAID-0→RAID-6, RAID-1→RAID-5, RAID-1→RAID-6, RAID-5→RAID-6, RAID-6→RAID-5)

 

해당 에러는 vSAN7.0U1, vSAN7.0U1-P02에서만 발생하는 Known Issue이며,

드물게 발생한다고 하지만 실제 구축한 고객사와 내 테스트 베드에서 모두 발생했고

유지보수 모드 (액세스 지원 보장) on/off 외에는 RAID 구성 변경을 한 적이 없다.

 

당황스럽지만 KB 덕분에 무사히 해결했다.

 

 

 

해결책

가장 좋은 것은 vSAN7.0U1 P03 이상으로 업그레이드하는 것이지만,

당장 업그레이드가 어렵다면 워크어라운드로 호스트의 DeltaComponent의 매개변수를 '0'으로 변경해주면 된다.

이 작업은 호스트 Reboot이나 서비스 Restart가 필요 없다.

 

01. KB82383의 'setConfigOption.py' 스크립트 파일 다운로드 (참고 URL 링크 확인)

02. 호스트의 vSAN 데이터스토어에 파일 업로드

03. 호스트 SSH 접속 후, 데이터스토어 내의 스크립트 파일을 /tmp 디렉토리로 복사 후 실행한다.

~#cp setConfigOption.py /tmp                            // 데이터스토어 내의 파일을 복사

~#cd /tmp

~#python setConfigOption.py                            // 해당 스크립트 파일 실행. 약 60~70초 가량 진행됨.

~#esxcfg-advcfg -g /VSAN/DeltaComponent   // Value 값이 '1'에서 '0'으로 변경되었는지 확인

04. vSAN Skylinet Health online RETEST 진행

클러스터에 트리거된 경보도 자동으로 제거된다.

 

 

 

- Delta Component

vSAN 7.0U1부터는 vSAN 내부적으로 'Delta Component'가 구성된다.

'전체 데이터 마이그레이션'이 아닌 유지보수 모드 진입 시 소속된 컴포넌트에 대해 re-write가 발생하면,

SPBM 정책의 보호 수준에 맞지 않으므로 해당 'Delta Component'를 생성하여 re-write 수행을 허용한다.

 

 

내용을 보면 워크어라운드를 통해 비활성화로 구성해도 되는게 맞나 싶지만,

KB에서는 vSAN7.0U1, vSAN7.0U1-P02 (onDisk 13) 사용 시 사전에 적용하는 것을 권장한다고 되어 있다.

말 그대로 워크어라운드로 보면 될 것 같다.

 

 

 

참고 URL:

kb.vmware.com/s/article/82383

www.yellow-bricks.com/2020/09/15/whats-new-for-vsan-7-0-u1/