馬軍 滑維鑫
隨著多核處理器,虛擬化技術,分布式存儲技術,寬帶互聯網技術和自動化管理技術的發展,產生了一種云計算的新型計算模式。它將計算任務分布在由大量計算機組成的資源池中,使應用系統能夠根據需求獲得計算能力,存儲空間和軟件服務。它可以集中所有的計算資源并通過軟件自動進行管理而無需干預,作為公共設施為公眾提供計算,服務和應用程序資源。本文介紹了云計算的三種主要服務形式:SAAS、PAAS、IAAS,并重點綜述了虛擬機遷移、容錯等虛擬化高可用關鍵技術。
一、引言
云計算是一種新型的計算模式,它將計算任務分布在由大量計算機組成的資源池中,因此應用系統可以根據自己的需求獲得計算能力,存儲空間和軟件服務。這種資源池被稱為“云”。云是一些虛擬計算資源,可以自行維護和管理,通常是一些大型的服務器集群,包括計算服務器,存儲服務器,寬帶資源等。NIST(美國國家標準與技術研究院)將其定義為“可以隨時隨地訪問共享的可配置計算資源池(例如網絡,服務器,存儲,應用程序和服務)的模型,以最少的管理工作或服務提供商交互快速配置和發布。
二、云計算體系架構概述
云的主要優勢包括可擴展性,彈性,靈活性,效率以及外包非核心活動,云計算為組織提供了卓越的創新業務模式,大量的IT創新融入到云計算的概念中,促進和發展了云計算和云計算產業的概念,形成了包括如圖1所示IAAS,SAAS,PAAS架構下完整產業鏈,許多互聯網公司和基礎設施運營商參與其中。
(一)軟件即服務(SaaS)SaaS提供商將應用軟件統一部署在其服務器上,用戶可以通過互聯網從制造商那里訂購應用軟件服務。提供商通過瀏覽器提供軟件模式,并根據軟件數量收費使用時間。這種服務模式的優點是提供商維護和管理軟件,提供硬件設施,用戶可以在擁有可登錄互聯網的終端時到處使用軟件。在這種模式下,用戶可以通過互聯網使用相應的硬件,軟件和維護服務,支付一些租金而不喜歡傳統模式,這使得用戶花費很多資金。
(二)平臺即服務(PaaS)PaaS將開發環境作為一種服務來提供。它是一種分布式平臺服務器,制造商向用戶提供服務,比如開發環境,服務器平臺和硬件資源以及用戶定制和開發自己的應用程序,并通過服PaaS可以為企業和個人提供中間件平臺,應用開發,數據庫,應用服務器和實驗。 Google App Engine是代表性產品,以及fore.com和800 APP。
(三)基礎設施即服務(IaaS)IaaS將由許多服務器構成的基礎設施作為測量服務提供給客戶。它將內存和I / O設備,存儲和計算能力集成到虛擬資源池中,為整個行業提供存儲資源和虛擬化服務。這是托管硬件的一種方式,客戶在使用硬件時付費。例如,亞馬遜網絡服務和IBM藍云都將基礎架構作為服務來租用。
三、云計算虛擬化技術
虛擬化是部署云計算資源的一種方法。它分離了硬件,軟件,數據,網絡,存儲等應用系統的不同層次,打破了數據中心,服務器,存儲,網絡,數據和物理設備之間的分工,實現了動態架構,實現了集中管理和動態使用物理資源和虛擬資源的目標,提高系統的靈活性,降低成本,改進服務和降低管理風險。在云計算環境中,所有虛擬化解決方案都是系統集成解決方案,包括服務器,存儲系統,網絡設備,軟件和服務。它們包括多層虛擬化技術,如硬件虛擬化,網絡基礎設施虛擬化,應用虛擬化和桌面虛擬化,并靈活組合多個層次,以根據應用環境實現不同模型的虛擬化解決方案。在整個云計算虛擬化戰略中,我們可以利用虛擬化技術提供的各種機制,快速模擬不同的環境和實驗,而不需要重要的硬件和物理資源,達到構建操作系統和應用的目的,提高安全性和可用性。實現管理環境,以后以更加簡化和有效的方式將其投入生產環境。從而提供更大的靈活性并快速識別潛在的沖突與此同時,我們可以利用服務器虛擬化技術將大量分散和利用不足的物理服務器集成到較少獨立和聚合的物理服務器上,甚至可以用大型網絡虛擬機來替代數以千計的服務器并使其運行在高長期利用,從而嚴格管理IT成本,最大限度地提高能源利用效率,提高資源利用率。
四、高可用性關鍵技術
(一)虛擬化遷移
虛擬機遷移是虛擬化高可用性非常重要的一個保障能力,過虛機遷移技術,能夠將正在運行虛機在線的從一個宿主機遷移到另外一個宿主機上,遷移過程中不會影響前端業務系統的正常運行且遷移過程是完全透明。為實現虛擬機在不同宿主機之間的遷移,需要下面的基礎技術進行實現:
將虛機完整狀態由一組保存在共享存儲上的文件進行封裝,能夠允許多臺宿主機訪問相同的虛機文件。
虛機的活動內存及正在執行的狀態能夠通過高速網絡進行快速傳輸,允許虛擬機可立即從在源宿主機上切換到在目標宿主機上運行。采用位圖的方式對正在運行的事物進行跟蹤以便讓應用覺察不到內存狀態正在傳輸,一旦內存和系統狀態拷貝到目標宿主機后,在目標宿主機上恢復虛擬機。根據實際的統計,對于絕大多數應用來說,整個切換過程在以太網上花費的時間不到兩秒鐘。
虛機使用的網絡也需要被底層的Hypervisor虛擬化,才能保障遷移后虛機網絡標識和網絡連接能夠被保留。因此通虛機遷移可以保障虛機的準確狀態,達到了零停機遷移的目的。
在虛機遷移過程中,前端業務仍然持續運行。虛機的所有狀態都會被轉移到新的宿主機上;對于虛機的數據(包含狀態信息等)而言,由于整個集群內的宿主機能夠完全識別到相同的存儲,因此在虛機遷移過程中數據不會發生變化。
(二)虛擬化容錯
虛擬化容錯技術通過監控宿主機及運行在之上的虛擬機,為計算資源池的本地高可用奠定了基礎。和傳統的HA方案相比較,不需要在應用程序或虛機操作系統上安裝專門的集群軟件,在啟用虛擬化的HA后,不需要在虛機上執行任何其他的操作就可對虛機實現保護。當宿主機出現故障,HA在具有備用容量的其他宿主機中重新啟動受影響的虛擬機。
虛擬化容錯最大的變化是不再采用傳統集群解決方案的活動主機(Active Node)和備用主機(Pascive Node)的概念。在虛擬化容錯方案中節點間引入了一種主/從關系,集群中的一個節點被選作主節點后,剩余節點都是從屬節點。主節點負責協調和監控其他節點的所有相關的可用性操作,并將這種狀態告知集中管理的vCenter。通過虛擬化容錯方案,在設計高可用體系結構的時候不再需要花費大量時間進行詳細的規劃,也不用擔心哪些主機作為主節點以及這些主機位于何處。同時為保障自身的穩定性,在各個宿主機之間虛擬化高可用同時采用網絡心跳和存儲心跳的冗余途徑進行監測,能夠更好地了解宿主機及其上運行的虛擬機的運行狀況。
虛機化容錯方案中通過創建一個與主虛機完全相同,并且在發生故障時刻實時替換主虛機的備用虛機來保證虛機是持續可用的。通過虛擬鎖技術主虛擬機上的所有輸入和事件發送到在其他宿主機上運行的備用虛機。在備用虛機上執行和主虛機完全相同的指令,因此在任意時刻主備虛機的狀態是完全一致,且正常情況下備用虛機不對外提供服務,過程如圖3所示。
五、結語
虛擬化允許多個操作實例在單臺計算機上同時運行。它是物理資源的抽象,可以讓它們在多個物理用戶之間共享。為了使資源能夠按照物理用戶的數量進行共享,它將為物理資源分配一個邏輯名稱,并根據需要啟用指向該物理資源的指針。本文重點對虛擬化高可用性技術進行了綜述,其技術優勢總結如下:
在受保護的虛擬機響應失敗時自動觸發無縫的有狀態故障切換,從而實現零停機、零數據丟失的持續可用性。
在故障切換后自動觸發新輔助虛擬機的創建工作,以確保應用受到持續保護。
不停業的、前端用戶無感知進行在線實時遷移,持續不斷的優化計算資源池的負載,不需要計劃專門的停機時間,不中斷業務的情況下進行維護。
主動將虛機從故障或降級的服務器遷移,保障虛機的運行效率,能夠進行并發遷移,虛機可以支持任何的硬件和存儲,快速確定合適的虛機部署位置。