摘自《VMware vSphere 部署的管理和優化》一書後端
容量規劃:兩個關鍵要素,性能和容量服務器
性能:網絡
幾乎在全部狀況下,都建議先作性能規劃,在作容量規劃。架構
vSphere5在性能上的開銷是很是小的,小到幾乎能夠忽略不計。VMware曾用EMC存儲進行過測試,單臺vShpere主機可以達到每秒100萬次I/O操做,在單臺虛擬機上達到了每秒30萬次I/O操做。雖然這是很是高端環境中進行的測試,但對於普通中小企業環境中每秒5000~15000次的I/O操做,vSphere 5處理起來仍是綽綽有餘的。ide
對於目前的服務器性能,CPU和內存的容量基本上就意味着性能,但存儲則另當別論。並且,在虛擬化環境中大量的應用到共享存儲,致使存儲每每是對性能的影響是最嚴重的地方。工具
規劃存儲時,須要重點關注兩個指標,IOPS和MBps。性能
IOPS用來衡量存儲陣列每秒可處理的I/O請求數,一般與後端磁盤子系統的關係更爲緊密。它的性能指標與磁盤尺寸和轉速相關的。測試
MBps則更多用於衡量帶寬,它又分爲讀速率和寫速率兩個指標,用以衡量後端磁盤子系統能承受多少數據壓力。優化
收集這些指標的方法能夠經過Vmware Capacity Planner或者其餘第三方工具得到。spa
如下是不一樣類型磁盤的IOPS值的保守估計數值:
7.2K SATA或NL-SAS:90 IOPS;
15K FC或SAS:180 IOPS;
SSD:2500
有了以上參考值,就能夠根據所選磁盤類型計算出所需磁盤的數量。好比,工做負載須要15000IOPS、340 MBps讀速率、100MBps寫速率,使用15K SAS磁盤組建RAID5磁盤子系統,那麼,計算過程以下
((讀%+(4X寫%))X所需IOPS/每磁盤IOPS=磁盤數
讀操做佔比=340/(340+100)≈77.27%;寫操做佔比=100/(340+100)≈22.73%
計算結果取整後,大約須要141個磁盤。改用SSD後,大約須要11個磁盤,可是SSD又難以知足容量的需求。
這時,就須要利用到虛擬存儲池以及子LUN存儲分層技術。由SSD和HDD分層組成一個虛擬存儲池,數據塊將根據工做負載移動到合適的層級上,由SSD提供更高的IOPS和速率,而HDD則能夠提供更大的容量。
容量:
虛擬基礎架構的性能需求指的是全部應用程序的性能需求的總和;
虛擬基礎架構的容量需求指的是全部工做負載資源使用量的總和。
須要規劃的是在給定工做負載的狀況下須要給予多少資源(容量),以及這些資源應該有多快(性能)。
須要特別關注的四種核心資源:CPU、磁盤、內存、網絡
規劃新應用時的通常推薦作法:
多與應用供應商交流,諮詢其是否在物理環境的規格以外,還有虛擬環境下的推薦配置;
在作生產環境硬件容量規劃前,嘗試先在測試環境上對應用程序進行基準評測;
檢查一下應用供應商是否以開放式虛擬化設備OVA或開放式虛擬化格式OVF的方式提供該應用的專用虛擬設備。這將大大減小測試部署的時間。
對於現有的應用,咱們一般更關心核心資源的利用率,而不是初始分配值。
好比物理機是4核2GHz的CPU,可是使用率峯值只有15%,那麼只須要1顆vCPU便可知足1.2GHz的CPU資源,且留有必定的冗餘。(推薦工具:VMware Capacity Planner)
原始容量規劃數據收集
基礎架構上將要並行的虛擬機數量
物理系統的平均CPU(MHz)
每臺物理系統的平均CPU數(總的核心數量)
每臺物理系統的CPU利用率峯值平均數(百分比)
每臺物理系統的內存平均數(MB)
每臺物理系統的內存利用率峯值平均數(百分比)
建議的或想要的主機規格信息
CPU:每臺主機的CPU插槽數
CPU:每一個CPU的內核數
CPU:每顆內核的MHz數
內存:每臺主機的MB數
按如下公式計算所需容量
CPU:
每臺物理機CPU平均值(MHz)X平均CPU數X高峯時CPU利用率平均值(%)=高峯時CPU利用平均數(MHz)
同時運行的虛擬機數量X高峯時CPU利用平均數(MHz)=高峯時CPU總利用數(MHz)
經過計算得出虛擬基礎架構須要的計算能力
內存:
每臺物理機的平均內存量(MB)X高峯時內存使用率平均值(%)=高峯時內存使用量平均值(MB)
同時運行的虛擬機數量X高峯時內存使用量平均值(MB)=高峯時內存總使用量(MB)
注:vSphere經過TPS(透明頁面共享)機制在虛機之間共享內存頁面,通常可得到33%的內存收益。
經過計算得出虛擬基礎架構須要的內容容量
主機CPU規格:
每臺主機CPU數量X每顆CPU內核數量X每一個內核的MHz數=每臺主機的MHz數
每臺主機容許的CPU最高利用率(%)X每臺主機的MHz數=每臺主機CPU的可用MHz數
計算得出每臺主機的計算能力
主機內存規格:
每臺主機內存量(MB)X每臺主機容許的最大內存使用率(%)=每臺主機可用內存量
計算得出每臺主機的內存容量
注:通常建議保留20%的主機資源用於額外開銷或應付可能發生的資源突發請求。
根據CPU需求計算出主機數:
高峯時CPU總利用率(MHz)/每臺主機可用CPU(MHz)=根據CPU需求所需主機數(湊整)
根據CPU需求所需的主機數+1=在N+1冗餘要求時所需的主機數
根據內存需求計算出的主機數:
高峯時內存老是用量(MB)/每臺主機可用內存量(MB)=根據內存需求所需的主機數(湊整)
根據內存需求所需的主機數+1=在N+1冗餘要求時所需的主機數
最終所需的主機數取決於最壞的狀況,即,二者取最大值。
網絡端口規劃:
將同一臺vSphere主機上不一樣類型的網絡流量互相隔離,這是廣泛認同的一種最佳實踐
例如:
管理網絡:VMkernel(兩個網卡)
vMotion:VMkernel(兩個網卡)
容錯(FT):VMkernel(兩個網卡)
存儲:VMkernel(兩個網卡)
虛擬機流量:虛擬機網絡(兩個網卡)
帶外管理網絡:1個網卡
這意味着一臺vSphere主機須要11個網絡端口上聯,兩個互備的24口的交換機僅能知足4臺vSphere主機的配置。
可採用融合機架式架構或融合刀片式架構來解決端口的問題,這樣的架構一般只有兩個萬兆網絡端口,而且能夠經過增長上行鏈路的方式進行擴容;
也能夠取消不用的端口類型,好比,使用FCSAN使,能夠取消存儲網絡;未啓用FT容錯功能時,能夠取消容錯網絡網絡;或者對不一樣類型的端口進行整合,好比,網卡1用於vMotion網絡,網卡2用於管理網絡,能夠將網卡1用於管理網絡備用,網卡2用於vMotion網絡備用。