孫志剛
摘 要: 我們正處于一場幾十年未見的數字化革命性轉變中,究其技術核心,這一轉變是由“軟件”基礎設施的崛起而驅動。虛擬機、虛擬網絡和存儲設備能夠以高速自動化的方式分配與重新配置,不會受到非動態設置的硬件基礎設施的限制,在“軟件定義數據中心”的模型下,用戶首先考慮的是應用,根據應用的模式便可靈活的調配其所需的IT基礎架構資源,也就是通過軟件化的方式實現硬件資源調配。我們需要通過理論研究來指導用戶解決在云化和數字化轉型過程中遇到的各種技術難題,幫助用戶應對高昂的轉型成本。
關鍵詞: 軟件;數據中心;虛擬化;超融合;網絡;服務器;存儲
一、引言
云計算、大數據、人工智能等新技術正在顛覆各行各業,推動各企業的數字化轉型與創新。隨著云計算和虛擬化技術向構建新一代數據中心方向發展,以虛擬化為基礎,實現管理以及業務的集中,對數據中心資源進行動態調整和分配,滿足關鍵應用向X86 系統遷移對于資源高性能、高可靠、安全性和高可適應性上的要求,同時提高基礎架構的自動化管理水平,確保滿足基礎設施快速適應業務訴求,支持應用云化部署。在云計算之前,業務應用上線,需要經歷組網規劃、容量規劃、設備選型、下單、付款、發貨、運輸、安裝、部署、調試的整個完整過程。這個周期在大型項目中需要以周甚至月來計算,而在引入云計算后,這整個周期可以縮短到以分鐘來計算。
二、計算虛擬化
1.CPU虛擬化
對虛擬機來說,不直接感知物理 CPU,虛擬機的計算單元通過 vCPU 對象來呈現。虛擬機只看到 VMM 呈現給它的 vCPU。在 VMM 中,每個 vCPU 對應一個 VMCS(Virtual-MachineControl Structure)結構,當 vcpu 被從物理 CPU 上切換下來的時候,其運行上下文會被保存在其對應的 VMCS 結構中;當 vcpu 被切換到 pcpu 上運行時,其運行上下文會從對應的 VMCS 結構中導入到物理 CPU 上。通過這種方式,實現各 vCPU 之間的獨立運行。
從虛擬機系統的結構與功能劃分可以看出,客戶操作系統與虛擬機監視器共同構成了虛擬機系統的兩級調度框架,如圖所示是一個多核環境下虛擬機系統的兩級調度框架。客戶操作系統負責第 2 級調度,即線程或進程在 vCPU 上的調度(將核心線程映射到相應的虛擬 CPU 上)。虛擬機監視器負責第 1 級調度, 即 vCPU 在物理處理單元上的調度。兩級調度的調度策略和機制不存在依賴關系。vCPU 調度器負責物理處理器資源在各個虛擬機之間的分配與調度,本質上即把各個虛擬機中的 vCPU 按照一定的策略和機制調度在物理處理單元上可以采用任意的策略來分配物理資源, 滿足虛擬機的不同需求。vCPU 可以調度在一個或多個物理處理單元執行(分時復用或空間復用物理處理單元), 也可以與物理處理單元建立一對一固定的映射關系(限制訪問指定的物理處理單元)。
2.內存虛擬化
因為 VMM (Virtual Machine Monitor) 掌控所有系統資源,因此 VMM 握有整個內存資源,其負責頁式內存管理,維護虛擬地址到機器地址的映射關系。因 Guest OS 本身亦有頁式內存管理機制,則有 VMM 的整個系統就比正常系統多了一層映射:
A. 虛擬地址(VA),指 Guest OS 提供給其應用程序使用的線性地址空間;
B. 物理地址(PA),經 VMM 抽象的、虛擬機看到的偽物理地址;
C. 機器地址(MA),真實的機器地址,即地址總線上出現的地址信號;
映射關系如下:Guest OS: PA = f(VA)、VMM: MA = g(PA)VMM 維護一套頁表,負責 PA 到 MA 的映射。Guest OS 維護一套頁表,負責 VA 到PA 的映射。實際運行時,用戶程序訪問 VA1,經 Guest OS 的頁表轉換得到 PA1,再由VMM 介入,使用 VMM 的頁表將 PA1 轉換為 MA1。
三、I/O 設備虛擬化
VMM 通過 I/O 虛擬化來復用有限的外設資源,其通過截獲 Guest OS 對 I/O 設備的訪問請求,然后通過軟件模擬真實的硬件,目前 I/O 設備的虛擬化方式主要有三種:設備接口完全模擬、前端/后端模擬、直接劃分。
1、設備接口完全模擬:
即軟件精確模擬與物理設備完全一樣的接口,Guest OS 驅動無須修改就能驅動這個虛擬設備。優點:沒有額外的硬件開銷,可重用現有驅動程序;缺點:為完成一次操作要涉及到多個寄存器的操作,使得 VMM 要截獲每個寄存器訪問并進行相應的模擬,這就導致多次上下文切換;由于是軟件模擬,性能較低。
2、前端/后端模擬:
VMM 提供一個簡化的驅動程序后端,Guest OS 中的驅動程序為前端,前端驅動將來自其他模塊的請求通過與 Guest OS 間的特殊通信機制直接發送給VMM,VMM后端驅動在處理完請求后再發回通知給前端。優點:基于事務的通信機制,能在很大程度上減少上下文切換開銷,沒有額外的硬件開銷;缺點:需要 GuestOS實現前端驅動,后端驅動可能成為瓶頸。
3、直接劃分:
即直接將物理設備分配給某個 Guest OS,由 Guest OS 直接訪問 I/O 設備(不經 VMM),目前與此相關的技術有 IOMMU(Intel VT-d, PCI-SIG 之 SR-IOV 等),旨在建立高效的I/O 虛擬化直通道。優點:可重用已有驅動,直接訪問減少了虛擬化開銷;缺點:需要購買較多額外的硬件。
四、存儲虛擬化
業界典型的分布式存儲技術主要有分布式文件系統存儲、分布式對象存儲和分布式塊設備存儲等幾種形式。分布式存儲技術ServerSAN及其相關產品已經日趨成熟,并在IT行業得到了廣泛的使用和驗證。分布式存儲軟件系統具有以下特點:
高性能:數據分散存放,實現全局負載均衡,分布式緩存;
高可靠:采用集群管理方式,不存在單點故障,靈活配置多數據副本,不同數據副本存放在不同的機架、服務器和硬盤上,單個物理設備故障不影響業務的使用,系統檢測到設備故障后可以自動重建數據副本;
高擴展:沒有集中式存儲控制器,支持平滑擴容,容量幾乎不受限制;
易管理: 存儲軟件直接部署在服務器上,沒有單獨的存儲專用硬件設備,通過Web 頁面的方式進行存儲的管理,配置和維護簡單。
我們目前在充分掌握了虛擬化環境存儲方面的需求基礎上,采用分布式存儲軟件。該軟件融合了分布式緩存、SSD讀寫緩存加速、多副本機制保障、故障自動重構機制等諸多存儲技術,滿足關鍵業務的存儲需求。軟件基于底層Hypervisor之上,通過主機管理、磁盤管理、緩存技術、存儲網絡、冗余副本等技術,管理集群內所有硬盤,“池化”集群所有硬盤存儲的空間,使得虛擬機可以進行業務數據的保存、管理和讀寫等整個存儲過程中的操作。
五、網絡及網絡安全虛擬化
以開放取代封閉,以通用替代專有——將原本傳統的專業網元設備上的網絡功能提取出來虛擬化,運行在通用的硬件平臺上,業界稱這種變化為NFV。N F V (Network Functions Virtualisation網絡功能虛擬化)的目標是希望通過廣泛采用的硬件承載各種各樣的網絡軟件功能,實現軟件的靈活加載,在數據中心、網絡節點和用戶端等各個位置靈活的配置,加快網絡部署和調整的速度,降低業務部署的復雜度及總體投資成本,提高網絡設備的統一化、通用化、適配性。
通過NFV技術, 將網絡功能資源進行虛擬化,使得網絡資源升級為虛擬化、可流動的流態資源, Overlay模型使流態網絡資源的流動范圍跳出了物理網絡的束縛,可以在全網范圍內按需流動,呈現出網絡資源的統一池化狀態,最終實現了企業級云架構中網絡資源的靈活定義、按需分配、隨需調整。
網絡功能虛擬化將網絡功能與專有硬件設備分離,并將這些功能使用軟件的方式實現,以支持虛擬化組件完全融合的基礎架構。通過這種方式,可以充分利用超融合平臺的硬件資源,降低網絡昂貴的設備、人力維護成本,其自有的功能抽象、快速部署、彈性伸縮、分布式的高可靠、故障自愈等特性也為用戶的網絡需求帶來極大的滿足度。
參考文獻
[1]應用Hyper-V技術進行服務器虛擬化[J]. 鄭毅. 電腦與信息技術. 2016(05).
[2]存儲虛擬化技術探討[J]. 康瓊. 長江大學學報(自然科學版)理工卷. 2010(03).
[3]基于OpenFlow的SDN技術研究[J]. 左青云,陳鳴,趙廣松,邢長友,張國敏,蔣培成. 軟件學報. 2013(05).
[4]性能虛擬化存儲系統的設計與實現[J]. 柯劍,那文武,朱旭東,許魯. 計算機工程. 2009(23).