◆何錫點 周 英
一種多云管理平臺的設計與實現(xiàn)
◆何錫點 周 英
(中國電子科技集團公司第二十八研究所 江蘇 210007)
本文針對多個同構或異構技術體制的私有云的互聯(lián)互通、統(tǒng)一納管、多云協(xié)同等問題,提出一種多云管理技術,從同構多云管理、異構云管理以及多云運維管理等方面進行多云管理平臺的設計,實現(xiàn)對同構或異構的多個私有云的統(tǒng)一管理、綜合運維、互聯(lián)互通和協(xié)同運行,支撐未來一體化聯(lián)合資源調配以及戰(zhàn)場環(huán)境下高效信息處理的需要。
私有云;多云管理;互聯(lián)互通;異構云管理
云計算歷經(jīng)以虛擬化為基礎的第一階段,以基礎設施資源服務化為基礎、引入軟件定義技術的第二階段,以基礎設施即服務、平臺即服務、數(shù)據(jù)即服務融合為代表,分布式云管理[1]、糅合公有云及私有云而形成混合云能力的第三階段。目前,正進入全面的多云階段,多云(multi-cloud)是一種新興的云計算使用模式,是指使用超過一個軟件計算的云計算服務。企業(yè)在實施云戰(zhàn)略的時候,采用多云架構主要有成本考慮、防止廠商鎖定、數(shù)據(jù)安全等原因。
隨著信息化建設的快速發(fā)展,云架構在各個領域已進入實際應用階段。各部門因為自身業(yè)務的需要,基于云計算技術規(guī)劃或建設自己的數(shù)據(jù)中心,各個云中心有采用相同技術體制的云計算平臺,也有采用不同技術體制的云計算平臺,多朵云之間沒有互聯(lián)互通,無法進行統(tǒng)一管理,跨中心資源調配困難。
針對上述問題,文獻[2-7]進行了大量研究,但主要針對民用領域的多云、混合云(公有云+私有云)的管理、監(jiān)控以及調度等問題,并未針對多個私有云的互聯(lián)互通、異構云的統(tǒng)一管理、協(xié)同進行規(guī)劃設計。本文聚集在多個私有云互聯(lián)互通、統(tǒng)一納管、多云協(xié)同等問題,提出一種多云管理技術,對現(xiàn)有的數(shù)據(jù)中心軟硬件資源進行合理整合,實現(xiàn)對同構或異構的多云進行統(tǒng)一管理,實現(xiàn)各個數(shù)據(jù)中心之間的協(xié)同運行、統(tǒng)一管理、互聯(lián)互通等功能,充分利用好這些數(shù)據(jù)中心強大的計算存儲資源,發(fā)揮分布式計算的最大效能。
本文研究多個私有云的統(tǒng)一管理技術,通過對同構多云管理、異構云管理、互聯(lián)互通接口、多云運維管理設計,構建統(tǒng)一的多云管理平臺,實現(xiàn)對基于OpenStack+KVM的技術體制的同構多朵云管理和對KVM、VMware EXSi、Xen等技術體制異構的多朵云的統(tǒng)一管理,具體的總體設計思路如圖1所示。
(1)多云統(tǒng)一管理平臺
通過研究多云管理門戶、多云資源管理、云服務管理、統(tǒng)一認證管理、多云運維監(jiān)控以及多云災備管理等技術,完成同構多云和異構多云的統(tǒng)一管理的框架、多云資源管理和多云運維的功能設計。
(2)異構云管理
通過研究VMware/ESXi、Xen的異構虛擬引擎的接入適配接口,可擴展的資源管理架構、基于標準轉換的資源總線以及統(tǒng)一的監(jiān)控機制,實現(xiàn)對異構云(VMware/ESXi、OpenStack/KVM、Xen)的統(tǒng)一納管。
(3)北向互聯(lián)互通接口
根據(jù)相關領域的云平臺互聯(lián)互通的標準,設計互聯(lián)互通的北向接口,用以兼容第三方的云平臺管理,實現(xiàn)不同廠商的云平臺的互聯(lián)互通。
(4)多云運維管理
通過設計分布式統(tǒng)一運維和運維管理的分層框架,提供全面、統(tǒng)一、多維度的管理監(jiān)控子系統(tǒng),實現(xiàn)對多個云中心中各類海量異構資源和管理監(jiān)控。
圖1 多云統(tǒng)一管理思路
多云資源管理支持不同廠商x86服務器的統(tǒng)一管理,支持跨地域、跨中心的分布式部署和統(tǒng)一管理;支持統(tǒng)一的平臺管理多個云中心。針對不同云中心提供針對性的管理配置,不同云中心資源相互隔離,互不影響,支持跨地域的資源池部署和管理,提供對分布在不同地理位置的各類資源池進行統(tǒng)一的管理調度。多云管理由多個云中心資源統(tǒng)一管理、異構云平臺管理、災備管理(異地容災管理和同城雙活管理)等模塊組成。
多云資源管理通過構建統(tǒng)一的多數(shù)據(jù)中心云計算管理平臺,對各云中心內的資源進行統(tǒng)一的管理和調配。支持同時接入多個分布在不同地域的資源池,各類資源池進行統(tǒng)一的管理和資源的統(tǒng)一調度,以實現(xiàn)跨數(shù)據(jù)中心、跨資源池和跨集群的資源分配。
多云資源統(tǒng)一管理主要功能包含以下幾個方面:
(1)多云資源池管理:可以同時接入分布在不同地域多個資源池,實現(xiàn)對多云資源池的管理,并對業(yè)務部門分配虛擬數(shù)據(jù)中心(VDC),一個VDC可以使用多個數(shù)據(jù)中心資源池下虛擬資源,VDC用戶可以選擇具體數(shù)據(jù)中心下的具體資源池申請創(chuàng)建云主機、云磁盤等虛擬資源。
(2)多云的云資源和非云統(tǒng)一管理:云資源管理,包括管理云資源(虛擬機、容器、云硬盤、虛擬鏡像、虛擬網(wǎng)絡等資源)的自動化部署、操作能力;云資源的性能、拓撲、容量管理;云資源和非云資源拓撲映射關系。非云資源管理,包括管理物理資源(物理機、存儲、網(wǎng)絡設備)的性能、告警和拓撲。
(3)基于SLA(Service-Level Agreement,服務等級協(xié)議)的資源調度:一個可用分區(qū)可以包含多種SLA等級的集群、存儲池,租戶申請云主機、云磁盤時可以指定SLA等級,例如可用分區(qū)下可以包含不同存儲介質(SATA、SAS、SSD)的存儲池,租戶可以申請指定存儲介質級別的磁盤。
多云資源統(tǒng)一管理框架由單中心管理、多云統(tǒng)一管理以及虛擬數(shù)據(jù)中心三大部分組成,具體如圖2所示。
圖2 多云資源統(tǒng)一管理框架
多云管理的架構是集中+分布的管理架構模式,首先,多云管理系統(tǒng)對分布式中心的管理是集中的管理模式,為了避免多云管理系統(tǒng)的單點故障,多云管理系統(tǒng)采用多活技術,分布部署在多個中心中,基于負載均衡技術,可以同時對外提供服務,避免多云管理系統(tǒng)的單點故障。
單中心云管理系統(tǒng)可實現(xiàn)資源池的統(tǒng)一管理,是服務器虛擬化更上一層的管理軟件,可以管理物理資源和虛擬資源,并且可以對資源監(jiān)控管理,進行自動化運維。具體包括:管理物理資源(物理機、存儲、網(wǎng)絡設備)的性能、告警和拓撲。管理虛擬資源(虛擬機、容器、云硬盤、虛擬鏡像、虛擬網(wǎng)絡等資源)的自動化部署、操作能力;云資源的性能、拓撲、容量管理;云資源和非云資源拓撲映射關系。單中心云管理系統(tǒng)部署于每個物理數(shù)據(jù)中心,對物理數(shù)據(jù)中心的所有資源統(tǒng)一管理,同時對上層分布式數(shù)據(jù)中心管理提供接口。供上層分布式云操作系統(tǒng)集成,實現(xiàn)多云、多資源池的資源的統(tǒng)一管理、監(jiān)視與資源調度。
虛擬數(shù)據(jù)中心(VDC)是一種邏輯隔離的技術,是軟件定義數(shù)據(jù)中心(SDDC)的一種具體實現(xiàn),VDC的資源可以來自多個物理數(shù)據(jù)中心的不同資源池,可以將虛擬資源隔離出虛擬數(shù)據(jù)中心。部門或組織可以向全局業(yè)務管理員申請使用虛擬數(shù)據(jù)中心,一次性獲得批量的計算、存儲和網(wǎng)絡資源配額,在資源配額內,VDC業(yè)務管理員可以自由支配計算、存儲和網(wǎng)絡資源。
多云管理平臺在原生OpenStack接口基礎之上進行封裝,根據(jù)相關領域的云平臺互聯(lián)互通的標準,設計互聯(lián)互通的北向接口,用以兼容第三方使用的云平臺管理?;ヂ?lián)互通接口主要包括獲取TokenID、獲取租戶ID、獲取網(wǎng)絡詳情、獲取安全組信息、獲取鏡像列表以及創(chuàng)建、關閉、開啟、刪除虛擬機等基礎接口,并可根據(jù)實際需要,進行其他模塊接口的封裝。
在多云資源管理平臺中,設計了異構資源管理架構滿足資源整合的要求。在異構資源管理架構中,主要關注點是多種異構資源的整合使用以及與運維系統(tǒng)的深度整合??紤]到未來資源的擴展,整合層采用可擴展的架構,為此制定了統(tǒng)一的資源接入和輸出規(guī)范。以統(tǒng)一架構為技術手段,以規(guī)范為管理手段,用以綜合解決異構資源整合問題,整合層架構圖如圖3所示,具體如下:
(1)可擴展的資源管理架構。采用統(tǒng)一的資源描述模型、統(tǒng)一的注冊和發(fā)現(xiàn)機制,確保各類資源的統(tǒng)一接入和管理。
(2)基于標準轉換的資源總線。采用不同計算機虛擬化控制協(xié)議,實現(xiàn)控制指令、存儲指令、消息格式的標準化轉換。
(3)統(tǒng)一的監(jiān)控機制。采用統(tǒng)一監(jiān)控標準和監(jiān)控內容,實現(xiàn)各類物理資源、虛擬資源和容器資源的統(tǒng)一監(jiān)控、故障發(fā)現(xiàn)和聯(lián)動處置。
圖3 異構資源管理架構圖
通過設計異構資源整合層,滿足異構多云的資源管理能力,支持主流的異構虛擬資源池,包括支持KVM虛擬化平臺、Xen虛擬化平臺以及VMware虛擬化平臺的異構虛擬資源池的統(tǒng)一監(jiān)控、管理以及系統(tǒng)托管,同時可對接其他廠商的基于OpenStack(L版及以上版本)標準接口的虛擬化平臺,具體設計思路如下:
(1)統(tǒng)一資源管理與監(jiān)控標準模型
統(tǒng)一資源模型:將基于KVM、Xen、VMware ESXi的x86服務器虛擬化技術、以及來自不同廠商服務器設備以及異構存儲設備抽象為統(tǒng)一的資源模型。
統(tǒng)一資源控制標準:將不同架構的計算資源、不同廠家的存儲資源以及不同廠家的網(wǎng)絡資源的控制操作分別進行統(tǒng)一抽象,抽象為統(tǒng)一的計算資源控制模型、統(tǒng)一的存儲資源控制模型、統(tǒng)一的網(wǎng)絡資源控制模型,實現(xiàn)計算資源、存儲資源以及網(wǎng)絡資源控制標準化。
監(jiān)控標準模型:主要對象有物理服務器,網(wǎng)絡設備(交換機、路由器、防火墻等),存儲設備的監(jiān)控。監(jiān)控指標主要包括CPU利用率、內存利用率、磁盤利用率以及網(wǎng)絡帶寬等指標。根據(jù)設備類型不同而略有不同,監(jiān)控采集層軟件將監(jiān)控結果上報給運維中心,由運維中心進行統(tǒng)一展現(xiàn)。
(2)標準轉換的資源總線
基于標準轉換的資源總線,完成對各種計算資源、存儲資源以及網(wǎng)絡資源消息存儲,并完成對各種架構的計算資源、網(wǎng)絡資源以及存儲資源消息的轉換,實現(xiàn)控制指令、存儲指令、消息格式的標準化轉換。
(3)資源統(tǒng)一接入
對云資源和非云資源的統(tǒng)一接入,實現(xiàn)平臺對各類型資源的管理與監(jiān)控,具體體現(xiàn)在對虛擬平臺和物理資源的告警監(jiān)控能力上。支持對物理資源,包括服務器、存儲和網(wǎng)絡設備的告警監(jiān)控能力;同時支持KVM虛擬化平臺、Xen虛擬化平臺以及VMware虛擬化平臺對接,獲取虛擬化平臺的告警數(shù)據(jù)。云資源與非云資源統(tǒng)一管理和監(jiān)控包括:(1)虛擬機和裸機管理統(tǒng)一管理;(2)對傳統(tǒng)設備,包括服務器、網(wǎng)絡設備、存儲,以及虛擬化設備的統(tǒng)一監(jiān)控;(3)提供統(tǒng)一的資源發(fā)放,提供集中的告警呈現(xiàn)和處理界面,以及提供設備性能監(jiān)控和報表功能。
(4)可擴展的資源管理架構
采用統(tǒng)一的資源描述模型、統(tǒng)一的注冊和發(fā)現(xiàn)機制,確保各類資源的統(tǒng)一接入和管理。通過標準化定義各類資源的描述信息、監(jiān)視信息、控制指令規(guī)范,可在不考慮具體基礎設施類型的前提下,開展資源組織、管理策略制定、控制流編排等工作,降低管理的復雜性,提升系統(tǒng)的可擴展性。
(5)云計算管理平臺整合
各資源的管理系統(tǒng)需要規(guī)范所提供的能力,對外提供管理與監(jiān)管接口,以達到云計算資源池統(tǒng)一管理,統(tǒng)一監(jiān)控的目的。資源接入規(guī)范的制定,可以使云中心內部各個云底層資源以及資源管理系統(tǒng)之間互聯(lián)互通,并且以標準為準,要求廠商提供統(tǒng)一的云相關設施接口。
多云運維管理系統(tǒng)定位于面向多云的分布式云運維場景的管理,南向接不同的云管理系統(tǒng)或監(jiān)控系統(tǒng),并且可以支持跨地域,支持多云運維場景。多云運維通過提供全面、統(tǒng)一、多維度的管理監(jiān)控子系統(tǒng),管理監(jiān)控多個云中心中各類海量異構資源,包括服務器、存儲網(wǎng)絡設備等硬件資源,各種操作系統(tǒng)、數(shù)據(jù)庫、虛擬資源等軟件資源;并且能夠發(fā)現(xiàn)故障產(chǎn)生告警,有效提高響應速度,節(jié)省運維成本。監(jiān)控管理子系統(tǒng)提供大規(guī)模數(shù)據(jù)中心的監(jiān)控,支持分布式部署,支持異構平臺;運維管理系統(tǒng)同時也是解決方案的統(tǒng)一維護管理門戶入口,作為運維人員的工作平臺,在首頁上除了提供了監(jiān)控管理系統(tǒng)的各個功能的鏈接之外,同時也提供了到各個其他部件管理維護UI的統(tǒng)一入口和鏈接跳轉。多云統(tǒng)一運維方案如圖4所示。
圖4 統(tǒng)一運維方案
(1)云本地管理層
在每個云中心的部署本地云資源管理系統(tǒng)和運維監(jiān)控系統(tǒng),負責本地的運維操作、配置和監(jiān)控數(shù)據(jù)采集;提供豐富的監(jiān)控項類型包括:CPU使用率、CPU負載、內存使用率、網(wǎng)絡流量、磁盤空間使用率、進程狀態(tài)數(shù)等;提供對Linux/Unix服務器以及Windows服務器的監(jiān)控;通過對監(jiān)控數(shù)據(jù)分析,對云資源管理平臺其他高級功能進行數(shù)據(jù)支持,進行負載均衡,有效保證應用的連續(xù)性及快速響應。
(2)全局管理層
在主中心管理節(jié)點部署多云運維管理系統(tǒng),將各個云中心的云資源監(jiān)控信息和非云資源監(jiān)控信息都匯聚起來進行統(tǒng)一運維管理;在運維管理系統(tǒng)上還可以將運維監(jiān)控數(shù)據(jù)與業(yè)務相關數(shù)據(jù)進行聯(lián)動綜合分析,提供對分布在不同地理位置的各類資源池進行統(tǒng)一的拓撲呈現(xiàn)(含機房3D展示);提供對分布在不同地理位置的各類資源池進行統(tǒng)一的機房(動力、空調等)監(jiān)控;提供對分布在不同地理位置的各類資源池進行統(tǒng)一的性能統(tǒng)計功能;提供對分布在不同地理位置的各類資源池進行統(tǒng)一的操作審計功能。
運維管理的管理框架被分為功能展現(xiàn)層、業(yè)務邏輯層、數(shù)據(jù)處理層、數(shù)據(jù)采集層、基礎資源層五層,具體如圖5所示。
(1)功能展現(xiàn)層主要向云數(shù)據(jù)中心管理人員提供數(shù)據(jù)中心資源監(jiān)控的直觀的圖形和報表展現(xiàn)、日志管理和報警處理功能。
(2)業(yè)務邏輯層主要完成對監(jiān)控業(yè)務邏輯的處理,針對數(shù)據(jù)處理層的數(shù)據(jù)進行資源管理、性能監(jiān)控、告警處理、閾值預警等業(yè)務邏輯的處理并向功能展現(xiàn)層提供相關業(yè)務邏輯展示數(shù)據(jù)。
(3)數(shù)據(jù)處理層主要是對采集到的監(jiān)控數(shù)據(jù)進行統(tǒng)計、分析和挖掘,對數(shù)據(jù)中心的狀態(tài)做出準確的評估和預測,為功能展現(xiàn)層提供數(shù)據(jù)支撐。
(4)數(shù)據(jù)采集層是監(jiān)控平臺最重要的部分,承擔了監(jiān)控平臺最重要的數(shù)據(jù)采集功能,也是平臺性能的關鍵,該層配置多模式可擴展的適配器,實現(xiàn)對監(jiān)控數(shù)據(jù)的采集,并存儲到數(shù)據(jù)庫中。
(5)基礎資源層是云數(shù)據(jù)中心的各種硬件和軟件資源,包括各種服務器、存儲、網(wǎng)絡設備、數(shù)據(jù)庫和應用服務等。
圖5 云資源監(jiān)控平臺的管理框架
本文聚焦多個同構或異構技術體制的私有云的互聯(lián)互通、統(tǒng)一納管、多云協(xié)同等問題,提出一種多云管理技術,通過設計多云資源統(tǒng)一管理框架、互聯(lián)互通接口、異構云資源的統(tǒng)一資源描述模型、統(tǒng)一的注冊和發(fā)現(xiàn)機制,多云的分布式云運維等方案,構建多云管理平臺。實現(xiàn)對現(xiàn)有的云中心軟硬件資源進行合理整合,對同構或異構的多云進行統(tǒng)一管理、協(xié)同運行、互聯(lián)互通以及多云統(tǒng)一監(jiān)控運維。
[1]黃峰.分布式云數(shù)據(jù)中心架構及管理關鍵技術[J].自動化儀表,2014,35(8):1-9.
[2]楊靖琦,胡勛.多云平臺監(jiān)控系統(tǒng)的設計與實現(xiàn)[J].微型機與應用,2017,36(10):102-105.
[3]陳天,陳楠,黃志蘭,等.基于OpenStack的異構混合云解決方案[J].電信科學,2015,7.
[4]鄒豐陽.混合云環(huán)境下的資源管理及調度算法的研究[D].長春:東北師范大學,2013.
[5]李建麗.混合云環(huán)境下多目標優(yōu)化的云資源調度研究[D].北京:北京交通大學,2017.
[6]羅斌.基于OpenStack的混合云負載均衡方法研究與實現(xiàn)[D].武漢:華中科技大學,2015.
[7]徐曉峰,徐勁松.基于OpenStack的異構混合云解決方案[J].電信科學,2016,2.