史昂
鶴煤集團信息中心 河南鶴壁 458030
我公司已經搭建了虛擬化平臺,主要的業務正逐步遷入虛擬化平臺中,依托公司現有的虛擬化平臺,建設了桌面云系統,用戶通過瘦終端登錄桌面云系統辦公。那么究竟什么是虛擬化呢,它是如何實現的?下面就由我淺談一下云計算KVM虛擬化技術及應用。
虛擬化可以概況為:通過在服務器上部署虛擬化軟件,使一臺物理服務器可以承擔多臺服務器的工作。通過整合現有的業務負載并利用剩余的服務器資源以部署新的應用程序和解決方案,實現較高的資源利用率。
虛擬化是一種具體的技術,實現對硬件資源的虛擬化,提升資源利用率,降低能耗。云計算是一種概念,是各種技術組件的集合,針對的是對各種資源的管理和調度,面向的是服務層面,虛擬化只是云計算使用的技術之一,沒有虛擬化也可以用物理硬件來實現云計算[1]。
虛擬化分為計算虛擬化、網絡虛擬化、存儲虛擬化;通過虛擬化技術把硬件資源如:CPU、內存整合在一起組成計算池,把服務器網絡和虛擬機網絡整合在一起組成網絡池,把服務剩余存儲空間或者外置存儲系統的可用空間整合起來組成存儲池,通過整合之后的資源為業務提供服務[2]。
(1)計算虛擬化分為三部分:CPU虛擬化、內存虛擬化、IO虛擬化。①CPU虛擬化:即多個虛擬機共享CPU資源,此技術最早在IBM小型機上面得以實現。小型機的CPU虛擬化采用的是“特權解除”和“陷入-模擬”的方式,解除了用戶操作系統的特權,用戶操作系統大部分指令仍在硬件上運行,只是運行到特權指令時,才會陷入到VMM模擬執行。根據這個理念,X86架構CPU也采用此開發理念,但是在應用的過程中,發現非特權級里面包含了19條敏感指令,當用戶操作系統執行這些敏感指令時,整個硬件系統會陷入癱瘓,為此推出了半虛擬化、全虛擬化、硬件輔助虛擬化,目前主流采用的虛擬化技術為硬件輔助虛擬化,依靠硬件對敏感指令“陷入-模擬”,效率最高。②內存虛擬化是把物理機的真實物理內存統一管理,把物理內存分成多份分給若干個虛擬機使用。我單位采用的虛擬化平臺底層采用KVM虛擬機技術,平臺支持內存硬件輔助虛擬化技術,降低內存虛擬化開銷,提升約30%的內存訪問性能。同時,平臺支持智能內存復用策略,自動優化組合各種內存復用策略,實現內存的高復用率。每個虛擬機最大支持1TB虛擬內存。平臺支持以下內存復用技術:內存氣泡:系統主動回收虛擬機暫時不用的物理內存,分配給需要復用內存的虛擬機。內存的回收和分配都是動態的,虛擬機上的應用無感知。整個物理服務器上的所有虛擬機使用的分配內存總量不能超過該服務器的物理內存總量。內存交換:將外部存儲虛擬成內存給虛擬機使用,將虛擬機上暫時不用的數據存放到外部存儲上。系統需要使用這些數據時,再與預留在內存上的數據進行交換。內存共享:多臺虛擬機共享數據內容為零的內存頁。通過內存復用,虛擬機總配置內存超過物理主機實際內存運行,通過虛擬機之間內存復用,內存共享,內存交換等技術實現物理內存120%的超分配比例[3]。③I/O虛擬化分為:完全虛擬化、半虛擬化、IO透傳虛擬化。完全虛擬化:又叫I/O模擬,完全使用軟件模擬真實硬件,如:鼠標、鍵盤、通過焦點捕獲,焦點被那個主機捕獲就被那個主機使用,性能較差。半虛擬化:對硬件驅動由前段直接轉到后端調用,通過用于硬盤和網卡,性能高。IO透傳:直接分配給虛擬機物理設備,如:直接分給虛擬機一塊硬盤或者網卡,需要硬件支持I/O透傳技術。
(2)存儲虛擬化。存儲虛擬化是在存儲設備上加入一個邏輯層,通過邏輯層訪問存儲資源,因為虛擬化平臺是一個集群系統,整個集群系統訪問存儲資源必定存在讀寫的先后順序,這個邏輯層可以很好的控制資源的讀寫訪問,可以理解為集群系統訪問共享存儲。目前組網使用最多的是外置存儲系統或者分布式存儲通過接口掛載給虛擬化平臺,虛擬化平臺通過自身格式化存儲空間后,把資源分配個客戶操作系統使用。
(3)網絡虛擬化。在KVM虛擬化平臺里面又叫分布式交換機,類似通用的物理交換,分布式交換機連接虛擬機和外部網絡,支持多種標準接口和協議,支持多個物理服務器的分布式環境,能夠與大部分開源的虛擬化平臺整合,支持openflow協議。支持多種網卡類型:普通網卡,智能網卡等。
通過使用虛擬化平臺,使用過程中有以下優點:
(1)集中運維,通過虛擬化平臺創建、部署、管理、監控所有虛擬機。
(2)資源按需分配,根據硬件資源的利用率,合理分配虛擬機資源,資源利用達到最大化。
(3)自動化調度,根據系統設置的策略實現虛擬機遷移,使資源分配在各個服務器上面達到均衡。
(4)虛擬機故障轉移,根據系統設置的策略,當服務器故障或者虛擬機藍屏時,虛擬機自動遷移到正常的服務器上面,重啟開啟業務。
(5)節能減排,業務虛擬機集中在虛擬化平臺上面,減少服務器數量,從而降低投資成本、總功耗等。