新聞中心
前言

創(chuàng)新互聯(lián)是一家專業(yè)從事成都做網(wǎng)站、網(wǎng)站制作、網(wǎng)頁設(shè)計的品牌網(wǎng)絡(luò)公司。如今是成都地區(qū)具影響力的網(wǎng)站設(shè)計公司,作為專業(yè)的成都網(wǎng)站建設(shè)公司,創(chuàng)新互聯(lián)依托強大的技術(shù)實力、以及多年的網(wǎng)站運營經(jīng)驗,為您提供專業(yè)的成都網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)及網(wǎng)站設(shè)計開發(fā)服務(wù)!
本文主要介紹如何對VMware vSphere架構(gòu)的CPU、內(nèi)存、存儲、網(wǎng)絡(luò)及虛擬機進行性能調(diào)優(yōu)。將貫穿觀念中那些有性能限制的領(lǐng)域,打消虛擬化和性能相悖的舊觀念,最重要的是通過一個個小的案例展現(xiàn)如何在虛擬化環(huán)境中實現(xiàn)性能調(diào)優(yōu),讓虛擬化技術(shù)發(fā)揮其最大優(yōu)勢,助力業(yè)務(wù)提升效率,按需擴展,靈活多變。具體的軟件實施,不在本文做詳細說明。有需要的朋友,可以參考本文結(jié)尾的“參考資料”。
CPU性能優(yōu)化
CPU資源的分配對于保證虛擬化環(huán)境的最佳性能很重要。現(xiàn)在的處理器一般為每個進程都配比了多核處理器,還提供了多種技術(shù)幫助提高虛擬化環(huán)境的性能,比如Intel-VT和AMD-V等硬件虛擬化及加速技術(shù)。CPU虛擬化技術(shù)使得虛擬機可以直接在物理處理器上執(zhí)行大多數(shù)的指令,可以使多個虛擬機一起運行來直接訪問一個物理處理器。
物理CPU與虛擬CPU之間的關(guān)系
在做CPU性能優(yōu)化前,理解什么是物理CPU?什么是虛擬CPU?是個很重要的前提。目前幾乎所有的處理器,無論X86架構(gòu)還是Power架構(gòu),對每一個封裝都有多個物理處理器內(nèi)核。一般規(guī)格為4、6、8、12核,有的甚至更多。在VMware ESXi中,每一個物理處理內(nèi)核被檢測為一個物理CPU,如果Intel處理器上有超線程,那么每個物理處理器內(nèi)核都會有兩個硬件線程,ESXi就能檢測到每個線程作為一個物理CPU。虛擬CPU是針對虛擬機上的CPU而言,每個虛擬機至少配置一個虛擬CPU。VMM調(diào)度每個虛擬CPU在任何可用的物理CPU上運行,可以定義任何虛擬機在給定時間內(nèi)可以同時訪問的物理CPU的數(shù)量。
ESXi CPU如何工作
VMware vSphere ESXi中的CPU通過復(fù)雜的調(diào)度算法接收和執(zhí)行用戶及外界的指令,按照設(shè)定好的策略依次執(zhí)行,下面將介紹一下ESXi中CPU的幾個主要的動作。
CPU的比例分配算法:
當(dāng)發(fā)生在多個虛擬機之間競爭資源的時,ESXi則使用比例分配算法來決定哪一個虛擬機應(yīng)該使用更多的CPU和內(nèi)存資源。比例分配算法可以讓VMware ESXi調(diào)度程序通過將每個執(zhí)行語境在可用物理處理器資源的一個共享相關(guān)聯(lián),從而進行重要的調(diào)度計算。根據(jù)資源配置標(biāo)準(zhǔn),如分享、保留、限制,所計算出的分享權(quán)益會被分配到每個執(zhí)行語境上。
CPU聯(lián)合調(diào)度:
我們常見的聯(lián)合調(diào)度分為嚴格聯(lián)合調(diào)度和寬松聯(lián)合調(diào)度。這種嚴格聯(lián)合調(diào)度主要出現(xiàn)在VMware ESXi的早期版本中,當(dāng)執(zhí)行聯(lián)合調(diào)度時,CPU調(diào)度程序在多處理器虛擬機的每個微CPU上會有一個累積的偏移。當(dāng)一個單進程應(yīng)用在多處理器的虛擬機上運行時,只有一個微CPU在物理處理上運行,而其他的微CPU都處于閑置狀態(tài),因此,只需要要求一個物理CPU可用就可以了。
寬松聯(lián)合調(diào)度主要出現(xiàn)在VMware ESXi5版本以后,使得每個虛擬機上的每個微CPU進程都可以被單獨追蹤,偏移值是通過測量最慢的微CPU和其他每個微CPU之間的差異得到的。
ESXi的CPU性能調(diào)優(yōu)
眾所周知,VMware是虛擬化領(lǐng)域的領(lǐng)頭羊,其為ESXi虛擬化層提供的默認設(shè)置在性能方面可以滿足大多數(shù)企業(yè)的應(yīng)用場景和需求。對于更嚴苛的業(yè)務(wù)需求,采用默認設(shè)置可能會影響虛擬化發(fā)揮其最大的優(yōu)勢。如何調(diào)優(yōu),就成了管理員必備的要求。
CPU性能如何診斷?哪些指標(biāo)是性能調(diào)優(yōu)最在意的?可以幫管理員盡快定位問?VMware在眾多管理指令中提供了一個名為ESXtop的命令。通過輸出結(jié)果可以清晰的看到CPU等相關(guān)的性能問題。管理員通過root身份登陸ESXi服務(wù)器,并輸入C切換到CPU的分析界面。除了CPU可以監(jiān)控CPU之外,也可以對內(nèi)存、網(wǎng)絡(luò)等性能進行觀察。具體的使用方法,不在此文的討論范圍內(nèi)。
表1:VMware esxtop CPU性能指標(biāo)表
內(nèi)存性能優(yōu)化
內(nèi)存的運算速度要比硬盤快很多,所以通常情況下,內(nèi)存越大,服務(wù)器的應(yīng)用速度較快。所有ESXi作為VM的載體,必然需要大內(nèi)存的支持。那么在進行內(nèi)存性能講解之前,先介紹一些ESXi中內(nèi)存的分層。
虛擬主機的物理內(nèi)存
這個是指實際物理主機的物理內(nèi)存,比如一臺物理內(nèi)存微256G的服務(wù)器,那么其實際物理內(nèi)存就是256G;
虛擬機的物理內(nèi)存
這個是指管理員實際分配給虛擬機使用的內(nèi)存,可以被虛擬機直接調(diào)用的內(nèi)存,僅僅對分配的虛擬機可見;
虛擬機的虛擬內(nèi)存
這個是指虛擬機操作系統(tǒng)分配給應(yīng)用程序的可用內(nèi)存,這是虛擬機操作系統(tǒng)映射到虛擬機物理內(nèi)存的地址空間;
ESXi內(nèi)存如何工作
那么ESXi虛擬化軟件是如何管理硬件的物理內(nèi)存的呢?使其可以同時運行多個虛擬機,并且內(nèi)存之間相互隔離,保證數(shù)據(jù)的穩(wěn)定性和可靠性。
首先ESXi會將所有的物理內(nèi)存虛擬化,為其上運行的不同的虛擬機創(chuàng)建一個個連續(xù)的虛擬內(nèi)存地址空間。這些內(nèi)存地址空間映射到虛擬機的物理內(nèi)存,形成不同的內(nèi)存空間。內(nèi)存空間之間相互隔離,確保虛擬機內(nèi)容的獨立性和安全性。所有物理內(nèi)存的分配調(diào)用,都需要ESXi來進行管理。特別需要注意的是,在向虛擬機分配物理內(nèi)存前,ESXi管理程序會將主機物理內(nèi)存置零,避免主機上不同虛擬機之間的信息泄漏,引起頁面錯誤。
內(nèi)存回收
虛擬化中的內(nèi)存回收是個很專業(yè)的話題,技術(shù)難度也很高,目前僅有VMware實現(xiàn)了內(nèi)存過量功能的管理。為了實現(xiàn)內(nèi)存的回收,VMware主要通過以下幾種方式進行,不同的環(huán)境采用不提供的方式,避免性能出現(xiàn)瓶頸,影響虛擬機的正常運行。
透明頁共享
透明頁共享(TPS)是主機物理內(nèi)存回收的一種簡單而有效的方式。原理是將相同鏡像或者應(yīng)用的內(nèi)存冗余頁做成單一的共享頁面,只保留一個內(nèi)存頁的副本。因此,虛擬機主機內(nèi)存占用總量減小,可以提供更多的內(nèi)存給不同頁面的虛擬機,從而也實現(xiàn)了內(nèi)存過量。
內(nèi)存膨脹
為了實現(xiàn)內(nèi)存膨脹,需要每個虛擬機安裝VMware Tools,以為Tools內(nèi)置了內(nèi)存膨脹驅(qū)動來實現(xiàn)這一功能。當(dāng)ESXi物理內(nèi)存處于高壓狀態(tài),就會觸發(fā)內(nèi)存膨脹機制來收回內(nèi)存。管理程序會通知虛擬機上的內(nèi)存膨脹驅(qū)動,給超過閾值的虛擬機分配“空閑的”虛擬機物理內(nèi)存頁去擴大內(nèi)存。當(dāng)然默認是沒有啟用的,啟用此功能會在一定程度上影響虛擬機的性能。
內(nèi)存壓縮
ESXi通過內(nèi)存壓縮技術(shù)可以將一部分本該分頁到磁盤的虛擬機內(nèi)存也進行壓縮。壓縮的內(nèi)存頁存儲在虛擬機主內(nèi)存的壓縮高速緩存中。當(dāng)檢測到內(nèi)存頁壓縮比率低于50%時,該內(nèi)存頁不會被壓縮,而是通過管理程序內(nèi)存交換交換到磁盤,ESXi只會使用管理程序交換未壓縮的內(nèi)存頁,不會把已壓縮的內(nèi)存頁交換到磁盤。
管理程序內(nèi)存交換
在VM的配置文件中,有個后綴名為.vswp的文件,這個就是內(nèi)存交換文件。通過此方法,ESXi可以將供給虛擬機使用的物理內(nèi)存與物理磁盤設(shè)備進行交換,以達到釋放內(nèi)存的目的。此文件在虛擬機啟動的時候即被創(chuàng)建,文件大小與虛擬機的內(nèi)存 一樣。
ESXi的內(nèi)存性能調(diào)優(yōu)
控制內(nèi)存的占用比例即使用率,是保證VM及主機穩(wěn)定、性能優(yōu)越的前提條件。ESXi內(nèi)置了內(nèi)存性能調(diào)優(yōu)工具-ESXtop。雖然VMware支持內(nèi)存過量技術(shù),但是建議不要隨便使用,畢竟過量會引發(fā)內(nèi)存膨脹及內(nèi)存交換,影響虛擬機的整體性能。
表2:VMware esxtop內(nèi)存性能指標(biāo)表
存儲性能優(yōu)化
我們在設(shè)計虛擬化架構(gòu)的時候,除了考慮CPU、內(nèi)存、網(wǎng)絡(luò)等因素外,更要對存儲進行精心設(shè)計。不同的業(yè)務(wù)需求,對存儲的類型也是有不同的要求。因為存儲平臺不同,意味著使用的協(xié)議和存儲的特點也就不同。速度并非是選擇合適存儲的唯一條件,如協(xié)議、連通性、現(xiàn)有的基礎(chǔ)設(shè)施和費用都要總和考慮。目前存儲主要分為以下三種類型:
存儲區(qū)域網(wǎng)絡(luò)
簡稱SAN,是一種提供塊級存儲設(shè)備的專用網(wǎng)絡(luò)。主機與存儲之間通過光纖進行連接,多采用光纖交換機進行接口對接。SAN提供了一個存儲中心,與其配合使用,淡化了本地存儲的功能。主要協(xié)議有互聯(lián)網(wǎng)小型計算機系統(tǒng)接口(ISCSI)、以太網(wǎng)光纖通道(FCoE)及光纖通信(FC)。
網(wǎng)絡(luò)文件系統(tǒng)
除了塊存儲,ESXi也支持與網(wǎng)絡(luò)文件系統(tǒng)(NFS)的連接共享以存儲虛擬機和相關(guān)模板。主要通過網(wǎng)絡(luò)傳輸,不需要購買額外的HBA卡。
虛擬SAN
又稱VSAN,此概念是VMware在vSphere5.5以后推出的一個新特性。去除了使用NFS和SAN的限制,同時又保證了數(shù)據(jù)的高可靠性。通過將ESXi本地磁盤聚合在一起并將共享數(shù)據(jù)存儲呈現(xiàn)給ESXi主機。支持橫向及縱向靈活擴展,也是VMware近期主推的存儲架構(gòu)。
如何設(shè)計物理存儲
合理的設(shè)計和選型物理存儲是虛擬化解決方案成功的重要環(huán)節(jié)。存儲設(shè)計的好壞,直接影響整體虛擬化環(huán)境的性能好壞。存儲的類型、RAID的配置、網(wǎng)絡(luò)和很多其他方面都會對虛擬化環(huán)境的性能產(chǎn)生很大影響,以下是對共享存儲的設(shè)計建議:
業(yè)務(wù)需求
技術(shù)永遠是為業(yè)務(wù)服務(wù)的,任何優(yōu)秀的架構(gòu)設(shè)計都需要對業(yè)務(wù)需求理解透徹,否則做出來的架構(gòu)將不具備任何價值。所以業(yè)務(wù)需求的確定是著手設(shè)計的第一步。
RAID級別
又稱磁盤冗余陣列,不同的RAID級別,可以滿足不同等級的業(yè)務(wù)需求。簡單的說,RAID是一種將多個物理硬盤驅(qū)動器整合并作為一個或多個邏輯驅(qū)動器呈現(xiàn)的技術(shù)。主流的RAID級別有,0、1、5、、10等。數(shù)字越高,其安全等級越高,防止數(shù)據(jù)丟失能力越強。
固態(tài)盤的使用
隨著技術(shù)和硬件的不斷發(fā)展,硬盤的類型也得到了擴展。從之前的機械硬盤,到現(xiàn)在的固態(tài)硬盤和純閃存盤。速度越來越快,I/O吞吐越來越大。并不是說在整體的存儲架構(gòu)中,哪種盤一定好,為了獲得最大的性能,一定要結(jié)合業(yè)務(wù)需求,合理搭配使用。對于永久數(shù)據(jù)的保存,建議使用機械硬盤。但是對于緩存區(qū)域和熱數(shù)據(jù)區(qū),建議采用SSD或者Flash disk。
IP存儲網(wǎng)絡(luò)
IP網(wǎng)絡(luò)存儲技術(shù)完全依賴于以太網(wǎng)的傳輸。在某些情況下,我們也要考慮結(jié)合IP存儲網(wǎng)絡(luò)來進行架構(gòu)的非關(guān)鍵組件的彌補。從成本考慮,光存儲網(wǎng)絡(luò)和SSD等硬件雖然速度快,但是成本較高。例如ISO等鏡像問題,由于不是經(jīng)常調(diào)用,可以存放于IP網(wǎng)絡(luò)存儲中,采用NFS或者ISCSI進行呈現(xiàn)。
如何設(shè)計虛擬存儲
VMware的VSAN不同于其他我們熟知的存儲,既不是NFS也不是VMF,它是vSphere 5.5版本以上才有的一種虛擬SAN存儲。它通過整合所有ESXi計算節(jié)點的本地硬盤資源,創(chuàng)建一個可以被集群中所有ESXi共同訪問的邏輯數(shù)據(jù)存儲。虛擬機文件等其他數(shù)據(jù)可以在主機之間復(fù)制,使得單個主機損壞,不會發(fā)生單點故障,影響業(yè)務(wù)正常。當(dāng)然VSAN也有一些注意事項,避免性能瓶頸:
固態(tài)盤
VSAN中的每個存儲組必須有一塊SSD盤來創(chuàng)建數(shù)據(jù)存儲,而且要求有一個能夠直通的硬盤驅(qū)動控制器,可以將每個單獨的磁盤驅(qū)動數(shù)據(jù)提交給vSphere。其中SSD主要作為緩存層,一般SSD與機械盤的比例是1:10。
存儲策略
VMware將VSAN定義為軟件定義存儲,通過定義存儲策略對存儲資源進行管理。通過策略管理員可以定義一組特點的可用性、性能和大小的要求并允許vSphere在部署新的虛擬機的時候管理VMDK的位置和選擇正確的數(shù)據(jù)存儲。
網(wǎng)絡(luò)
由于是通過以太網(wǎng)進行連接,所以VSAN依靠同步復(fù)制在各個ESXi主機中復(fù)制數(shù)據(jù),從而對網(wǎng)絡(luò)的要求較高。因為其對延遲的容忍度很低,網(wǎng)絡(luò)延遲的增加,可能會導(dǎo)致嚴重的性能下降。強烈建議采用至少10G網(wǎng)絡(luò)負載ESXi之間的復(fù)制壓力。
ESXi的存儲性能調(diào)優(yōu)
網(wǎng)絡(luò)性能優(yōu)化
網(wǎng)絡(luò)性能的好壞直接影響用戶最終的體驗。虛擬化的所有數(shù)據(jù)傳輸,幾乎都是通過網(wǎng)絡(luò)進行的。用戶對數(shù)據(jù)提取,主機與主機之間的數(shù)據(jù)復(fù)制等。越是復(fù)雜的網(wǎng)絡(luò),越要精細化設(shè)計,做好合理的規(guī)劃,否則一旦投入生產(chǎn)使用,就會帶來很多不必要的麻煩。
ESXi的網(wǎng)絡(luò)設(shè)計
ESXi的網(wǎng)絡(luò)設(shè)計主要分為兩種,物理網(wǎng)絡(luò)設(shè)計和虛擬化網(wǎng)絡(luò)設(shè)計。不同的層次網(wǎng)絡(luò)設(shè)計,需要配置的和支持的團隊也不同,一般物理網(wǎng)絡(luò)的設(shè)計主要是由公司的網(wǎng)絡(luò)部門負責(zé),而虛擬化網(wǎng)絡(luò)一般是云計算團隊負責(zé)。
物理網(wǎng)絡(luò)設(shè)計:
在網(wǎng)絡(luò)設(shè)計的過程中,應(yīng)該確保每一條網(wǎng)絡(luò)路徑都應(yīng)該是冗余的,避免單點故障。
確保主機與主機之間的復(fù)制通道具備足夠的帶寬,避免大流量造成數(shù)據(jù)延遲。
確保具備足夠的物理網(wǎng)絡(luò)上行鏈路,以提供網(wǎng)絡(luò)隔離和環(huán)境要求的冗余。
確保數(shù)據(jù)網(wǎng)絡(luò)、Kernel和管理網(wǎng)絡(luò)的隔離。
虛擬化網(wǎng)絡(luò)設(shè)計:
主要分為標(biāo)準(zhǔn)交換機和虛擬交換機,行業(yè)中一般較小的環(huán)境建議采用標(biāo)準(zhǔn)交換機,較大的環(huán)境建議采用分布式交換機。因為分布式交換機在可擴展性、功能性以及向后延續(xù)性都優(yōu)于標(biāo)準(zhǔn)交換機。
標(biāo)準(zhǔn)交換機:
標(biāo)準(zhǔn)交換機是VMware最早的虛擬交換機,也是單機版交換機。每個主機的所有出入流量都要經(jīng)過標(biāo)準(zhǔn)交換機,需要更多的管理開銷。
適用于小規(guī)模的部署。
確保每個主機上每個vSwitch的部署和配置是一致的,避免虛擬機飄移后,網(wǎng)絡(luò)無法通信。
分布式交換機:
適合大規(guī)模的部署,因為其實現(xiàn)了集中配置和管理,使主機設(shè)置更加統(tǒng)一。也是VMware平臺的網(wǎng)絡(luò)增強版。
合理使用網(wǎng)絡(luò)I/O控制
分布式交換機具備后期延伸的優(yōu)勢,提供負載均衡策略。
ESXi的分布式交換機
其實如何選擇虛擬交換機完全取決于各自的業(yè)務(wù)需要。但是隨著VMware的更新技術(shù)的發(fā)展,越來越青睞分布式交換機的應(yīng)用,尤其是大環(huán)境的部署與應(yīng)用。那么我們在部署分布式交換機的時候可以得到哪些提高性能的好處呢?
具備較好的向后擴能力,否則VMware技術(shù)的發(fā)展路線
支持NIOC功能,實現(xiàn)不同虛擬機使用不同網(wǎng)絡(luò)資源的管理。尤其是在SDN中應(yīng)用較廣,實現(xiàn)多個功能共享較少的網(wǎng)卡。
提供負載均衡功能,能夠有效的均衡跨物理網(wǎng)卡的流量負載。
提供Netflow和LLDP的管理功能,當(dāng)虛擬化關(guān)鍵業(yè)務(wù)的時候,這個功能就顯得尤為重要。
ESXi的網(wǎng)絡(luò)性能調(diào)優(yōu)
在以往的虛擬化環(huán)境管理工作中可以發(fā)現(xiàn),絕大多數(shù)的性能問題主要來自于CPU、內(nèi)存和存儲,網(wǎng)絡(luò)引發(fā)的性能瓶頸幾乎沒有。但是隨著SDN、NSX等技術(shù)的出現(xiàn),對網(wǎng)絡(luò)的要求是越來越高,網(wǎng)絡(luò)的優(yōu)化也就越來越重要。
ESXi主機層面性能優(yōu)化
通過多年的工作經(jīng)驗積累得出,好的網(wǎng)絡(luò)性能應(yīng)該從ESXi主機層次開始。
首先選擇合適數(shù)量網(wǎng)卡的主機以保證冗余和性能。
虛擬交換機的負載均衡策略可以有效的對網(wǎng)卡之間的流量進行負載,避免單塊網(wǎng)卡的流量瓶頸。所以建議無論在大與小的環(huán)境,盡量采用分布式交換機。
如果網(wǎng)絡(luò)吞吐量增加,那么建議對ESXi的主機CPU也要進行增加。因為吞吐越大,需要的CPU處理量也就越大。
合理使用網(wǎng)絡(luò)I/O控制功能,采用共享而不是閾值來控制網(wǎng)絡(luò)流量。因為閾值是設(shè)置可以使用的最大限。而共享是依靠策略,通過優(yōu)先級方式,對關(guān)鍵虛擬機進行流量優(yōu)化。
vMotion的流量建議采用單獨的網(wǎng)卡進行隔離,避免與其它的流量沖突。遷移的流量和FT的流量都會使用kernel的網(wǎng)卡。
虛擬機層面的性能優(yōu)化
在所有的虛擬機中安裝VMware tools,選擇使用VMXNET3增強型虛擬網(wǎng)卡,因為其提供了更高級的功能,比如巨型幀、接收端收放等等技術(shù)。
將有關(guān)聯(lián)的虛擬機盡量放在同一個ESXi主機上,因為相同主機的網(wǎng)絡(luò)是通過內(nèi)核傳輸,速度實現(xiàn)最大化。但是并不是說,VM就不用做備份或者異地部署了,還是要依據(jù)業(yè)務(wù)的實際應(yīng)用來分。
對于那些要求網(wǎng)絡(luò)延遲較小的應(yīng)用,需要調(diào)整VMware高級設(shè)置中的網(wǎng)絡(luò)延遲敏感度,滿足業(yè)務(wù)需求。當(dāng)然,默認的設(shè)置已經(jīng)可以滿足大多數(shù)的用戶的應(yīng)用場景。
結(jié)束語
以上主要闡述了VMware在CPU、內(nèi)存、存儲和網(wǎng)絡(luò)方面的性能優(yōu)化。當(dāng)然一個成熟的虛擬化架構(gòu)方案,不僅要考慮以上幾種場景,還要對虛擬機本身的CPU、內(nèi)存、存儲、網(wǎng)絡(luò)進行微調(diào)。本文主要集中在物理層面的優(yōu)化。有興趣的朋友,可以從VMware vSphere的官方找到相關(guān)的優(yōu)化細節(jié)。
【作者】張志強,多年的云計算、虛擬化架構(gòu)設(shè)計、企業(yè)信息化建設(shè)、自動化運維經(jīng)驗。熟練掌握X86、Power、存儲、虛擬化等硬件設(shè)備調(diào)優(yōu)與配置。擁有豐富的混合云架構(gòu)及管理經(jīng)驗,信息安全及網(wǎng)絡(luò)架構(gòu)的設(shè)計與運維。
當(dāng)前題目:如何做好VMwarevSphere性能優(yōu)化?
URL鏈接:http://m.fisionsoft.com.cn/article/cohihhs.html


咨詢
建站咨詢
