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