虛擬化“祕籍”的特性

我們都知道雲計算只是一種模式,而虛擬化纔是一種技術,而云計算1.0時代就是以虛擬化爲主的,那爲什麼虛擬化能成爲雲計算中很重要的部分呢?
之前,我們知道虛擬化的特點是分區,隔離,封裝,獨立。基於這些特性,從集羣和虛擬機兩個角度介紹。

虛擬化集羣特性

一、虛擬化集羣特性
集羣是一種把一組計算機組合起來作爲一個整體向用戶提供資源的方式,在虛擬化集羣中可以提供計算資源、存儲資源和網絡資源,只有包含了這些資源以後,該集羣纔是完整的。
1、HA特性
HA實現的基本原理:
使用集羣技術,克服單臺物理主機的侷限性,最終達到業務不中斷或者中斷時間減少的效果。在虛擬化中的HA只保證計算層面,具體來說,虛擬化層面的HA是虛擬機系統層面的HA,即當一臺計算節點出現故障時,在集羣中的另外一臺節點中能快速自動的將其啓動起來。
虛擬化集羣一般都會使用共享存儲,虛擬機由配置文件和數據盤組成,而數據盤是保存在共享存儲上的,配置文件則保存在計算節點上。當計算節點出現故障時,虛擬化管理系統(如vCenter、VRM等)會根據記錄的虛擬機配置信息在其它節點重建出現故障的虛擬機。
而在實現的過程中,解決兩個問題:
①如何發現是否發生故障
②虛擬機不能正常啓動怎麼辦

要檢測到計算節點是否故障,管理員需要定期和集羣內所有的節點建立通訊,一旦某個節點無法通訊,則證明該節點可能出現了故障。以華爲的 FusionCompute爲例,CNA主機和VRM通過心跳機制來保證VRM有效的感知CNA節點是否發生了異常,具體過程如下:
①CNA主機側有某個進程或服務承載着心跳機制的任務;
②主機每間隔3s會向VRM主動上報心跳,如果連續10 次,即30s內主機沒有向VRM上報心跳,則會置此主機爲“故障”狀態,此時FC-Portal上會有“主機與VRM心跳異常”的告警出現;
③主機每次向VRM上報心跳的時候都有超時機制,socket連接、接收、發送超時時間均爲10s,如果VRM服務有異常或網絡出現異常,都可能導致超時出現,而每次打印超時日誌的時機=“超時探測時間間隔3s”+“socket超時時間10s”= 13s 的日誌時間戳;
④VRM側每收到一個主機側發來的心跳就會將心跳頻率heartBeatFreq變量設置爲10(默認爲10,此值可以通過修改配置文件修改),檢測線程每3s會將該值減1,同時對該參數當前值進行判斷,如果<=0,則認爲此值對應的主機節點異常,在FC-Portal 上報告警,同時會把此主機異常的消息發送給VRM進行虛擬機HA 機制判斷。

