virtualization/VMware

[VMware] VSAN Maintenace Mode 이행시의 주의점

yueisu 2015. 5. 4. 16:33

얼마전 담당중인 VSAN 프로젝트의 하드웨어 엔지니어로부터 RAID Controller의 펌웨어의 업데이트 작업후 일부 가상머신이 시작되지 않는다는 연락을 받았습니다.

내용을 듣고 정리해보니 다음과 같은 내용이었습니다.

  • 작업은 VSAN 클러스트 호스트의 RAID Controller의 펌웨어의 업데이트 작업이었다.
  • 작업전 해당 ESXi상의 가상머신을 vMotion으로 다른 호스트에 이동후 ESXi를 메인터넌스 모드로 변경, 작업을 진행했다.
  • 작업완료후에는 메인터넌스 모드를 해제, 가상머신을 원래의 호스트로 vMotion을 했다. 
  • 작업대상 호스트 1대(예. ESXi-A)의 RAID Controller의 펌웨어의 업데이트가 실패를 했다. 하지만 ESXi-A는 정상적으로 시작이 되었다.
  • ESXi-A상에서 이동했던 가상머신을 원래 자리로 되도리려 vMotion을 실행한 결과, vMotion이 실패, 가상머신이 정지해버렸다. 


결국 현장에 가게되었죠... 흐흐

현장에서 확인을 해보니, 보고내용대로 일부 가상머신이 정지된 상태였고, 시작을 하면 .vmdk화일을 찾을 수 없다는 메시지가 표시되었습니다.


이상하더군요. vMotion이 실패했다고 .vmdk화일을 찾을 수 없다는건 있을 수 없기 때문입니다. 찾을 수 없다는 .vmdk화일의 보존디렉토리를 확인하니 RAID Controller의 펌웨어의 업데이트가 실패한 ESXi-A였습니다. 

VSAN 클러스터의 디스크 정보를 보니, ESXi-A의 디스크그룹이 사라져있었습니다. 허허허

원인을 찾아내었습니다. ESXi-A는 RAID Controller의 펌웨어의 업데이트가 실패로 디스크를 인식하지 못하게되었던거였습니다. 하드웨어상에서 인식을 못하니 vCenter가 인식을 할리가 없었죠. 결국 RAID Controller를 교체하여 디스크그룹을 복구했고, 시작되지않던 가상머신도 정상적으로 시작되게 되었습니다. 장애는 복구되었습니다.


그런데 말이죠... 음...

생각을 해보니, VSAN의 스토리지정책은 FTT=1로 구성을 했습니다. 때문에 ESXi-A에 장애가 발생했어도 가상머신에 영향은 없어야 했습니다. 하지만 실제로는 정지해버렸죠. 이상하죠...

더군다나 하드웨어 엔지니어는  "작업전 해당 ESXi를 메인터넌스 모드로 변경, 작업을 진행했다"고 했습니다.



설마하니 싶어서 확인을 해보니, 메인터넌스 모드 변경 조작을 vSphere Client에서 했다는거였습니다. 다들 아시겠지만 VSAN의 설정이나 조작은 Web Client에서만 가능합니다. 아래 그림을 보시면  확실하죠.


VSAN환경에서의 Web Client의 경우 메인터넌스 모드를 실행할 경우, vsanDatastore상의 가상머신에 대한 옵션을 지정하도록 되어있습니다. 디폴트의 경우는 "Ensure accessibility", 즉 가상머신의 가용성을 확보, 가동상태를 유지하게 됩니다. ("Full data migration"도 "Ensure accessibility"와 동일하게 가상머신의 가용성을 확보, 가동상태를 유지합니다만, "Full data migration"의 경우는 가상머신의 모든 데이터를 다른 호스트로 이동을 시키는 옵션입니다)

하지만 vSphere Client에서 메인터넌스 모드를 실행할 경우는, 오른쪽 그림처럼 가상머신의 가용성을 확보하는 옵션을 선택할 수 없습니다. 또한 디폴트로는 호스트가 메인터넌스 모드로 전환되어도 가상머신을 이동하지않는 "No data migration"이 되어버립니다. 


결국 이게 원인이었습니다. vSphere Client로 메인터넌스 모드로 전환, 여기에 RAID Controller의 펌웨어의 업데이트 실패가 겹쳐, 해당 ESXi의 디스크에 .vmdk화일을 저장해둔 가상머신이 시작을 하지않게 되었다는거죠. 

메인터넌스 모드로 전환되면 Absent나 Degraded와 같은 장애대응 동작이 일어나질 않기때문에 디스크그룹이 복구된 시점에서 데이터 로스없이 회복된게 불행중 다행이었죠. 후우...


오랜만에 식은 땀 흘렸습니다. 흐흐


VSAN을 도입한 관리자분들은 반드시 Web Client를 이용하세요. 사실 vSphere 5.5 이상의 환경이라면 Web Client를 이용하는게 좋습니다. 반응이 늦더라도 말입니다.