耿貞偉+權(quán)鵬宇+李少華
摘要:云南電網(wǎng)有限責(zé)任公司以資源池為基礎(chǔ)、以IT服務(wù)為核心,以集約、高效和可靠為目標(biāo)建設(shè)“南網(wǎng)云”重點(diǎn)企業(yè),電力系統(tǒng)的業(yè)務(wù)平臺(tái)規(guī)模不斷擴(kuò)大,傳統(tǒng)的基礎(chǔ)架構(gòu)平臺(tái)已不適用企業(yè)信息化業(yè)務(wù)發(fā)展的要求,在電力系統(tǒng)中使用容器虛擬化技術(shù)建設(shè)云計(jì)算業(yè)務(wù)應(yīng)用資源池,通過有效整合、管理和調(diào)度物理機(jī)、虛擬機(jī)和網(wǎng)絡(luò)等系統(tǒng)資源,成為必然選擇。本文首先闡述了容器技術(shù)的相關(guān)概述,其次介紹了傳統(tǒng)電力系統(tǒng)存在的一些問題以此引出其相關(guān)業(yè)務(wù)需求,并通過結(jié)合Docker容器技術(shù)對(duì)云南電網(wǎng)信息中心業(yè)務(wù)資源池和容器封裝進(jìn)行相關(guān)設(shè)計(jì)開發(fā),實(shí)現(xiàn)應(yīng)用環(huán)境的封裝隔離以及CPU、內(nèi)存等資源限制;結(jié)合集群管理方案,能夠?qū)崿F(xiàn)資源的統(tǒng)一調(diào)度和動(dòng)態(tài)調(diào)整,并給出業(yè)務(wù)應(yīng)用資源池的彈性資源調(diào)度。并針對(duì)相關(guān)工作提出下一步研究方向。
關(guān)鍵詞:電力系統(tǒng);業(yè)務(wù)應(yīng)用資源池;容器技術(shù);資源整合
中圖分類號(hào):TP315 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2017)01-0045-03
1 前言
隨著信息化建設(shè)的不斷深入,電力信息系統(tǒng)復(fù)雜性和運(yùn)行壓力日益增長(zhǎng),云南電網(wǎng)有限責(zé)任公司已經(jīng)認(rèn)識(shí)到軟硬件資源結(jié)合緊密帶來(lái)的潛在運(yùn)行風(fēng)險(xiǎn),并在2012年開始通過云計(jì)算基礎(chǔ)設(shè)施(即IaaS層)試點(diǎn)建設(shè)實(shí)現(xiàn)了計(jì)算資源池、存儲(chǔ)資源池和網(wǎng)絡(luò)資源池承載77.6%業(yè)務(wù)系統(tǒng)云化遷移工作。隨著智能電網(wǎng)技術(shù)的不斷發(fā)展,會(huì)有越來(lái)越多的數(shù)據(jù)及業(yè)務(wù)應(yīng)用引入到電力系統(tǒng)中,與之相匹配的數(shù)據(jù)的存儲(chǔ)、軟硬件資源適配的壓力也越來(lái)越高,同時(shí)運(yùn)維的成本也會(huì)加大。本研究力圖通過對(duì)業(yè)務(wù)系統(tǒng)容器話改造,并研發(fā)一套基于電力系統(tǒng)及容器技術(shù)的資源池系統(tǒng)來(lái)實(shí)現(xiàn)軟硬件解耦提高系統(tǒng)敏捷性和穩(wěn)定性。云計(jì)算與容器技術(shù)作為21世紀(jì)信息技術(shù)發(fā)展趨勢(shì),能夠有效改善數(shù)據(jù)中心多種業(yè)務(wù)應(yīng)用共享硬件資源,具有效率高、易管理、能耗低、投資低的優(yōu)勢(shì),為建設(shè)數(shù)據(jù)中心業(yè)務(wù)應(yīng)用資源池提供了有效的解決途徑,滿足當(dāng)前急劇增長(zhǎng)的業(yè)務(wù)需求。
2 容器技術(shù)概述
容器技術(shù)是一個(gè)在單一主機(jī)上提供多個(gè)隔離運(yùn)行環(huán)境的操作系統(tǒng)級(jí)虛擬技術(shù)。容器技術(shù)提供的隔離運(yùn)行環(huán)境,與虛擬機(jī)(Virtual Machine)提供的隔離環(huán)境,存在明顯的差異。容器并不需要運(yùn)行專用的訪客操作系統(tǒng)(Guest OS),而虛擬機(jī)則必須在主操作系統(tǒng)(Host OS)上通過硬件虛擬化等技術(shù)運(yùn)行一個(gè)訪客操作系統(tǒng)(Guest OS)。因此,同一個(gè)操作系統(tǒng)上的多個(gè)容器共享宿主機(jī)的操作系統(tǒng)內(nèi)核。由于不需要運(yùn)行額外專用的操作系統(tǒng),容器相比虛擬機(jī)而言,啟動(dòng)速度存在巨大的優(yōu)勢(shì)。Docker基本架構(gòu)介紹圖1所示。
容器技術(shù)相較于虛擬機(jī)技術(shù),優(yōu)勢(shì)十分明顯,比如輕量級(jí)、高性能、便捷性等。容器的管理操作(啟動(dòng)、停止、開始、重啟等)往往耗時(shí)都非常小,一般秒級(jí)即可完成,甚至有些場(chǎng)景是毫秒級(jí)。傳統(tǒng)的虛擬機(jī)技術(shù)則很難達(dá)到這樣的高效,由于虛擬機(jī)鏡像的龐大與冗余,訪客操作系統(tǒng)(Guest OS)的加載等,往往啟動(dòng)時(shí)間都在分鐘級(jí)。一些要求響應(yīng)速度要求特別高的特殊場(chǎng)景下,虛擬機(jī)很難達(dá)到要求,比如一些秒殺系統(tǒng)的彈性擴(kuò)展等。
以Docker為代表的容器技術(shù),除了在資源層面做了很好的規(guī)劃,同時(shí)在應(yīng)用層面體現(xiàn)出了難以估量的潛力。Docker的鏡像技術(shù)可以做到以應(yīng)用為中心,同時(shí)保證鏡像內(nèi)部的絕對(duì)環(huán)境一致性,保證鏡像的一次打包,隨處應(yīng)用。從軟件交付流程而言,Docker大大降低了運(yùn)維成本,傳統(tǒng)的應(yīng)用運(yùn)維不再以普適性弱的應(yīng)用為中心,而是以普適性更強(qiáng)的容器為中心,效率大大提高。
3 傳統(tǒng)部署存在的問題及業(yè)務(wù)需求
3.1 傳統(tǒng)部署的問題
(1)資源成本較高。各業(yè)務(wù)前期準(zhǔn)備時(shí)強(qiáng)調(diào)專機(jī)專用,使得各個(gè)業(yè)務(wù)系統(tǒng)之間獨(dú)立部署,而部分核心業(yè)務(wù)配置主、副兩臺(tái)服務(wù)器,使得成本大大提升。(2)資源利用效率低。各業(yè)務(wù)系統(tǒng)獨(dú)立部署,有的業(yè)務(wù)系統(tǒng)所需硬件資源多,而有的所需就很少,導(dǎo)致其無(wú)法合理的分配和利用系統(tǒng)資源。(3)數(shù)據(jù)安全隱患。電力系統(tǒng)數(shù)據(jù)中心最為突出的要求就是安全性,而現(xiàn)在很多數(shù)據(jù)都存儲(chǔ)在客戶機(jī)端,一旦出現(xiàn)網(wǎng)絡(luò)安全問題那么數(shù)據(jù)丟失或者篡改問題將無(wú)可避免,這對(duì)于整個(gè)云南電力系統(tǒng)來(lái)說(shuō)將造成無(wú)法挽救的危機(jī)。
3.2 需求分析
云南電網(wǎng)公司云計(jì)算IaaS層資源池已經(jīng)建設(shè)投運(yùn)四年時(shí)間,大量的業(yè)務(wù)系統(tǒng)在資源池提供的虛擬機(jī)上運(yùn)行良好,IaaS層資源池的建設(shè)改變了以往IT硬件資源投入的豎井架構(gòu)構(gòu),有效的整合了資源的綜合使用率,同時(shí)為業(yè)務(wù)系統(tǒng)上線提供了快速部署服務(wù)器、靈活的資源調(diào)整需求等云計(jì)算特性。但應(yīng)用業(yè)務(wù)系統(tǒng)在虛擬機(jī)上的部署還是以傳統(tǒng)的方法通過人工在上面進(jìn)行部署,由于環(huán)境差別的原因,從虛擬機(jī)建好到應(yīng)用部署完成還是需要一定時(shí)間,且受到人員、部署文檔的因素部署后還需要進(jìn)行微調(diào)才能滿足系統(tǒng)運(yùn)行要求。通過引入Linux下容器的概念和技術(shù),來(lái)建設(shè)一個(gè)業(yè)務(wù)應(yīng)用系統(tǒng)池,通過這個(gè)池能滿足大部分業(yè)務(wù)系統(tǒng)的運(yùn)行需求,并提供應(yīng)用系統(tǒng)的快速部署、快速升級(jí)發(fā)布、快速維護(hù)、與現(xiàn)場(chǎng)無(wú)關(guān)等特性,向“十三五”規(guī)劃中提出的“大平臺(tái)、深應(yīng)用、云互聯(lián)”全面實(shí)現(xiàn)混合云建設(shè)及運(yùn)營(yíng)的規(guī)劃目標(biāo)演進(jìn)。
容器管理工具應(yīng)具有可視化、可操作的圖形交互界面,能夠方便管理員通過圖形界面來(lái)展示、管理平臺(tái)的各項(xiàng)功能,并高效的發(fā)布業(yè)務(wù)應(yīng)用,豐富用戶體驗(yàn)。其主界面應(yīng)包括系統(tǒng)總覽、主機(jī)管理、容器管理、存儲(chǔ)卷管理及網(wǎng)絡(luò)管理等。
統(tǒng)一的管理平臺(tái),友好的圖形界面。管理員可通過該界面實(shí)現(xiàn)整個(gè)生命周期各項(xiàng)功能的管理:(1)支持自動(dòng)的資源調(diào)配功能??蛻敉ㄟ^統(tǒng)一的界面指定特定的要求,系統(tǒng)自動(dòng)完成服務(wù)器與容器的自動(dòng)化制備與綁定。(2)完整信息展示功能。通過圖形化界面能夠查看應(yīng)用及容器的完整信息,包括但不限于名稱、鏡像、發(fā)布時(shí)間、版本、狀態(tài)、日志和性能監(jiān)控等信息。(3)標(biāo)準(zhǔn)化。由于整個(gè)生態(tài)環(huán)境巨大并且仍在火熱發(fā)展中,運(yùn)維管理技術(shù)必須以標(biāo)準(zhǔn)化的接口與各組件交互,保證整個(gè)架構(gòu)的靈活可替換。
容器平臺(tái)管理系統(tǒng)是一個(gè)新的項(xiàng)目,在開發(fā)的時(shí)候需要自己定義功能,提前設(shè)定好目標(biāo)才能成功,這也是項(xiàng)目剛啟動(dòng)時(shí)的一個(gè)技巧。從給它定義來(lái)看,除了應(yīng)用編排、日志監(jiān)控、網(wǎng)絡(luò)管理這三大塊,還有插件的管理,一些輔助信息、Docker本身對(duì)主機(jī)的管理也加進(jìn)去了。但是重點(diǎn)關(guān)注了其中最核心的功能,就是應(yīng)用編排、日志監(jiān)控、網(wǎng)絡(luò)管理,這是DevOps最關(guān)心的三個(gè)點(diǎn),也是該項(xiàng)目的亮點(diǎn)。
容器平臺(tái)管理系統(tǒng)設(shè)計(jì)過程定義功能集如圖2所示。
4 業(yè)務(wù)資源池設(shè)計(jì)
根據(jù)電力系統(tǒng)業(yè)務(wù)應(yīng)用資源分區(qū),將資源池劃分為X86虛擬服務(wù)器池、X86物理服務(wù)器池、小型機(jī)池X86虛擬資源池適合大規(guī)模的虛擬化,抽象形成可管理、可調(diào)度的邏輯資源;X86物理資源池不經(jīng)虛擬化適用于部署數(shù)據(jù)庫(kù)服務(wù)器或其他必須采用物理服務(wù)器實(shí)現(xiàn)的業(yè)務(wù)平臺(tái)模塊;小型機(jī)資源池采用虛擬多臺(tái)邏輯設(shè)備供多個(gè)業(yè)務(wù)平臺(tái)使用,適用于數(shù)據(jù)處理等服務(wù)。在業(yè)務(wù)部署時(shí)優(yōu)先考慮X86虛擬資源池,對(duì)于有特殊外設(shè)需求的考慮X86服務(wù)器整機(jī)承載,對(duì)于有高計(jì)算要求或特殊數(shù)據(jù)庫(kù)要求的,可將其部署在X86物理機(jī)資源池或小型機(jī)資源池。虛擬機(jī)部署時(shí)根據(jù)業(yè)務(wù)特點(diǎn)統(tǒng)籌規(guī)劃,盡量避免同一臺(tái)服務(wù)器上運(yùn)行的虛擬機(jī)忙時(shí)集中。具體設(shè)計(jì)如圖3所示。
5 容器封裝設(shè)計(jì)
隨著電力系統(tǒng)業(yè)務(wù)規(guī)模的擴(kuò)大,其業(yè)務(wù)應(yīng)用對(duì)于計(jì)算資源的快速伸縮有了強(qiáng)烈的需求,內(nèi)部服務(wù)化的架構(gòu)推進(jìn),需要更好的環(huán)境隔離以及更細(xì)力度的計(jì)算資源隔離和調(diào)度能力,在此我們采用了Docker技術(shù)來(lái)構(gòu)建彈性計(jì)算平臺(tái)。
在Docker平臺(tái)搭建中,采用DevOps這種模式來(lái)解決各層運(yùn)維效率問題。對(duì)業(yè)務(wù)用戶層面,容器平臺(tái)明確業(yè)務(wù)開發(fā)能夠完成的工作都由業(yè)務(wù)開發(fā)人員來(lái)操作,如日常的服務(wù)發(fā)布、配置變更。通過這種方式,既充分滿足業(yè)務(wù)開發(fā)人員操作的便捷性,同時(shí)也減輕平臺(tái)維護(hù)人員的日常工作量。對(duì)平臺(tái)內(nèi)部層面,也是通過開發(fā)的思路來(lái)解決運(yùn)維問題,即日常的處理盡量自動(dòng)化完成。容器集群擴(kuò)容:在新服務(wù)器安裝系統(tǒng)時(shí),會(huì)運(yùn)行 Salt 配置、安裝并運(yùn)行 Docker 相關(guān)后臺(tái)進(jìn)程和Mesos-Slave節(jié)點(diǎn),這樣機(jī)器就自動(dòng)加入到了容器集群。服務(wù)運(yùn)行的容器數(shù)量:可以通過預(yù)定義的指標(biāo)實(shí)現(xiàn)自動(dòng)的伸縮,業(yè)務(wù)流量增長(zhǎng)和正常的流量波動(dòng)無(wú)須人工調(diào)整資源。在容器平臺(tái)加載業(yè)務(wù)應(yīng)用本身的系統(tǒng)運(yùn)維工作(如業(yè)務(wù)資源變更,物理機(jī)異常處理)之后,加重了容器平臺(tái)工作負(fù)擔(dān),對(duì)此我們?cè)O(shè)計(jì)集群的容錯(cuò)機(jī)制,自動(dòng)處理物理機(jī)故障,避免人工相應(yīng),其次總結(jié)業(yè)務(wù)通用需求,例如業(yè)務(wù)容量的動(dòng)態(tài)變更來(lái)開發(fā)新的平臺(tái)功能來(lái)滿足。
在Docker集群方案設(shè)計(jì)中引入一些其他的系統(tǒng)組件,如Consul、HAProxy等,增加其系統(tǒng)復(fù)雜性。由于規(guī)模的擴(kuò)大,出線異常狀況的概率也大大增加,對(duì)此我們通過避免性能單點(diǎn)及設(shè)計(jì)監(jiān)控集群性能來(lái)保證其穩(wěn)定性。具體監(jiān)控指標(biāo)分為如下幾類:業(yè)務(wù)容器實(shí)例監(jiān)控:容器的CPU、內(nèi)存、網(wǎng)絡(luò)、磁盤;業(yè)務(wù)容器組監(jiān)控:容器組內(nèi)容器重啟次數(shù),容器組內(nèi)健康容器比例等指標(biāo);平臺(tái)層面監(jiān)控:Mesos集群指標(biāo),Docker進(jìn)程及附屬組件狀態(tài)等監(jiān)控;服務(wù)器層面監(jiān)控:服務(wù)器的CPU、內(nèi)存、硬盤、網(wǎng)絡(luò)等指標(biāo)。具體容器平臺(tái)彈性計(jì)算架構(gòu)如圖4所示。
6 結(jié)語(yǔ)
業(yè)務(wù)系統(tǒng)資源池的應(yīng)用和開發(fā)對(duì)于電力系統(tǒng)而言是一個(gè)必然的趨勢(shì),其具備了有彈性資源調(diào)度的容器平臺(tái)架構(gòu),能夠根據(jù)業(yè)務(wù)應(yīng)用需求對(duì)資源進(jìn)行合理搭配利用,并能夠?qū)I(yè)務(wù)應(yīng)用系統(tǒng)負(fù)載的變化做出反應(yīng),能夠有效降低運(yùn)維成本,增強(qiáng)電力系統(tǒng)業(yè)務(wù)可用性,資源池的建設(shè)逐步實(shí)現(xiàn)了資源管理的自動(dòng)化和輕便化,不再需要IT人員進(jìn)行瑣碎的低端故障處理,使有限的人力資源參與到其他業(yè)務(wù)中去。
本次研究通過容器業(yè)務(wù)的封裝并將其加入到資源池中,實(shí)現(xiàn)應(yīng)用環(huán)境的封裝隔離以及CPU、內(nèi)存等資源限制;結(jié)合集群管理方案,能夠?qū)崿F(xiàn)資源的統(tǒng)一調(diào)度和動(dòng)態(tài)調(diào)整。利用容器技術(shù)實(shí)現(xiàn)了對(duì)業(yè)務(wù)系統(tǒng)輕量級(jí)改造,較好的明確了微服務(wù)的技術(shù)方向。
通過本系統(tǒng)尚存在一些不完善的地方,比如服務(wù)器域的設(shè)計(jì)還需要進(jìn)一步加強(qiáng)以及下一步完善存儲(chǔ)域和業(yè)務(wù)應(yīng)用入池的設(shè)計(jì)。
參考文獻(xiàn)
[1]魯松.計(jì)算機(jī)虛擬化技術(shù)及應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2008.
[2]趙華茗.基于虛擬機(jī)的高可用信息服務(wù)平臺(tái)[J].現(xiàn)代圖書情報(bào)技術(shù),2009(12):18-24.
[3]馬越,黃剛.基于Docker的應(yīng)用軟件虛擬化研究[J].軟件,2015(3).
[4]宋可為.云計(jì)算在電信業(yè)務(wù)平臺(tái)中的應(yīng)用[D].北京郵電大學(xué),2011.
[5][美]Joe Jhonston, [西]Antonio Bathelli, [英]Justin Cormack,[美]John Fiedler, [英]Milos Gajdos. Docker生產(chǎn)環(huán)境實(shí)踐指南[M].吳佳興,梁曉勇.譯.北京:人民郵電出版社,2016.