天天看點

《思科UCS伺服器統一計算》一2.5 晶片組虛拟化支援

本節書摘來自異步社群《思科ucs伺服器統一計算》一書中的第2章,第2.5節,作者 【美】silvano gai , tommi salli , roger andersson,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視

思科ucs伺服器統一計算

除了nehalem提供的虛拟化支援外,在晶片組/主機闆級也增強了對虛拟化的支援。這些改進對于提高hypervisor(按照intel公司的說法,hypervisor指的是vmm:虛拟機監視程式)的i/o性能很重要。

伺服器使用輸入/輸出記憶體管理單元(input/output memory management unit,iommu)将具有dma能力的i/o總線(如pcie)連接配接到主記憶體。和傳統的記憶體管理單元(memory management unit,mmu)一樣,mmu将cpu可見的虛拟位址轉換成實體位址,而iommu負責将裝置可見的虛拟位址映射到實體位址。這些單元也提供了記憶體保護功能,以免受到錯誤操作裝置的影響。

i/o虛拟化的一個基本要求是能夠隔離和限制裝置通路由管理裝置的分區所擁有的資源。

2008年,intel公司釋出了iommu技術規範:直接i/o虛拟化技術,縮寫為vt-d。

intel vt-d為vmm軟體提供了下列功能。

i/o裝置配置設定:可為vm靈活配置設定i/o裝置,為i/o操作擴充vm的保護和隔離屬性。

dma重映射:為裝置的直接記憶體通路(direct memory accesses,dma)提供獨立的位址轉換功能。

中斷重映射:隔離和路由來自裝置和外部中斷控制器的中斷到對應的vm。

可靠性:記錄并報告系統軟體dma和可能會損壞記憶體或影響vm隔離的中斷錯誤。

intel連接配接虛拟化技術(virtualization technology for connectivity,vt-c)是一組i/o虛拟化技術集,可降低cpu使用率,減少系統延遲,提高網絡和i/o吞吐量。

intel vt-c由平台級技術和創新的下一代i/o虛拟化技術集合而成:

虛拟機裝置隊列(virtual machine device queues,vmdq)極大地提高了伺服器的流量管理,有助于為大資料流提供更好的i/o性能,同時減少了基于軟體的虛拟機監視程式(vmm)的處理負擔。

虛拟機直接連接配接(virtual machine direct connect,vmdc)通過提供到虛拟機的專用i/o,完全繞過hypervisor中的軟體虛拟交換機,提供了接近原生的性能。同時還增強了虛拟機之間的資料隔離,通過虛拟機實時遷移功能提供了更好的靈活性和移動性。

1.vmdq

在虛拟環境中,hypervisor管理所有vm(虛拟機)的網絡i/o活動。随着vm數量的持續增長,i/o負載也随之增加,hypervisor需要更多的cpu周期來給網絡接口隊列中的資料包排序,然後将它們路由到目标vm,這降低了應用程式可用的cpu容量。

intel虛拟機裝置隊列(virtual machine device queue,vmdq)通過在晶片組上新增硬體支援,減輕了hypervisor的負擔,同時增強了網絡i/o。特别是,增加了多個網絡接口隊列和硬體級智能排序,如圖2-45所示。

《思科UCS伺服器統一計算》一2.5 晶片組虛拟化支援

當資料包抵達網絡擴充卡時,網絡控制器中的二層分類器/排序器根據mac位址和vlan标記對資料包進行排序,并确定每個資料包的目的地應該是哪一個vm。然後按順序将資料包放入配置設定給該vm的接收隊列中。hypervisor的二層軟體交換機隻是将資料包路由到各自的vm,不會執行繁重的資料排序操作。

當資料包從虛拟機向擴充卡傳輸時,hypervisor會将資料包放入各自的隊列中。為了防止阻塞,確定每個隊列得到公平服務,網絡控制器以一種輪循方式傳輸隊列中的資料包,進而保證vm服務品質(qos)。

2.netqueue

如果要充分利用vmdq,就需要修改vmm以便每台虛拟機支援一個隊列。例如,vmware在它的hypervisor中引入了一個稱為netqueue的特性。netqueue可以利用幀、vmdq的排序功能。netqueue和vmdq結合使用可以減輕esx路由資料包的負擔,進而減輕了cpu壓力,并降低了延遲(參見圖2-46)。

《思科UCS伺服器統一計算》一2.5 晶片組虛拟化支援

3.vmq

vmq是微軟的一項hyper-v排隊技術,使用了intel以太網控制器的vmdq功能,在将資料包傳遞到虛拟機的過程中,将軟體參與處理的過程降低到最少。

4.vmdc

虛拟機直接連接配接(vmdc)可給獨立的vm配置設定直接網絡i/o。這個功能提高了整體網絡性能和vm之間的資料隔離,并讓vm實時遷移成為可能。

vmdc符合單根i/o虛拟化(single root i/o virtualization,sr-iov)标準(參見第3章的“sr-iov”部分)。

最新的intel以太網伺服器控制器支援sr-iov,将實體i/o端口虛拟成多個稱為虛拟功能(virtual functions,vf)的虛拟i/o端口。

将實體裝置分為多個vf可以讓vm實作與實體i/o裝置相當的i/o性能。該功能可以增加每台實體主機支援的vm數量,進而增強伺服器的整合能力。

vmdq和vmdc的結合就誕生了vmware vmdirectpath,以一種類似于“核心旁路”的方式繞過了esx/vsphere hypervisor,不使用hypervisor中的軟體交換機,資料直接從實體擴充卡傳遞到vnic,反之亦然。參見第3章的“vn-link”部分,特别是圖3-20。

繼續閱讀