在虛擬化之前,對物理服務(wù)器進(jìn)行性能診斷相對簡單。在大多數(shù)情況下,管理員通過重新配置,升級或者為服務(wù)器打補(bǔ)丁能夠解決問題。不過虛擬化為性能診斷增加了一個全新的、很復(fù)雜的虛擬化層。運(yùn)行多個工作負(fù)載肯定有益于提升服務(wù)器的利用率,但是硬件資源共享有時可能會導(dǎo)致不可預(yù)見的結(jié)果,以意想不到的方式對工作負(fù)載的性能產(chǎn)生不良影響。
假定一臺數(shù)據(jù)庫服務(wù)器和一臺多媒體服務(wù)器共享同一臺主機(jī)服務(wù)器。服務(wù)器有足夠多的資源來應(yīng)對工作負(fù)載對資源的需求,而且在正常的使用模式下,這兩個工作負(fù)載都交付了足夠好的性能。現(xiàn)在假定用戶一直在抱怨數(shù)據(jù)庫查詢性能低下,IT專業(yè)人員通常會通過檢查數(shù)據(jù)庫服務(wù)器虛擬機(jī)來應(yīng)對用戶的抱怨,希望發(fā)現(xiàn)是配置發(fā)生了變化或者資源存在不足。但是檢查完數(shù)據(jù)庫服務(wù)器后,看起來唯一的問題就是當(dāng)數(shù)據(jù)庫查詢性能低下時本地磁盤的IO過于頻繁,但是本地磁盤活動頻繁卻和數(shù)據(jù)庫虛擬機(jī)無關(guān)。然而另一名技術(shù)人員發(fā)現(xiàn)當(dāng)數(shù)據(jù)庫響應(yīng)緩慢時多媒體服務(wù)器虛擬機(jī)在處理大量的視頻處理請求。
虛擬化可能會使追蹤問題根源變得復(fù)雜起來,因?yàn)榭赡懿粫紤]特定系統(tǒng)上的其他負(fù)載情況就對虛擬機(jī)的資源進(jìn)行調(diào)整或者遷移虛擬機(jī)。為更高效地診斷問題,IT專業(yè)人員需要使用能夠識別出虛擬機(jī)物理路徑以及每臺虛擬機(jī)正在運(yùn)行的應(yīng)用的業(yè)務(wù)服務(wù)管理工具。
此外提升虛擬服務(wù)器的可靠性可以先從仔細(xì)檢查服務(wù)器硬件及特性開始。讓我們先從選擇具有冗余電源的服務(wù)器開始。企業(yè)級服務(wù)器將包括兩個冗余的電源模塊,任意一個電源模塊都能夠支撐服務(wù)器的正常運(yùn)轉(zhuǎn)。當(dāng)一個電源模塊發(fā)生故障時,備份的電源模塊將會接管而不會影響系統(tǒng)的正常運(yùn)行。冗余的電源模塊肯定不是個新主意,但在今后的技術(shù)升級過程中確保使用冗余的電源取代舊有的單電源系統(tǒng)是非常重要的。
虛擬機(jī)運(yùn)行在服務(wù)器內(nèi)存中,因此IT專業(yè)人員可以通過選擇具有內(nèi)存可靠性技術(shù)的系統(tǒng)來提升服務(wù)器的可用性。其他可靠性技巧通常包括為服務(wù)器配置多塊網(wǎng)卡。當(dāng)所有硬件運(yùn)行正常時,更多的端口能夠提供額外的帶寬并確保服務(wù)器所有工作負(fù)載的連通性。如果一個網(wǎng)卡端口發(fā)生故障,服務(wù)器仍舊能夠提供網(wǎng)絡(luò)連通性,將對虛擬機(jī)的影響降至最低。
但是IT專業(yè)人員要做的不僅僅是多買一些可靠的機(jī)器——當(dāng)發(fā)生錯誤時采取相應(yīng)的策略及措施來解決服務(wù)器故障是非常重要的。高可用性技術(shù)并不能確保服務(wù)器不發(fā)生錯誤——當(dāng)出現(xiàn)錯誤時這些技術(shù)僅僅幫助服務(wù)器繼續(xù)運(yùn)行。當(dāng)內(nèi)存模塊或者電源模塊發(fā)生故障,服務(wù)器的可靠性將降低直到技術(shù)人員完成維修,因此要考慮告警,故障切換過程以及虛擬服務(wù)器的故障診斷需求。
服務(wù)器針對關(guān)鍵業(yè)務(wù)實(shí)現(xiàn)可靠性的最為有效的方式之一就是使用服務(wù)器集群。集群創(chuàng)建了服務(wù)器組,集群中的每臺服務(wù)器都運(yùn)行了冗余的虛擬機(jī)。當(dāng)一臺服務(wù)器發(fā)生故障,集群軟件將從集群中移除出現(xiàn)故障的服務(wù)器,虛擬機(jī)的其他副本將會接管業(yè)務(wù)而不會導(dǎo)致服務(wù)中斷。集群的主要優(yōu)勢在于集群中的服務(wù)器通常會放棄很多的高可用性特性——業(yè)務(wù)通常會被集群中的其他服務(wù)器所接管。
總之,虛擬化使數(shù)據(jù)中心運(yùn)維面臨新的情況,雖然虛擬化提升了服務(wù)器的使用效率。但是當(dāng)出現(xiàn)問題的時候,診斷過程會變得復(fù)雜。所以在數(shù)據(jù)中心啟用虛擬化的時候,軟硬件上的冗余變得非常重要。其次是管理工具,如何實(shí)現(xiàn)服務(wù)器集群的監(jiān)控和診斷也是至關(guān)重要的。