虛擬化架構硬體底層的重要性

前言

最近遇到了 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)。


為了確保不是誤判,到實體伺服器前面確認一下前方面板感知器燈號,明確的顯示 CPU/MEM  有問題,這下可以百分之百的確定硬體損壞了。


當然,將 CPU/Memory 更換完畢後便運作正常。





結論

雖然各家的虛擬化平台,都有相關的機制可以因應硬體伺服器突發性的故障損壞,但此次的硬體事件仍造成營運服務發生「不正常及停止」的情況。由此可知,完整的虛擬化架構仍需要堅實的硬體底層當後盾,就像蓋大樓一樣總不能打一層的地基就想要往上蓋 30 層樓,當災難沒發生時可能覺得一切安好,但若發生災難時可想而知,情況將會非常嚴重,不可不慎。