葉 鳴,宋 亮,把 祎,宗志鋒
(上海市防汛信息中心,上海 200050)
防汛部門從日常業(yè)務(wù)到洪水預(yù)報、防洪調(diào)度、汛期防洪咨詢等,核心業(yè)務(wù)幾乎均需要 IT 技術(shù)的支撐。近年來,面向防汛業(yè)務(wù)的數(shù)據(jù)中心業(yè)務(wù)系統(tǒng)集中程度越來越高,系統(tǒng)全生命周期管理的需求越來越強烈,外部監(jiān)督和業(yè)務(wù)發(fā)展對生產(chǎn)系統(tǒng)的穩(wěn)定性和高可用性提出了越來越高的要求。當(dāng)前,云計算[1]的概念已經(jīng)從理論走向?qū)嵺`,人們對云計算的認識和關(guān)注主要包括計算、存儲、網(wǎng)絡(luò)等基礎(chǔ)設(shè)施資源的虛擬化和自動化資源管理。但在真實的環(huán)境中,防汛業(yè)務(wù)數(shù)據(jù)中心生產(chǎn)環(huán)境的基礎(chǔ)架構(gòu)資源很難做到全標準化、虛擬化管理,在其上運行的業(yè)務(wù)系統(tǒng)依然采用傳統(tǒng)軟硬件緊耦合架構(gòu),遷移到新的基礎(chǔ)架構(gòu)平臺難度大;業(yè)務(wù)應(yīng)用系統(tǒng)在汛期等關(guān)鍵節(jié)點可用性和服務(wù)質(zhì)量要求高,運維管理壓力大。
上海市防汛信息中心根據(jù)云計算技術(shù)的發(fā)展趨勢和業(yè)務(wù)的發(fā)展要求,實踐集約化建設(shè)的理念,建設(shè)一套符合防汛業(yè)務(wù)應(yīng)用的云服務(wù)平臺[2],逐步實現(xiàn)以“大樞紐、大平臺、大服務(wù)、大應(yīng)用”的思路開展防汛信息系統(tǒng)的建設(shè)工作,逐步提升行業(yè)信息化管理和業(yè)務(wù)協(xié)同能力的需求,開展運維管理平臺建設(shè),逐步實現(xiàn)平臺對基礎(chǔ)資源環(huán)境的集約化管理:通過多層次虛擬化現(xiàn)有硬件資源,建立彈性伸縮、資源共享的有虛擬機也有輕量級容器服務(wù)的基礎(chǔ)架構(gòu);通過流程化資源申請模式,形成分工明確,可回退可追溯的信息化資源審核機制;通過租戶化的使用方式,形成開發(fā)、項目管理、系統(tǒng)維護等人員多方的運維管理平臺,為信息中心機關(guān)用戶及行業(yè)處室提供自助的信息化基礎(chǔ)資源服務(wù)。
鑒于此,通過對云計算環(huán)境下軟件定義數(shù)據(jù)中心概念的深入研究,結(jié)合防汛業(yè)務(wù)現(xiàn)狀,設(shè)計一個面向防汛業(yè)務(wù)的軟件定義數(shù)據(jù)中心架構(gòu),并嘗試將該架構(gòu)運用于上海市防汛信息中心運維管理云服務(wù)平臺(以下簡稱運維管理云平臺)項目中,通過具體的運營實踐對可靠性進行測試。
在傳統(tǒng)的數(shù)據(jù)中心設(shè)計過程中,必須遵循以下4 個設(shè)計原則:
1)標準化。標準化是指嚴格按照工業(yè)標準和規(guī)范設(shè)計數(shù)據(jù)中心的每一組成部分,使它們具有一致性。標準化使得數(shù)據(jù)中心與底層設(shè)備廠商解耦,減少了對生產(chǎn)廠商的依賴。
2)簡易化。簡易化是指通過大規(guī)模的 IT 整合降低數(shù)據(jù)中心的復(fù)雜性,使數(shù)據(jù)中心的組成類型和種類更少、更簡單,向標準化靠攏,從而方便管理和加速應(yīng)變,降低運營成本。
3)模塊化。模塊化是指基于模塊的服務(wù)模式,以面向服務(wù)的體系結(jié)構(gòu)為基礎(chǔ),使基礎(chǔ)設(shè)施轉(zhuǎn)化成為預(yù)先確定功能的組成構(gòu)件。
4)集成化。集成化是指使用自動化工具集成和統(tǒng)一管理各種服務(wù)(包括基礎(chǔ)設(shè)施、應(yīng)用、信息等服務(wù))。
模塊化設(shè)計方式加上自動化的管理工具集成,能夠在資金、空間和設(shè)備利用率、人力資源等方面取得巨大效益,為提高冗余能力和擴展容量提供方便。與其他行業(yè)相比,面向防汛業(yè)務(wù)的數(shù)據(jù)中心,除了要滿足業(yè)務(wù)系統(tǒng)快速部署、方便管理的普遍需求,還要面對該行業(yè)特有的高級別業(yè)務(wù)連續(xù)性和數(shù)據(jù)安全性需求。因此,本研究所描述的云平臺架構(gòu),在考慮標準化、簡易化、模塊化和集成化的同時,融入了橫向松耦合、縱向應(yīng)用隔離的設(shè)計思想。將操作系統(tǒng)、應(yīng)用程序、業(yè)務(wù)數(shù)據(jù)進行運算和存儲橫向解耦合,形成計算、存儲、網(wǎng)絡(luò)、應(yīng)用等多種類型的資源池,從而降低系統(tǒng)復(fù)雜度,提高管理效率;通過動態(tài)邏輯部署和組合計算、存儲和網(wǎng)絡(luò)等云資源,使不同業(yè)務(wù)系統(tǒng)自成一體并在環(huán)境和功能上互相獨立,增加了業(yè)務(wù)系統(tǒng)間數(shù)據(jù)的安全性,軟件定義的數(shù)據(jù)中心資源保持高度冗余,可進行資源的靈活調(diào)度從而保障業(yè)務(wù)的連續(xù)性。
防汛業(yè)務(wù)數(shù)據(jù)中心中通常包含大量的內(nèi)部和第三方業(yè)務(wù)系統(tǒng)。一個典型的業(yè)務(wù)系統(tǒng)主要由操作系統(tǒng)、Web 服務(wù)、應(yīng)用運行環(huán)境、應(yīng)用程序及業(yè)務(wù)數(shù)據(jù)(結(jié)構(gòu)化或非結(jié)構(gòu)化數(shù)據(jù))等程序和數(shù)據(jù)組成。傳統(tǒng)數(shù)據(jù)中心中,業(yè)務(wù)系統(tǒng)間各自分散對數(shù)據(jù)的保護及業(yè)務(wù)連續(xù)性的管理,這會使得業(yè)務(wù)系統(tǒng)間標準不統(tǒng)一,并產(chǎn)生信息孤島現(xiàn)象,極大妨礙了數(shù)據(jù)中心對業(yè)務(wù)系統(tǒng)的統(tǒng)一管理。同時各業(yè)務(wù)系統(tǒng)間各自為營,也使得各數(shù)據(jù)中心重復(fù)建設(shè)現(xiàn)象嚴重,增加了運營維護成本。
因此運維管理云平臺將操作系統(tǒng)等業(yè)務(wù)系統(tǒng)組成要件,按照其在業(yè)務(wù)系統(tǒng)中充當(dāng)?shù)慕巧蛯哟芜M行分離,抽象成不同類別的資源池,總體分為數(shù)據(jù)、平臺和應(yīng)用等層,并對各層進行標準統(tǒng)一化的管理。
運維管理云平臺采用分布式結(jié)構(gòu)設(shè)計,通過基礎(chǔ)設(shè)施云、數(shù)據(jù)云、應(yīng)用云三大支撐體系,形成一系列能夠自動化部署的整體服務(wù)能力,并通過多層次完整服務(wù)交付體系對不同業(yè)務(wù)邏輯、地理位置的服務(wù)能力進行匯聚和服務(wù)生命周期控制,并對應(yīng)用數(shù)據(jù)及異構(gòu)數(shù)據(jù)進行整合,最終在統(tǒng)一的平臺門戶中向租戶和應(yīng)用系統(tǒng)以服務(wù)形式發(fā)布。運維管理云平臺框架可以概括為“三橫一縱”4 個組成部分,“三橫”包括應(yīng)用云、數(shù)據(jù)云、基礎(chǔ)設(shè)施云,“一縱”為服務(wù)管理平臺。將服務(wù)管理平臺與 3 朵“云”進行對接,并且將基礎(chǔ)設(shè)施云的資源、數(shù)據(jù)云的數(shù)據(jù)與應(yīng)用云的應(yīng)用進行有機整合,是平臺構(gòu)建的重點,也是“一縱”的價值體現(xiàn)。
運維管理云平臺的整體架構(gòu)如圖1 所示。
1.2.1 數(shù)據(jù)層
數(shù)據(jù)層完成對數(shù)據(jù)的持久化存儲,由數(shù)據(jù)存儲和備份兩大區(qū)域組成。數(shù)據(jù)存儲主要由以下 3 個部分組成:
1)鏡像區(qū)。用來存放虛擬機鏡像文件,通過對存儲區(qū)掛接集群文件系統(tǒng),對虛擬機運行支撐環(huán)境提供共享的網(wǎng)絡(luò)存儲空間。
2)結(jié)構(gòu)化數(shù)據(jù)區(qū)。主要用來存放和業(yè)務(wù)相關(guān)的數(shù)據(jù)庫數(shù)據(jù),通過統(tǒng)一的 iSCSI(Internet Small Computer System Interface)接口對上層提供網(wǎng)絡(luò)存儲邏輯卷。
3)非結(jié)構(gòu)化數(shù)據(jù)區(qū)。主要用來存放和應(yīng)用相關(guān)的非結(jié)構(gòu)化數(shù)據(jù),通過統(tǒng)一的 iSCSI 接口對上層提供網(wǎng)絡(luò)存儲邏輯卷。
在數(shù)據(jù)層,對業(yè)務(wù)連續(xù)性和數(shù)據(jù)安全的保障主要通過同步和備份 2 個方面進行。
1.2.2 平臺層
平臺層為上層應(yīng)用系統(tǒng)提供高可用支持,主要包括數(shù)據(jù)庫、文件系統(tǒng)、備份和運維管理云平臺資源管理等服務(wù)。平臺層的計算單元全部以虛擬服務(wù)器和容器方式運行,并通過運維管理云服務(wù)平臺資源管理服務(wù)進行架構(gòu)、配置和監(jiān)控。平臺層的 4 種服務(wù)具體分析如下:
1)數(shù)據(jù)庫服務(wù)。數(shù)據(jù)庫服務(wù)器安裝并運行Oracle,SQL Server,MySQL 等數(shù)據(jù)庫管理系統(tǒng),以簇方式配置,使用由結(jié)構(gòu)化數(shù)據(jù)存儲區(qū)提供的邏輯卷進行數(shù)據(jù)存儲,并為上層應(yīng)用程序提供數(shù)據(jù)庫服務(wù)。
圖1 運維管理云平臺整體架構(gòu)圖
2)文件系統(tǒng)服務(wù)。文件系統(tǒng)服務(wù)器掛載由非結(jié)構(gòu)化數(shù)據(jù)區(qū)提供的邏輯卷,并為上層應(yīng)用程序提供文件存儲服務(wù)。
3)備份服務(wù)。備份服務(wù)器是對所有數(shù)據(jù)存儲區(qū)的數(shù)據(jù),根據(jù)備份策略進行數(shù)據(jù)備份的服務(wù)器,與后臺的備份設(shè)備對接。
4)資源管理服務(wù)。此服務(wù)用來運行云平臺運維和運營管理所需的軟件及中間件,包括用于運維的資源管理和運營的服務(wù)管理等系統(tǒng)。支撐云平臺以模塊的方式進行服務(wù)級部署,對云資源進行統(tǒng)一集中管理;還通過對 CPU、內(nèi)存、網(wǎng)絡(luò)、硬盤等虛擬資源的監(jiān)控,從數(shù)據(jù)的安全性和業(yè)務(wù)的連續(xù)性角度進行預(yù)警;另外還可以指定相應(yīng)的系統(tǒng)參數(shù)閥值,根據(jù)制訂的策略,及時對有問題的虛擬機進行處理。
1.2.3 應(yīng)用層
應(yīng)用層包含應(yīng)用運行所需的操作系統(tǒng)、運行環(huán)境和應(yīng)用程序本身,但不包括應(yīng)用數(shù)據(jù)。這樣的設(shè)計使虛擬機內(nèi)容與業(yè)務(wù)狀態(tài)無關(guān),便于管理和遷移。當(dāng)某一業(yè)務(wù)系統(tǒng)發(fā)生故障時,只需要啟動一個新的虛擬機并與后端存儲進行關(guān)聯(lián)就可以恢復(fù)服務(wù),保障第三方應(yīng)用的高業(yè)務(wù)連續(xù)性。應(yīng)用層的計算單元通過運維管理云平臺資源管理服務(wù)進行架構(gòu)、配置和監(jiān)控。
應(yīng)用層分為第三方應(yīng)用和內(nèi)部業(yè)務(wù) 2 個系統(tǒng)區(qū)塊。所有部署的應(yīng)用應(yīng)滿足數(shù)據(jù)與計算分離的要求,使用應(yīng)用程序本身對集群化部署和負載均衡的支持,以操作系統(tǒng)集群或主機冷熱備份方式支撐應(yīng)用的業(yè)務(wù)連續(xù)性。內(nèi)部業(yè)務(wù)系統(tǒng)是指支撐上海市防汛信息中心自身業(yè)務(wù)需要的應(yīng)用所包含的綜合性服務(wù)系統(tǒng),也包括數(shù)據(jù)挖掘服務(wù)系統(tǒng)等。通過此類服務(wù)系統(tǒng)的運行服務(wù),可以更好地為第三方應(yīng)用廠商的應(yīng)用服務(wù),并可提供高級的報表和數(shù)據(jù)服務(wù)。
耦合是一個組件對另一個組件的依賴程度。由于可以獨立于所有其他對象構(gòu)建、測試和替換,獨立于所有其他對象的每個組件,因此松散耦合會影響應(yīng)用程序的可靠性。當(dāng)一個模塊發(fā)生變化,緊耦合會迫使其余模塊也跟著一起進行變動,使得模塊的集成需要更多的時間和精力,模塊難以被重用。因此耦合松緊程度影響應(yīng)用的可靠性、SOA 和最終的云應(yīng)用。松緊耦合的應(yīng)用特征如表1 所示,可以根據(jù)應(yīng)用的耦合松緊程度對它們進行度量。
表1 應(yīng)用特征列表
SOA 定義了基于協(xié)議和功能的接口,可用于部署多個業(yè)務(wù)領(lǐng)域的松耦合服務(wù)包,能將功能分拆成獨立的單元或服務(wù),可以在應(yīng)用生產(chǎn)過程中組合和重合它們, QoS[3]是 SOA 的端到端的傳輸,不僅涉及到服務(wù)自身的服務(wù)質(zhì)量,而且涉及到從物理層到應(yīng)用層的所有與服務(wù)傳遞有關(guān)的服務(wù)質(zhì)量的網(wǎng)絡(luò)要求。網(wǎng)絡(luò)層的服務(wù)質(zhì)量參數(shù)歸結(jié)為帶寬(或吞吐量)、延遲、抖動、錯誤率、可用性(或在線時間)、網(wǎng)絡(luò)安全,將服務(wù)或應(yīng)用程序或客戶端各層影響服務(wù)質(zhì)量的因素總結(jié)為相依性(包括安全性、可用性、可靠性)、存儲、速度、操作系統(tǒng)、安裝和配置等。
計算機系統(tǒng)的可用性是以可靠性和可維護性衡量的。在工程上,系統(tǒng)的可靠性用 MTTFs(服務(wù)的平均無故障工作時間)衡量,可維護性用 MTTRs(服務(wù)的平均修復(fù)時間)衡量。
一般來說,高可用性有以下 3 種工作方式:
1)主備方式 (非對稱方式)。主備方式[4]是主機工作,備機處于監(jiān)控準備狀況。當(dāng)主機宕機時,備機接管主機的一切工作,待主機恢復(fù)正常后,按使用者的設(shè)定以自動或手動方式將服務(wù)切換到主機上運行,數(shù)據(jù)的一致性通過共享存儲系統(tǒng)解決。
2)主主方式(互備互援)。主主方式[5]是 2 臺主機同時運行各自的服務(wù)工作且相互監(jiān)測,當(dāng)任一臺主機宕機時,另一臺主機立即接管它的一切工作,保證工作實時,應(yīng)用服務(wù)系統(tǒng)的關(guān)鍵數(shù)據(jù)存放在共享存儲系統(tǒng)中。
3)集群工作模式(多服務(wù)器互備方式)。在集群工作模式[6]中多臺主機一起工作,各自運行 1 個或幾個服務(wù),各為服務(wù)定義 1 個或多個備用主機,當(dāng)某個主機發(fā)生故障時,運行在其上的服務(wù)可以被其它主機接管。
通過軟件定義的方法可以使數(shù)據(jù)中心的資源服務(wù)不受特殊硬件的限制,從而擺脫傳統(tǒng)數(shù)據(jù)中心服務(wù)模式復(fù)雜而僵化的困境[7],該方法可以匯聚并聚合計算、存儲、網(wǎng)絡(luò)、安全保護、高可用等服務(wù)能力,通過驅(qū)動策略的人工智能進行管理。同時,客戶可以訪問被軟件定義所優(yōu)化的數(shù)據(jù)中心,為大多數(shù)業(yè)務(wù)應(yīng)用提供最佳的保障服務(wù),大大簡化并降低繁瑣的操作和運維的成本[8]。
上海市防汛信息中心運維管理云平臺采用松耦合、多集群、高可用部署模式,所需要的組件模塊都按照松耦合的方式建設(shè),并且每個組件模塊都在多臺服務(wù)器上進行互備互援的主主模式部署。
通過堅持自動化、服務(wù)化、產(chǎn)品化的運維管理設(shè)計原則,完成了運維管理云平臺的構(gòu)建。在運維人數(shù)不變的情況下,平臺支撐的項目和業(yè)務(wù)應(yīng)用數(shù)量增長了 3 倍,完成的資源自動化全生命周期管理不計其數(shù),成功實現(xiàn)智能運維的階段目標。
從運維管理云平臺的業(yè)務(wù)連續(xù)性、數(shù)據(jù)安全性和周期性備份 3 個方面,利用 20 個高可用性測試點對運維管理云平臺新架構(gòu)的高可用性進行了驗證,驗證了新云平臺架構(gòu)在業(yè)務(wù)連續(xù)性、數(shù)據(jù)安全性和周期性備份方面的完整能力。
應(yīng)用層應(yīng)用的集群部署方式,確保了應(yīng)用自身的高可用性;平臺層提供的多模高可用和快照功能,確保了運維管理云平臺在發(fā)生服務(wù)器異常斷電斷網(wǎng),甚至虛擬機鏡像文件被破壞的情況下,上層應(yīng)用服務(wù)虛擬機可以進行重啟遷移或者快照恢復(fù),保證了應(yīng)用業(yè)務(wù)的連續(xù)性(虛擬機在 2 min 內(nèi)可以完成重啟遷移及快照恢復(fù));數(shù)據(jù)層將應(yīng)用的虛擬機鏡像文件與重要數(shù)據(jù)分離開,且網(wǎng)絡(luò)鏈路自身的冗余和高可用性搭建,保證了應(yīng)用數(shù)據(jù)讀寫的連續(xù)性和速度(網(wǎng)絡(luò)存儲雙機頭在 45 s 內(nèi)完成網(wǎng)絡(luò)文件系統(tǒng)服務(wù)切換,不會對應(yīng)用服務(wù)的連續(xù)性造成影響)。
運維管理云平臺松耦合的架構(gòu)特點,使承載應(yīng)用服務(wù)的虛擬機只提供計算功能,應(yīng)用的重要文件和數(shù)據(jù)保存在外掛 iSCSI 磁盤中。應(yīng)用虛擬機的鏡像文件通過平臺層的備份和存儲設(shè)備的 Sync Mirror等功能提高安全性保障。
數(shù)據(jù)周期性備份可以結(jié)合運維管理云平臺實際業(yè)務(wù)的需要,從虛擬機整體、系統(tǒng)內(nèi)部和應(yīng)用級 3 個層次進行備份策略的制定,確保運維管理云平臺數(shù)據(jù)的不丟失和正常恢復(fù)(虛擬機鏡像文件完成初次備份的時間為分鐘級,且可以正?;謴?fù))。
上海市防汛信息中心對軟件定義數(shù)據(jù)中心架構(gòu)進行了實地部署測試,并驗證通過本設(shè)計架構(gòu)的高可用性。對面向防汛業(yè)務(wù)的軟件定義數(shù)據(jù)中心運維管理進行考察和實踐可知,數(shù)據(jù)中心建設(shè)的重點是確保關(guān)鍵業(yè)務(wù)數(shù)據(jù)和應(yīng)用程序、平臺、網(wǎng)絡(luò)等的高可用性。軟件定義數(shù)據(jù)中心架構(gòu)的設(shè)計、部署、測試充分論證了架構(gòu)的有效性和高可用性,但是在測試過程中暴露出的智能策略方面的不足還需要繼續(xù)進行改進,以滿足云平臺及其中運行的業(yè)務(wù)應(yīng)用整體上線的需求。
實踐證明,軟件定義數(shù)據(jù)中心架構(gòu)能夠很好地解決現(xiàn)階段防汛業(yè)務(wù)數(shù)據(jù)中心日常生產(chǎn)過程中的管理瓶頸問題,可為構(gòu)建面向防汛業(yè)務(wù)的運維管理云平臺提供示范與參考,也可為將來防汛類業(yè)務(wù)在軟件定義數(shù)據(jù)中心架構(gòu)下的運行和維護積累經(jīng)驗。后續(xù)將在更高的平臺層面研究軟件定義數(shù)據(jù)中心對防汛類全業(yè)務(wù)的支撐和服務(wù)模式。