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