接下來看一下第二個問題。虛擬機在其它主機上啓動的時候,有可能會虛擬機上的業務無法自啓動,甚至可能操作系統都無法正常啓動,所以虛擬機層面的業務不能恢復的風險很大,同時業務恢復的時間也較長,這時候我們需要啓用業務層面的HA,一旦主用的虛擬機出現故障或者不能恢復時,業務會藉助浮動IP、Keepalived等與高可用相關的技術,將業務在備用的虛擬機上恢復。虛擬機層面的HA一般會和應用層面的HA 配合使用,可以縮短業務恢復的時間,提高業務恢復的機率。
2、負載均衡
負載均衡是一種集羣技術,它將特定的業務(網絡服務、網絡流量等)分擔給多臺網絡設備(包括服務器、防火牆等)或多條鏈路,從而提高了業務處理能力,保證了業務的高可靠性。
具備以下優勢:高性能,可擴展性,高可靠性,可管理性(大量的管理工作都集中在應用負載均衡技術的設備上,設備羣或鏈路羣只需要常規的配置和維護即可),透明性。
3、易擴容
在傳統非虛擬化的環境中,所有的業務都部署在物理機上,有可能在系統建設的初期,業務量不是很大,所以爲物理機配置的硬件資源是比較低的,隨着業務量的增加,原先的硬件無法滿足需求,只能不停的升級硬件,比如將原先的一路CPU升級爲兩路,將256G的內存升級爲512G,這種擴容方式稱爲縱向擴容(Scale-up)。然而,物理機的所能承擔的硬件是有上限的,如果業務量持續增加,最後只能更換服務器,停機割接是必然的。
在虛擬化中,將所有的資源進行池化,承載業務虛擬機的資源全部來自於這個資源池,當上面業務量持續增加的事情發生時,我們不需要升級單臺服務器的硬件資源,只需要增加資源池中資源即可,具體在實施的時候,只需要增加服務器的數量即可,這種擴容方式稱爲水平擴容。
4、內存複用
內存複用是指在服務器物理內存一定的情況下,通過一定技術手段,使得虛擬機內存總和大於服務器物理內存總和,提高服務器中虛擬機密度。
內存複用的技術主要包括:內存氣泡、內存置換、內存共享。一般情況下,這三種技術需要綜合應用,同時生效。
內存氣泡
系統主動回收虛擬機暫時不用的物理內存,分配給需要複用內存的虛擬機。內存的回收和分配均爲系統動態執行,虛擬機上的應用無感知。整個物理服務器上的所有虛擬機使用的分配內存總量不能超過該服務器的物理內存總量。
在這裏插入圖片描述每臺虛擬機有2G 的虛擬內存,然而VM1的內存利用率僅爲20%,而VM2和VM3的內存利用率都到了70%,此時,系統會自動將分配給VM1的物理內存在後臺映射給VM2和VM3以達到緩解內存壓力的效果。
內存置換
將外部存儲虛擬成內存給虛擬機使用,將虛擬機上暫時不用的數據存放到外部存儲上。系統需要使用這些數據時,再與預留在內存上的數據進行交換。
在這裏插入圖片描述內存置換類似於windows的虛擬內存和linux的swap分區的作用,都是使用存儲模擬內存的功能,將一部分已被調用到內存但是使用頻率很低的數據先放到磁盤中,當這些數據到用到的時候,這些數據會再被調回到內存中。
內存共享
多臺虛擬機共享數據內容相同的內存頁。
在這裏插入圖片描述使用了內存複用後,可在一定程度上降低客戶的成本。
 當計算節點的內存數量固定時,可以提高計算節點的虛擬機密度。
 當計算節點的虛擬機密度固定時,可以節省計算節點的內存數量。
