成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳解X86服務器虛擬化的資源劃分和性能優化

新聞 虛擬化
本文從企業業務系統和管理角度出發,著重分析研究了X86技術架構下,虛擬網卡與SR-IOV、NUMA、虛擬磁盤格式相應的特點,并探索了不同應用場景下的資源劃分和性能優化方案。

虛擬化是一個廣義術語,通常是指計算元件在虛擬的基礎上而不是真實的基礎上運行,是一個為了簡化管理,優化資源的解決方案。服務器虛擬化則是一項用以整合基于x86服務器,來提高資源利用效率和性能的技術。

本文從企業業務系統和管理角度出發,著重分析研究了X86技術架構下,虛擬網卡與SR-IOV、NUMA、虛擬磁盤格式相應的特點,并探索了不同應用場景下的資源劃分和性能優化方案,希望能夠通過多應用系統下的實踐和最優配置,來提高X86服務器的性能和資源利用效率。

1、x86虛擬化兩種常見的架構

對于x86虛擬化,有兩種常見的架構:寄居架構和裸金屬架構。寄居架構將虛擬化層運行在操作系統之上,當作一個應用來運行,對硬件的支持很廣泛。相對的,裸金屬架構直接將虛擬化層運行在x86的硬件系統上,可以直接訪問硬件資源,無需通過操作系統來實現硬件訪問,因此效率更高。

Vmware Workstation和VMware Server都是基于寄居架構而實現的,而VMware ESX Server是業界第一個裸金屬架構的虛擬化產品,目前已經發布了第五代產品。ESX Server需要運行在VMware認證的硬件平臺上,可以提供出色的性能,完全可以滿足大型數據中心對性能的要求。本文主要論述的也是基于X86裸金屬架構下的服務器的資源劃分和性能優化問題。

2、x86虛擬化資源劃分的三個層面

服務器的資源劃分簡單的講,包括網絡、計算、存儲三個層面。每一個虛機都在其連通的網絡中,承擔一定的計算任務,把計算后的數據存儲下來供業務使用。

2.1 網絡層面

從網絡層面來說,X86物理機使用的是物理的網卡,連接的是物理的交換機。在一臺X86被劃分成多個VM虛機后,就誕生了虛擬網卡和虛擬交換機。這樣在虛擬和物理網絡之間就產生了流量傳輸與交互。如圖1所示:

圖1:虛擬網絡和物理網絡

同一臺物理機上劃分的VM有同一網段和不同網段之分,再根據虛機之間的網絡流量是否經過物理網卡,具體可分為四種不同的情況:

第一種情況,比如某業務系統的VM在同一主機的同一網段,則虛擬機之間網絡流量不經過主機物理網卡,其最大網絡流量為7.6GB。(測試方法:在testvm1上啟用jperf server作為網絡數據接收端,在testvm2中啟用jperf client連接jperf server發送網絡數據包,同時加壓網絡流量。X86主機為雙萬兆網卡)

第二種情況,比如某業務系統的VM在同一主機的不同網段,則虛擬機之間網絡流量經過主機物理網卡,其最大網絡流量為5.6GB。測試方法同上。

第三種情況,比如某業務系統的VM在不同主機的同一網段,則虛擬機之間網絡流量經過主機物理網卡,其最大網絡流量為6.5GB。測試方法同上。

第四種情況,比如某業務系統的VM在不同主機的不同網段,則虛擬機之間網絡流量經過主機物理網卡,其最大網絡流量為4.6GB。測試方法同上。

測試的幾種場景對比表如表1所示。

VM虛機

物理機

網卡

所屬網段

數據方向

物理網卡

最大數據流量

vm1和vm2

同一主機

萬兆

同一

單向

不經過

7.6G

vm1和vm2

同一主機

萬兆

不同

單向

經過

5.6G

Vm3和vm4

不同主機

萬兆

同一

單向

經過

6.5G

Vm3和vm4

不同主機

萬兆

不同

單向

經過

4.6G

表1 幾種場景的VM測試數據對比

在一臺X86物理服務器上進行VM的網絡虛擬化,還有一種技術就是SR-IOV。SR-IOV 技術是INTEL提出的一種基于硬件的虛擬化解決方案,可提高性能和可伸縮性。SR-IOV 標準允許在虛擬機之間高效共享 PCIe(Peripheral Component Interconnect Express,快速外設組件互連)設備,并且它是在硬件中實現的,可以獲得能夠與本機性能媲美的網絡 I/O 性能。比如我們把一臺X86物理服務器上的萬兆網卡通過SR-IOV技術分成4個虛擬網卡給4個VM使用,那么其網絡傳輸性能將比虛擬化網卡給VM使用高很多。

