前言
最近遇到了 VDI 基礎架構中,擔任虛擬化平台的 VMware vSphere ESXi 主機,因為實體伺服器發生「CPU / Memory 」故障事件,導致觸發了 vSphere HA 機制,雖然 vSphere HA 機制能夠因應硬體故障,而將 VM 虛擬主機自動重啟到別台存活的 ESXi 繼續運作。但是了解 VMware 技術的人都了解,vSphere HA 機制只能「確保」VM 能在其它存活的 ESXi Host 繼續運作,但是「Guest OS」本身是否運作正常就另當別論了 (因為對 Geust OS 來說發生了不當關機事件!!)。此次的狀況就是,Guest OS 在發生 vSphere HA 事件後,雖然自動移轉到別台 ESXi Host 繼續運作,但是相關的「系統服務」雖然有啟動卻無法正常服務。
實作環境
- VMware vSphere ESXi 5.1 (1065491)
- Windows Server 2008 R2 SP1
災難情況探討
從 Alarms 視窗中可以看到,其中一台 ESXi 主機 (esxi02) 發生硬體故障事件。切換到 Hardware Status 頁籤,一看錯誤訊息不得了。Memory 錯誤雖然常常遇到 (不會導致 vSphere HA 事件),但是 CPU 發生錯誤就不常遇到了,而此次就是因為 CPU 錯誤 才導致「觸發了 vSphere HA」事件 (詳細原理請參考 vSphere HA)。