二、虛擬化特性介紹
1、虛擬機快速部署
虛擬機的快速部署可以通過兩種方式實現——按模板部署和虛擬機克隆。
模板的本質也是一臺虛擬機,可以理解爲虛擬機的一個副本,它同樣包含了虛擬機磁盤和虛擬機的配置文件,使用模板創建虛擬機能夠大幅節省配置新虛擬機和安裝操作系統的時間。虛擬機模板創建後,不允許開機,也不允許啓動,這樣的設計是爲了保證這個模板不會被其它隨意的編輯而改變,同時它永遠不佔用集羣的計算資源。
與使用模板部署不同,虛擬機克隆是在某個時間點對源虛擬機進行完全的複製,每個被克隆出來的虛擬機的所有設置,包括主機名、IP 地址等個性化數據,都和源虛擬機一模一樣。
2、虛擬機資源熱添加
熱添加指的是在虛擬機開機狀態下爲虛擬添加計算、存儲和網絡資源。
除了需要虛擬機本身支持熱添加的功能,虛擬機的操作系統也要支持,才能使熱添加上的資源立刻生效,否則,需要重啓虛擬機,經過操作系統對硬件資源的識別後纔可以使用。
3、虛擬機快照
虛擬機快照一般應用在當對虛擬機進行升級、打補丁、測試等破壞性試驗前,一旦虛擬機出現了故障,使用快照可以對虛擬機進行迅速恢復。
快照技術有如下特點:
快照可迅速生成,並可用作傳統備份和歸檔的數據源,縮小甚至消除了數據備份的窗口。
快照存儲在磁盤上,可以快速直接存取,提高了數據恢復的速度。
常見的快照模式分爲兩種:寫前拷貝(COW,Copy-On-Write)快照和寫時重定向(ROW,Redirect-On-Write)快照。
4、NUMA
NUMA,全稱爲非統一內存訪問(Non Uniform Memory Access Architecture),它是一種可以提高數據讀寫速度的技術。
計算機單個CPU的運算速度已經到達瓶頸,所以設計者採用多路多核CPU的方式來提高計算機的運算速度。CPU和內存是通過北橋的方式互相連接,由於CPU數量增多了,內存也相應的進行了增加,這就導致在北橋上的響應速度變慢,且越來越明顯,於是,設計者就把內存平均的綁給每個CPU,這樣就可以避免共享北橋而出現的擁塞。
修改完以後,內存和CPU做了綁定,CPU從綁定的內存(Local Access)中讀取數據的響應時間較短,而如果跨CPU訪問內存(Remote Access)讀取數據的響應時間較長,既然Local Access速度快,那麼就讓程序在運行時全部使用一個CPU和與其相綁定的內存,這樣就可以提高工作效率,這就是NUMA。
三、華爲虛擬化產品特性
1、集羣特性
HA
電源管理(DPM)
電源管理自動化功能會週期性地檢查集羣中服務器的資源使用情況,如果集羣中資源利用率不足,則會將多餘的主機下電節能,下電前會將虛擬機遷移至其它主機;如果集羣資源過度利用,則會將離線的主機上電,以增加集羣資源,減輕主機的負荷。
DRS規則
DRS可以通過一定的規則,爲系統在進行負載均衡時提供遷移參考。
 聚集虛擬機:列出的虛擬機必須在同一主機上運行,一個虛擬機只能被加入一條聚集虛擬機規則中。
 互斥虛擬機:列出的虛擬機必須在不同主機上運行,一個虛擬機只能被加入一條互斥虛擬機規則中。
 虛擬機到主機:關聯一個虛擬機組和主機組並設置關聯規則,指定所選的虛擬機組的成員是否能夠在特定主機組的成員上運行。
如果不同的規則發送衝突,調度順序也是按照上面來處理。
IMC
使虛擬機可以在不同CPU類型的主機之間進行遷移。
2、虛擬機特性
(1)虛擬機資源QOS
CPU qos
虛擬機的CPU QoS用於保證虛擬機的計算資源分配,隔離虛擬機間由於業務不同而導致的計算能力相互影響,滿足不同業務對虛擬機計算性能的要求,最大程度複用資源,降低成本。
CPU QoS包含如下三個參數:
CPU份額定義多個虛擬機在競爭物理CPU資源的時候按比例分配計算資源;
CPU預留定義了多個虛擬機競爭物理CPU資源的時候分配的最低計算資源;
CPU資源限額控制虛擬機佔用物理CPU資源的上限。以一個兩CPU的虛擬機爲例,如果設置該虛擬機CPU上限爲3GHz,則該虛擬機的兩個虛擬CPU計算能力被限制爲1.5GHz。
內存qos
提供虛擬機內存智能複用功能,依賴內存預留比。通過內存氣泡等內存複用技術將物理內存虛擬出更多的虛擬內存供虛擬機使用,每個虛擬機都能完全使用分配的虛擬內存。
內存qos包含如下三個參數:
內存份額定義多個虛擬機競爭內存資源的時候按比例分配內存資源;
內存預留定義多個虛擬機競爭內存資源的時候分配的內存下限,能夠確保虛擬機在實際使用過程中一定可使用的內存資源;
內存資源限額控制虛擬機佔用物理內存資源的上限。
網絡qos
網絡QoS策略提供帶寬配置控制能力,QoS功能不支持同一主機上虛擬機之間的流量限制:
基於端口組成員接口發送方向與接收方向的帶寬控制
基於端口組的每個成員接口提供流量整形、帶寬優先級的控制能力

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章