測試方法:在一臺X86物理服務器上,4個VM啟用jperf server作為網絡數據接收端;在另一臺X86物理服務器上,4個VM啟用jperf client連接jperf server發送網絡數據包,同時加壓網絡流量。兩臺X86主機為雙萬兆網卡。

SR-IOV虛擬化測試架構如圖2所示:

圖2:SR-IOV虛擬化測試架構

網絡傳輸的數據量對比如表2所示。

普通的虛擬化傳輸的最大數據量為4.6Gbps,而SR-IOV的直接硬件虛擬化可達到9.4Gbps。

具有 SR-IOV 功能的設備還有以下優點:節能、減少了適配器數量,同時簡化了布線,減少了交換機端口。SR-IOV有很多優點,但是也有很多限制,比如VMWARE里原有的很多功能將對SR-IOV 的虛擬機不可用。比如Vmotion、Storage Vmotion、Vshield、NetFlow、High Availability、FT、DRS、DPM、掛起和恢復、快照、熱添加和刪除虛擬設備、加入到群集環境。

因此,我們在考慮x86網絡虛擬化的時候,更多的需要結合性能、業務特點、基礎設施來綜合考慮。如果一個業務要求比較高的性能同時不需要更多的靈活性,可以考慮SR-IOV技術。反之則選擇X86常見的網絡虛擬化技術,結合VMWARE來進行部署。

2.2 計算層面

從計算層面來說,X86物理服務器上的CPU、內存資源都可提供給虛擬機使用。現在的高性能X86服務器一般都是多CPU多核系統,NUMA 架構會越來越受歡迎,因為這個架構可解決多處理器多核和非統一內存架構之間的交互帶來的新的CPU、內存資源分配方法的挑戰,并改善占用大量內存的工作負載的性能。NUMA架構如圖3所示:

圖3:NUMA架構圖

傳統的服務器架構下是把內存放到單一的存儲池中,這對于單處理器或單核心的系統工作良好。但是這種傳統的統一訪問方式,在多核心同時訪問內存空間時會導致資源爭用和性能問題。

而NUMA是服務器CPU和內存設計的新架構,它改變了內存對CPU的呈現方式,這是通過對服務器每個CPU的內存進行分區來實現的。每個分區(或內存塊)稱為NUMA節點,而和該分區相關的處理器可以更快地訪問NUMA內存,而且不需要和其它的NUMA節點爭用服務器上的資源(其它的內存分區分配給其它處理器)。NUMA也支持任意一個處理器訪問服務器上的任何一塊內存區域。

某個處理器當然可以訪問位于不同區域上的內存數據,但是卻需要更多本地NUMA節點之外的傳輸,并且需要目標NUMA節點的確認。這增加了整體開銷,影響了CPU和內存子系統的性能。

例如一臺配置了兩顆八核處理器以及128GB內存的服務器,在NUMA架構中,每個處理器能夠控制64GB的物理內存,每個處理器的八個核心中的每個核心將對應一個8GB的NUMA節點。這將會如何影響虛擬機性能?

由于每個處理器核心訪問NUMA節點內內存的速度要比其他節點快,因此當虛擬機內存大小少于或者等于NUMA節點的內存大小時,虛擬機在理論上能夠獲得最好的性能。所以我們在這臺物理服務器上分配虛機時,不要給每臺虛擬機分配超過8GB的內存。

如果給虛擬機分配更多的內存,則虛擬機必然要訪問其NUMA節點之外的部分內存,這樣或多或少會影響其性能。如果應用能夠感知NUMA,那就更好了。vSphere使用vNUMA可以創建能夠感知NUMA的虛擬機。該虛擬機將會被分割為虛擬NUMA節點,每個vNUMA節點將會被放置到一個不同的物理NUMA節點。盡管虛擬機仍舊在兩個NUMA節點之間擴展,但虛擬機內的操作系統和應用能夠感知NUMA,資源使用將會得到優化。

NUMA已經對在數據中心服務器上安裝及選擇內存的方式帶來了很多改變。在給服務器增加物理內存時,我們需要注意增加的內存要在NUMA節點之間進行平衡及匹配以使主板上的每個處理器擁有相同的內存。如果在我們所舉例的服務器上配置更多的內存,那么必須在處理器之間平衡這些內存模塊。如果增加64GB的內存,那么每個處理器將分配到32GB的內存(每個處理器可支配的內存將增加到96GB,服務器總內存數將達到192GB),每個NUMA節點的內存大小將從8GB增加到12GB。

