利用CaaS控制虚拟机蔓延
虛擬化計算技術在給企業IT系統帶來改善和提高的同時,也帶來了一些現實的問題。對于許多部署了桌面虛擬化和服務器虛擬化技術的企業來說,虛擬機蔓延慢慢成為了突出的問題之一。如果不對虛擬機蔓延加以控制和管理,久而久之,它們將會對虛擬化基礎架構的總體效率產生不利的影響。連接即服務(CaaS,Connection as a Service)的出現,不僅僅幫助完成了網絡連接的資源化,同時為控制虛擬機蔓延提出了新的思路。
1. 虛擬機蔓延
1.1. 什么是虛擬機蔓延?
計算虛擬化技術將操作系統從運行它的底層硬件中抽離出來,并為操作系統及其應用程序提供標準化的虛擬硬件,從而使得多臺虛擬機能夠在一臺或者多臺共享處理器上同時獨立運行。借助虛擬化技術,用戶可以輕松將多臺不同服務器的工作負載整合到更為可靠并且性能更高的硬件平臺上。
圖1 虛擬化的關鍵特性
基于固有的分區、隔離和封裝等特性,虛擬機與物理服務器相比具有很多優勢。(如圖1所示)其特點包括:
? 虛擬機在標準的 x86 物理服務器上運行,可訪問物理服務器的所有資源(如 CPU、內存、磁盤、網絡設備和外圍設備),因此任何應用程序都可以在虛擬機中運行;
? 虛擬機彼此完全隔離,從而實現安全的數據處理、網絡連接和數據存儲,可與其他虛擬機同時運行,從而充分利用硬件資源;
? 虛擬機鏡像封裝于文件之中,因此通過簡單的文件復制便可實現部署、備份以及還原;
? 可遷移,可以便捷地將整個系統(包括虛擬硬件、操作系統和配置好的應用程序)在不同的物理服務器之間進行遷移,甚至還可以在虛擬機正在運行的情況下進行動態遷移;
? 可作為即插即用的虛擬工具(包含整套虛擬硬件、操作系統和配置好的應用程序)進行構建和分發,從而實現快速部署。
正是計算虛擬化的這些優勢,計算虛擬化在企業IT系統中迅速得到普及應用,企業通過虛擬化技術整合服務器資源、提高硬件資源利用率、增加業務部署彈性,在能源消耗、成本消減以及效率提高等方面收益,虛擬機在全球范圍內的部署數量也不斷穩步提高,從圖2中可以看出,2009年是計算虛擬化應用的拐點,虛擬機的數量開始反超硬件服務器的數量。
圖2 虛擬機部署在全球的部署統計(Source:IDC)
虛擬化技術不僅消除大規模異構服務器的差異化,其形成的計算池可以具有超級的計算能力,在一個云計算中心物理服務器達到數萬臺是一個很正常的規模(如圖3所示)。
圖3密集的虛擬機群
一臺物理服務器上運行的虛擬機數量是動態變化的,一般是4到20,某些高密度的虛擬機可以達到100:1的虛擬比(即一臺物理服務器上運行100個虛擬機),在當前CPU性能不斷增強(主頻提升、多核多路)、各種硬件虛擬化(CPU指令級虛擬化、內存虛擬化、橋片虛擬化、網卡虛擬化)的輔助下,物理服務器上運行的虛擬機數量會迅猛增加。一個大型IDC中運行數十萬個虛擬機是可預見的。
總的來說,虛擬機創建起來越容易,數量就會越來越多,而想要回收計算資源或清理虛擬機的工作就會越來越難,這種不受控制的虛擬機繁殖被稱為虛擬機蔓延(VM Sprawl)。虛擬機蔓延有以下幾種表現形式。
1、幽靈虛擬機:許多虛擬機的創建沒有經過合理的驗證和審核,導致了不必要的虛擬機配置,或者由于業務需求,需要保留一定數量的冗余虛擬機,當這些虛擬機被棄用后,如果在虛擬機的生命周期管理上缺乏控制,隨著時間的遷移,沒有人知道這些虛擬機的創建原因,從而不敢刪除、不敢回收,不得不任其消耗計算資源。
2. 僵尸虛擬機:許多虛擬機被停機了,但由于虛擬機生命周期管理流程的缺陷,相關的虛擬機鏡像文件依然被保留在硬盤上,出于備份的考慮,甚至還可能保有多份副本,這些虛擬機資源大量占據著服務器的存儲資源。
3、虛胖虛擬機:許多虛擬機被過度配置(過高的CPU、內存和存儲容量等),而在實際部署后完全沒有充分利用這些被分配的資源,長期占據CPU、內存和存儲資源,形成浪費。
1.2. 虛擬機蔓延的后果
虛擬機蔓延意味著沒有適當總量控制的虛擬機的創建和部署。一個節省成本的技術如果沒有被很好的使用時,反而會增加使用成本。在數據中心里,虛擬機的蔓延會增加擁有虛擬機的總體成本,包括以下幾個方面。
1、軟件License成本
在軟件的耗費成本因素中,License費用是最大的。并且虛擬機都需要操作系統和應用程序的License費用,通常情況下是按照單一CPU或者單一CPU內核來收費License費用。因此,無論虛擬機是否運行,只要部署安裝,License費用都是需要支付的。
2、服務器及存儲設備成本
企業用戶在部署虛擬機時通常會采購多CPU、大內存的服務器,以滿足不斷增長的虛擬機數量。這些買來用于托管虛擬機的服務器的標準規格通常要比單機的X86服務器要高的多,托管多個虛擬服務器需要更多的中央處理器資源和更大的內存,這些都需要消耗更多的能源和產生更大的熱量。
同時,每創建一個虛擬機都會生成對應的虛擬機image文件,這些文件通常尺寸不會太小(1~2GB的很常見)。隨著虛擬機的創建,存儲空間會快速的被消耗,如果考慮到備份需求,存儲容量規劃通常需要加倍增加。
當計算虛擬機的成本時,要包括針對這些虛擬機、映像以及備份的硬盤相關成本。
3、時間成本
雖然虛擬機在創建過程的時間被大大縮短,但企業用戶依舊需要投入大量的時間到虛擬機的部署中:
(1) 隨著虛擬機數量的增加,所需的存儲資源也會增加,這就導致存儲硬件也有所增加,這意味著對這些額外的映像進行備份需要花費大量時間;
(2) 虛擬機的定位、監控以及生命周期管理需要投入大量時間。
2. 利用CaaS控制虛擬機蔓延
虛擬化部署不可避免,如何控制虛擬機蔓延呢?基本思路就是"開源節流":減少資源消耗、重復利用和回收資源。一方面從源頭上控制,減少未經授權和過度配置的虛擬機數量;另一方面積極監控虛擬機使用情況,回收閑置及被棄用的虛擬機。
802.1Qbg標準提供了控制虛擬機網絡接入的精細化解決方案,即在鄰接物理交換機提出vPort的概念(如圖4所示),類似物理交換機的網絡端口,vPort這類邏輯虛接口可以實現和VM對應的vNic/VSI的1:1對應關系。
圖4 802.1Qbg的vPort
同時,802.1Qbg的VDP特性解決了VM接入定位準確性的問題,即通過VDP通告,鄰接物理交換機學習到連接接入的VM信息和對應的網絡連接配置信息,并主動向網管系統請求對應的網絡連接配置profile,減少了網管系統進行VM接入位置定位的步驟。
對系統管理員來講,只需要關注網絡提供的虛擬服務器到鄰接交換機的連接;而對網絡管理員而言,則只需要關注針對不同的應用系統(或VSI類型)應提供什么樣的網絡接入配置。這樣在網絡和服務器之間就產生了一種抽象的服務概念——連接即服務(CaaS,Connection as a service)。連接即服務的出現,不僅僅幫助完成了網絡連接的資源化,同時為控制虛擬機蔓延提出了新的思路。
2.1. 通過網絡資源申請減少未經授權和過度配置的虛擬機數量
在數據中心環境中,為實現按需分配資源,需要計算、存儲、網絡資源的協同調度,才能完成服務/應用的創建部署。如圖5所示,此過程中需要為服務(VM)分配:
圖5網絡資源分配
引入802.1Qbg后,虛擬機在創建時,需要申請網絡資源vPort,即到鄰接交換機的連接,才能接入網絡,虛擬機和其申請到的網絡資源一一對應,只要制定適當的策略,管理員不僅可以控制虛擬機的創建方式,還可以控制該虛擬機所消耗的資源量及資源消耗方式。若企業需要進一步對虛擬機進行管理,只需制定相應的策略,實現虛擬機審核流程自動化,從而避免創建多余的虛擬機,實現虛擬機蔓延的控制。
2.2. 通過VM智能感知回收閑置及被棄用的虛擬機
對大部分資源回收方案來說,最耗費人力和時間的環節是識別和搜集可回收資源。虛擬基礎架構資源回收也有著同樣的問題。
對于數據中心部署的虛擬機來說,是否具備活動的網絡流量是識別虛擬機是否在線的一種手段,因此通過監控虛擬機的網絡流量來識別閑置虛擬機是管理員可借助的手段之一,同時輔助虛擬機CPU狀態、內存活動、磁盤IO等信息綜合判斷并識別閑置虛擬機。
目前正在形成標準的802.1Qbg方案中,VM間的流量必須通過外部網橋進行交換。如圖6所示,網絡具有完全的流量可視性,只要網絡流量分析管理軟件(如H3C iMC管理組件)能夠將觸角延伸到VEPA外部網橋上即可。
圖6 802.1Qbg網絡流量模型
借助802.1Qbg標準,虛擬機的東西向流量以及南北向流量均可納入可監控范圍,同時通過H3C iMC的可視化流量監控,管理員可以初步判斷閑置虛擬機(如圖7所示)。
圖7 H3C iMC流量監控
同時,H3C iMC網絡管理軟件已經可以提供虛擬機的CPU、內存、磁盤IO信息監控,如圖8所示
圖8 H3C iMC支持VM的CPU、內存、磁盤IO信息監控
綜合以上手段識別閑置和被棄用的虛擬機后,企業可根據自身策略和管理要求,執行閑置虛擬機回收機制,為了提高回收流程的管理效率,企業需要一個自動化流程配置平臺,借助它將已確認的非閑置虛擬機從閑置虛擬機報告列表中剔除,與用戶確認該虛擬機是否需要保留,并將那些不需要保留的虛擬機所消耗的資源全部進行回收。
3. 結束語
基礎架構虛擬化的投資回報是直接而且可量化的。對于企業來講,通過虛擬化整合物理資源可獲得很大的管理收益。然而,虛擬化基礎架構的低利用率會造成相當高的資源浪費,從而導致虛擬化所帶來的實際成本節約沒有預期那么高。EVB(802.1Qbg)網絡方案不僅僅實現的網絡資源的虛擬化和池化,同時它也解決了虛擬機在網絡中的精確定位和虛擬機流量監控問題,通過網絡資源申請減少未經授權和過度配置的虛擬機數量以及通過VM智能感知回收閑置及被棄用的虛擬機,都是有效控制虛擬機蔓延的手段。
總結
以上是生活随笔為你收集整理的利用CaaS控制虚拟机蔓延的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java中的IO整理(转)
- 下一篇: 红帽 linux 安装,linux (红