結合VMWARE的最佳實踐,VMware一般給CPU建議,最大支持64個vCPU,一般不超過32個,最好不要超配置;內存一般不給建議,根據不同的業務對內存大小會有不同的要求,當然最好不要跨NUMA單元去進行調用。

另外還要注意一點NUMA架構只針對物理CPU(Socket),不針對核(Core)。由于每個Socket控制的內存插槽是不同的,因此要確保內存插槽是均勻的。例如128G內存分為8個16G的內存條,那么應該4個插在一個Socket的內存插槽中,另4個插在另一個socket的內存插槽中。在為虛機分配vCPU資源時,也盡可能按照Socket/Core的倍數分配,比如1X1, 1X2, 1X 4, 1X8, 2X1, 2X2, 2X4, 2X8等組合,但不要使用2X3, 2X5, 2X7這種組合。后面的組合會引起跨Socket的內存調用,從而容易導致性能下降.

2.3 存儲層面

從存儲層面來說,X86物理服務器上的VM連接后端存儲劃過來的LUN。在Lun上創建虛擬磁盤有三種方式:厚置備延遲置零、厚置備置零與精簡置備。如圖4所示:

圖4:磁盤三種模式

厚置備延遲置零(zeroed thick)以默認的厚格式創建虛擬磁盤,創建過程中為虛擬磁盤分配所需的全部空間。創建時不會擦除物理設備上保留的任何數據,但是以后從虛擬機首次執行寫操作時會按需要將其置零。簡單的說就是立刻分配指定大小的空間,空間內數據暫時不清空,以后按需清空;厚置備置零(eager zeroed thick)創建支持群集功能(如 Fault Tolerance)的厚磁盤。

在創建時為虛擬磁盤分配所需的空間。與平面格式相反,在創建過程中會將物理設備上保留的數據置零。創建這種格式的磁盤所需的時間可能會比創建其他類型的磁盤長。簡單的說就是立刻分配指定大小的空間,并將該空間內所有數據清空;精簡置備(thin)使用精簡置備格式。最初,精簡置備的磁盤只使用該磁盤最初所需要的數據存儲空間。如果以后精簡磁盤需要更多空間,則它可以增長到為其分配的最大容量。簡單的說就是為該磁盤文件指定增長的最大空間,需要增長的時候檢查是否超過限額。

另外thin provision格式在VM使用的時候比起厚置備格式也會有一些負面的性能影響。這是因為thin provision格式的磁盤是動態擴大的,一個數GB大小的vmdk文件在磁盤上不是一次生成的,因此不像厚置備格式的磁盤那樣可以占用連續的磁盤空間,因此在訪問thin provision格式的磁盤的時候,必然會因為磁頭在不連續的磁盤塊之間移動導致尋址時間較長,從而影響到Disk IO性能。
綜上所述,無論是在部署還是應用時,thin provision格式的性能都不如厚置備,所以在空間不緊張夠用的情況下建議大家使用厚置備格式的虛擬磁盤。

3、結合業務如何進行x86虛擬化后的性能優化

例如一個Linux下的postfix郵件系統,包含郵件服務器,數據庫和網絡。從磁盤看郵件系統的一個最大的問題是:不是很多大文件的讀寫,而是很多小文件的讀寫,而且這些讀寫請求是來自同一時間的多個進程或者線程。對這種很多小文件的讀寫應用服務,在分配郵件用戶所在的磁盤時,建議使用Thin provision模式。這樣既避免了初始空間的大量占用,也可以做到隨需增長。
從內存上看,對于postfix而言,它的每一個進程不會消耗太多的內存,我們期望的是大量的內存被自動使用到磁盤緩存中來提高磁盤I/O速率,當然這個我們不需要操作,Linux幫我們完成了!Linux虛擬內存管理默認將所有空閑內存空間都作為硬盤緩存。因此在擁有數GB內存的生產性Linux系統中,經??梢钥吹娇捎玫膬却嬷挥?0MB。從處理器上看郵件系統,不管是smtp、imap對CPU的占用都不是很大。這樣我們在分配CPU和內存資源時,就可以按照NUMA架構來配置固定大小的單元。比如一臺配置了兩顆八核處理器以及128GB內存的服務器,虛擬化成4臺郵件服務器,就可以每臺分配成4核32G。
從網絡上看,郵件系統會頻繁的使用網絡子系統,但是郵件系統的瓶頸還是磁盤的吞吐而不是網絡的吞吐,對應這種應用不要求強交互,延遲是允許的,所以網卡是虛擬的還是SR-IOV的影響都不大。
對于郵件系統的數據庫服務器,因為小文件隨機讀寫比較多,數據庫的磁盤可以選擇厚置備模式,提高小數據塊的IO。
對于不同的業務系統,具體的問題還需要具體分析,性能優化不是一朝一夕的事,隨著業務的發展變化,優化的技術手段和方式都會相應的隨之改變。

 4、從企業日常使用和管理角度看x86服務器的虛擬化

不同的企業級應用對于CPU和內存資源和空間的利用率是不同的,如何利用NUMA架構來優化資源的分配和提高性能對于企業數據中心的管理也是非常有意義的。見表3。

應用

CPU

內存

IOPS

吞吐

數據庫

140 IOPS

15MB/S

郵件系統

320 IOPS

20MB/S

VDI桌面

15 IOPS

4MB/S

網站

隨需變化

隨需變化

1400 IOPS

18MB/S

文件服務器

80 IOPS

9MB/S

表3 不同企業級應用的資源利用率對比

對于數據庫服務器,由于對CPU和內存資源要求較高,不適合多機共享資源使用,所以盡可能使用配置較好的物理機,而對于VDI桌面、文件服務器則更適合NUMA架構下固定CPU和內存單元的分配,郵件系統則需要根據具體情況做NUMA架構的資源分配,對于隨需變化的網站則不一定全部適合做NUMA,比如網站中的緩存服務器則更適合做非NUMA架構的內存分配。在分配磁盤空間時,對IO性能需求比較大的業務系統,適合做厚置備的空間分配;對IO性能需求不是很高的、業務增長空間不是很大的業務系統,則適合做精簡配置的空間分配。

5、結束語

X86服務器虛擬化是一項用以整合服務器資源、提高效率的技術。X86虛擬化可以帶來更高的服務器硬件及系統資源利用率,帶來具有透明負載均衡、動態遷移、故障自動隔離、系統自動重構的高可靠服務器應用環境,以及更為簡潔、統一的服務器資源分配管理模式。X86服務器虛擬化在資源劃分后的性能優化也極大提高了數據中心的整體資源利用率,符合當今綠色節能的新理念。 

 

責任編輯:張燕妮 來源: 51CTO
相關推薦

2009-09-16 11:06:00

虛擬化高性能x86服務器

2013-01-31 10:04:20

x86服務器虛擬化

2013-08-22 10:13:47

x86服務器虛擬化

2014-07-18 10:14:13

VMware服務器虛擬化

2009-07-03 14:10:47

刀片服務器IBM虛擬化

2018-01-12 11:09:02

x86Linux服務器

2013-10-29 10:13:49

微服務器x86服務器x86

2014-03-14 09:58:49

服務器ARMx86

2022-05-07 11:47:36

服務器架構

2012-08-14 09:33:50

x86服務器RISCUNIX

2014-08-12 09:24:35

x86服務器華為

2016-10-13 13:23:48

服務器

2011-02-20 22:23:43

X86虛擬化XenServer

2012-07-04 10:14:59

VMware

2012-04-27 16:02:23

服務器至強E5英特爾至強處理器

2012-09-19 09:51:45

Windows Serx86服務器選型

2012-04-28 09:07:48

甲骨文x86

2012-07-09 10:19:42

ARMX86服務器CPU

2019-07-15 13:11:57

Power

2010-04-08 10:14:55

X86服務器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美亚洲国产一区 | 精品无码久久久久久久动漫 | 91欧美激情一区二区三区成人 | 一区中文字幕 | 亚洲人久久 | 免费一区 | 欧美精品网站 | av网站在线播放 | 99福利视频 | 天天插天天操 | 婷婷综合色 | 国产 欧美 日韩 一区 | 日本免费在线观看视频 | 亚洲国产精品一区二区久久 | 国产综合一区二区 | 一区二区三区av | 国产精品久久久久久久久久免费看 | 蜜臀网| 久久福利电影 | 国产伦精品一区二区 | 欧美国产日韩在线观看 | 久久精品中文 | 看片国产| 久久久高清 | 成av在线| 精品欧美一区二区三区久久久 | 成人久草 | 天天看片天天干 | 九久久| 免费的黄色片子 | 免费一区 | 天天干狠狠干 | 国产精品欧美精品 | 成人精品免费 | 在线免费国产 | 免费观看黄a一级视频 | 亚洲精品在线看 | 国产成人jvid在线播放 | 精品久久香蕉国产线看观看亚洲 | 一区二区三区视频 | 特一级毛片 |