張 勇,郭 駿,劉金波,楊笑宇,郭 磊,劉 佳,馬春雷
(1. 國家電網有限公司華北分部,北京市100053;2. 國家電網有限公司國家電力調度控制中心,北京市100031;3. 北京科東電力控制系統有限責任公司,北京市100192;4. 新華三技術有限公司,北京市100191)
調控云是建設新一代調控系統的重要平臺支撐,是中國國家電網有限公司“三朵云”(企業管理云、公共服務云和生產控制云)中生產控制云的重要組成之一,是面向未來企業生產控制業務構建的私有云,其架構設計既要滿足電網調控業務連續性、實時性、協同性的要求,也要符合云計算的理念,體現硬件資源虛擬化(共享與動態調配)、數據標準化和應用服務化的特點。其在邏輯上分為基礎設施即服務(infrastructure as a service,IaaS)、平臺即服務(platform as a service,PaaS)、軟件即服務(software as a service,SaaS)3 層,以實現組件開發、架構開放、生態開放。
近年來,隨著云計算在信息、金融等行業的發展,IaaS 層構架及其相關技術被金融、互聯網、物流以及工業控制等領域廣泛應用。IaaS 層提供給消費者的服務,可以應用于所有計算基礎設施,包括處理中央處理器(CPU)、內存、存儲、網絡、安全和其他基本的計算資源,用戶能夠部署和運行任意軟件,包括操作系統和應用程序。消費者不管理或控制任何云計算基礎設施,但能控制操作系統的選擇、存儲空間、部署的應用,也有可能獲得有限制的網絡組件(例如路由器、防火墻、負載均衡器等)的控制。IaaS層通過計算虛擬化、存儲虛擬化、網絡虛擬化及安全虛擬化,實現虛擬機生命周期管理、宿主機管理、集群管理、存儲備份、虛擬資源自動遷移、資源彈性伸縮及安全策略自動跟隨等功能。
目前,中國對IaaS 層的應用主要集中在計算機、信息技術等方面,在調控運行中的應用相對較少。文獻[1]指出了調控云的總體架構,并闡述了調控云的特點及建設目標,指出了IaaS 層應用到電網調度的可行性;文獻[2-5]從實際建設方面驗證了調控云的特點和建設目標,但未能具體分析和研究如何將IaaS 層應用到調控云的建設中;文獻[6]通過云計算在計算機科學技術中的應用,指出了虛擬化、分布式存儲等IaaS 層相關技術的技術特點和工程實踐價值;文獻[7]對計算資源池、存儲資源池、前端訪問管理等技術進行了介紹;文獻[8-10]介紹了云計算在數據災難備份等方面的實用性和優勢;文獻[11-13]分別對IaaS 層構架中的域名系統(domain name system,DNS)、負載均衡算法、流數據的寫入和查詢等關鍵技術進行了介紹和應用示例;文獻[14-16]從新一代調控系統的研發和運維等方面描述了調控云在人機交互終端、應急備用體系構建等方面的作用和優勢。
通過對IaaS 層關鍵技術的分析和研究,本文對國家電網公司調控中心和區域電網調控中心(下文簡稱國分)云平臺的IaaS 層構架進行了設計,構建了工程實用化的國分云平臺IaaS 層,為調控云各節點的雙站點模式提供基礎支撐,實現了調控云內各節點在業務層面的雙活。最后,以國分云平臺某節點為例,構建了云平臺的IaaS 平臺,實現了統一資源的管理分配。
調控云平臺采用物理分布、邏輯統一相結合的分級部署設計,采用統一和分布相結合的分級部署設計,形成國分主導各省級協同節點的2 級部署,由國分、省級調度中心和地區調度中心(簡稱省地),1 個國分主導節點以及包括國家電力調控中心(下文簡稱國調中心)與省級調度機構組成的27 個協同節點構成,主導節點和協同節點共同構成一個完整的調控云平臺。云平臺主導節點和協同節點在硬件資源層面各自獨立進行管理[1]。為保障調控云的高可用,調控云各節點均采用雙站點模式進行建設,即在同一節點上異地部署A 和B 這2 個站點,并實現站點間數據的高速同步。2 個站點均衡配置,在業務層面均可同時對外提供服務,實現異地應用雙活[1]。

圖1 調控云平臺站點內硬件及網絡架構Fig.1 Intra-site hardware and network architecture for dispatching and control cloud platform
如圖1 所示,國分調控云IaaS 層每個站點由計算資源池服務器、分布式存儲服務器、交換機、防火墻、全局負載均衡設備、本地服務器負載均衡設備、DNS 服務器組成,其中在計算資源池服務器內利用服務器全虛擬化技術,創建虛擬化業務主機集群,從而構建統一的虛擬化主機資源池。A 和B 站點部署架構相同,業務即可在A 和B 站點靈活切換也可同時對外提供服務,滿足調度高可用雙活的要求。
國分調控云IaaS 平臺基于虛擬化、分布式存儲等技術構建計算資源池、存儲資源池為上層提供高效、靈活、安全的計算和存儲服務[6],包括計算資源池、存儲資源池、前端訪問管理和平臺監視[7]4 個類別共10 項功能,如圖2 所示。

圖2 調控云平臺IaaS 層軟件架構Fig.2 Software architecture of IaaS layer for dispatching and control cloud platform
國分調控云底層硬件架構采用基于內核的虛擬機(KVM),運用服務器虛擬化技術,將各種計算機資源(如服務器、網絡、內存及存儲等)予以抽象、轉換后呈現出來,打破實體結構間不可切割的障礙。KVM 滿足了關系數據庫、模型管理、數據管理、分析應用等虛擬機需要同時采用雙機主備機制在線運行的要求,并支持針對后續新增應用快速分配和管理虛擬機的能力。虛擬化技術能夠實現實體資源的動態調度和彈性管理、虛擬機容災、虛擬機高可用、虛擬機遷移等功能,提升實體資源的利用效率,保障系統運行的高可靠和高可用性。虛擬化技術能夠提供虛擬化資源池統一監控和管理的功能,包括資源使用情況統計、CPU 使用統計、內存使用統計、磁盤使用統計等功能。
利用服務器虛擬化技術[8],在計算資源池服務器上創建虛擬主機集群。虛擬化服務器選型主要依據業務應用類型,將硬件服務器進行資源整合,從而構建統一的虛擬化主機資源池。利用虛擬化高可用、虛擬機熱遷移、動態資源調度等技術可保障調控云平臺業務高可用。虛擬機操作系統授權不采用硬件綁定方式,而是支持虛擬機的靈活配置,具備可擴展能力。
進一步,虛擬化技術對傳統的物理服務器而言,在以下3 個方面突破了傳統的應用模式。
1)它是一個抽象層,它將物理硬件和操作系統分離,從而提供更高的互聯網技術資源利用率和靈活性。
2)虛擬化允許具有不同操作系統的多個虛擬機在同一實體機上獨立并行運行。每個虛擬機都有自己的一套虛擬硬件,可以在這些虛擬硬件上加載操作系統和應用程序。無論實際采用了什么物理硬件組件,操作系統都將它們視為一組標準化的硬件。
3)虛擬機被封裝在文件中,因此可以快速對其進行保存、復制和部署。可在幾秒內將整個系統(完全配置的應用程序、操作系統、基本輸入輸出系統(basic input output system,BIOS)和虛擬硬件)從一臺物理服務器遷移至另一臺物理服務器,以實現零停機維護和連續的工作負載整合。
國分調控云平臺IaaS 層采用分布式存儲技術[9]作為云平臺的后端存儲。分布式存儲軟件在通用X86 服務器上安裝,將所有服務器的本地硬盤組織成一個大存儲資源池,為應用提供按需分配、彈性擴展的存儲資源服務,同時為虛擬機和物理機部署的業務提供數據存儲服務,提升云平臺的橫向擴展能力。
分布式文件存儲的服務器采用X86 服務器,每臺服務器配置固態驅動器用于數據緩存、大容量硬盤用于海量數據存儲,組成分布式文件存儲集群;數據副本按照多副本模式配置,各副本間保證數據的強一致性,支持多個副本的容錯機制。集群節點或者硬盤故障后,數據可在全資源池范圍內自動重建[10]。
本次調控云分布式文件存儲采用K+M糾刪碼(K為原始數據塊,M為基于K塊原始數據冗余計算獲得的冗余數據),可有效降低總擁有成本(total cost of ownership,TCO)。如在4+1 糾刪碼方式情況下,任意1 臺服務器整機故障、宕機等,數據仍不會丟失,系統可以將丟失數據通過原始數據和校驗數據恢復出來。數據強一致性方面:采用三副本強一致性,只有當所有副本全部都完成寫入以后才會進行確認返回,只有3 份數據同時全部丟失,用戶的數據才會真正丟失。將用戶數據可靠性放在了整個存儲系統的第1 位,保障用戶數據的最高可靠性。
云平臺存儲資源池具備支撐擴展存儲資源的能力。在存儲硬件擴容或者新增大數據平臺存儲時,云資源管理系統可通過配置識別將擴容的硬件或新增的存儲資源納入資源管理系統,云平臺的同步功能可通過配置將新增存儲資源的管理系統的數據納入同步管理。
由于采用全分布式架構的存儲平臺,整個存儲資源池具備性能線性增長無瓶頸的能力,分布式存儲作為標準的OpenStack 平臺的后端存儲。除了作為塊存儲和Cinder 模塊對接,作為對象存儲和Swift模塊對接,還可以和Keystone,Glance,Nova,Manila等模塊對接配合。即分布式存儲同時支持塊、文件及對象多種訪問方式,和云操作系統配合實現統一存儲、統一運維、降低TCO。
為滿足各級調控云A 和B 節點雙活雙讀的需求,前端網絡將采用DNS 與全局服務器負載均衡(global server load balance,GSLB)方式(針對瀏覽器/服務器架構業務)或業務虛擬IP 地址(virtual IP address,VIP)方式(針對客戶機/服務器架構業務及生產大區實時云數據平臺業務),實現調控云A 和B節點同時對外提供服務,滿足電網調度業務需求,同時保障業務可靠性。
國分調控云平臺實現了基于虛擬服務及負載均衡技術調控云平臺訪問網絡層和應用層的雙活,北京、上海2 個站點可以同時對外提供網絡訪問和應用訪問,2 個數據中心的資源得到了最大程度的負載分擔和利用,前端業務網絡與資源同步網絡分離,滿足物理分布、邏輯統一的資源高速同步需求。
從云客戶端來看,不用感知區分應用服務提供方是北京站點還是上海站點,調控云業務服務持續可用,在應用層面實現了冗余,即實現異地應用雙活。
國分調控云平臺兩站點雙活采用基于DNS[11]的域名方式,即客戶端或瀏覽器訪問業務服務端時通過服務域名來實現。調控云平臺采用A 和B 站點同時提供業務訪問的方式,為了實現靈活業務流量入口選擇與站點切換,采用2 個主要的設備,GLSB設備和服務器負載均衡(server load balance,SLB)設備。
GSLB 設備主要配合完成用戶解析DNS 功能,實現基于策略的A 和B 站點入口的自動選擇和切換,默認客戶端基于地理位置描述信息,北方客戶自動解析到國分調控云A 站點即華北站點,南方客戶自動解析到國分調控云B 站點即華東站點,A 和B站點的GSLB 設備實時進行狀態同步,并和站點內的SLB 設備進行交互,確保站點內服務可用。當A站點內服務全部不可用時,A 站點的GSLB 設備將不再提供解析服務發布,客戶端流量自動引流到B站點,反之亦然。由于A 和B 站點內的服務都是冗余的,因此任何單點故障都在站點內自愈不會觸發站點間的切換。
調控云中,GSLB 設備使用輪詢算法選擇站點,例如一個DNS 請求經過3 種選擇的算法而不能判斷出最優解析結果時,設備會默認使用輪詢的機制在域名對應的多個服務器的IP 地址中進行輪詢解析。基于當前的網絡狀態,GSLB 設備確保為客戶端提供的DNS 應答中包含最優的一組IP 地址。然而,如果DNS 解析記錄的留存時間(TTL)太長,本地DNS 會對該應答緩存一段較長的時間直至緩存過期。因此,盡管GSLB 設備具有當前準確的解析結果,客戶端仍會收到失效的信息。
在完成雙活站點的自動選擇后,站點內同樣需要提供不間斷24 h 服務,任何服務中斷或通信中的關鍵數據丟失都會造成重大生產事故。所有這些都對應用服務提出了高性能和高可靠性的需求。
SLB 設備針對站點內部服務器、虛擬機的健康狀態進行檢查,并將訪問流量分擔到不同服務器或虛擬機。當GSLB 設備檢測到SLB 設備所管轄的服務器資源全部故障,不能對外提供服務時,GSLB設備將不再以所轄SLB 設備發布的業務IP 地址進行解析,從而觸發站點切換自動引流客戶端訪問異地站點。
保證調控云站點內服務高可靠性及高性能的解決方案是將多臺服務器、虛擬機通過網絡設備相連組成一個服務器或虛擬機集群,每臺服務器或虛擬機都提供相同或相似的業務服務。服務器或虛擬機集群前端部署一臺SLB 設備,負責根據已配置的均衡策略將用戶請求在服務器集群中分發,為用戶提供服務,并對服務器可用性進行維護。
由于服務器的性能受到服務器節點數據的影響(CPU、內存、磁盤輸入輸出(IO)、網絡使用情況等),所以可以根據服務器節點數據的變化,動態地修改服務器的權重。權重越大,分配的客戶端請求連接數越多;權重越小,分配的客戶端請求連接數就越少,從而通過動態修改服務器的權重大小來實現服務器的動態負載均衡[12]。
設在時間周期T內單個節點Ni的CPU 使用率為C(Ni),內存使用率為M(Ni),磁盤IO 的使用率為D(Ni),網絡帶寬的使用率為B(Ni),則有[12]

式 中:Ni為 第i個 節 點;n為 節 點 總 數;Sc,total,Sm,total,Sd,total,Sb,total分別為集群中CPU、內存、磁盤IO、網絡帶寬的性能總和。
各因素對服務器性能的依賴程度不一,因此設CPU、內存、磁盤IO、網絡帶寬的依賴比重分別為Kc,Km,Kd,Kb,且Kc+Km+Kd+Kb=1,則服務器集群中每個服務器節點性能比重Wp(Ni)為:

由于在時間周期T內每個服務器節點權重不同獲取到的請求連接數也不同,服務器節點的權重越大,請求到該節點的連接數越多,服務器節點使用率也就越大。因此,可通過單個連接請求在集群中某個服務器節點所占平均性能比來反映當前節點的負載均衡能力,設節點Ni實時負載均衡情況為P(Ni),單個服務器平均響應時延為T(Ni),整個集群平均響應時延為Tˉn,節點Ni在集群中的負載比重、性能比 重 和 性 能 實 時 利 用 率 分 別 為Ew(Ni),Wp(Ni),U(Ni),則有

由于單位時間內請求服務器的連接數具有隨機性,因此可以引入泊松分布,即根據客戶端隨機請求連接數來確定所需服務器個數,并通過Pick-K 算法[13]在服務集群中篩選所需服務器。
在國分調控云中,由于業務種類繁多且增長迅速,采用反向代理技術,即服務器根據客戶端的請求,從其關聯的一組或多組后端服務器(如Web 服務器)上獲取資源,然后再將這些資源返回給客戶端,客戶端只會得知反向代理的IP 地址,而不知道在代理服務器后面的服務器簇的存在,以國分云北京站點為例,如圖3 所示,GSLB 設備上配置服務端口探測功能,實現N個域名和SLB 反向代理IP 之間聯動,主動探測服務,通過端口標記不同的業務,某個服務故障并不會導致全局切換,配置簡單、高效,減少防火墻策略配置。本地DNS 通過根DNS 解析域名地址,該地址對應多個域名服務,通過SLB 的流量特征匹配功能,分析用戶點擊頁面產生的Host頭部報文信息,將用戶按域名分配到不同的應用服務組中,提高服務器安全性,訪問用戶只能訪問到反向代理服務IP 及指定端口,無法訪問到代理服務器背后的網絡拓撲,增強了安全性。

圖3 反向代理架構Fig.3 Reverse proxy architecture
如圖4 所示,國分調控云業務雙活技術[17-21]采用以下方式實現:北京站點和上海站點間采用業務雙活和讀寫分離方式部署;通過域名解析技術和廣域負載均衡技術,實現路由距離優先的動態資源分配;采用反向代理技術與域名解析技術聯合實現訪問地址控制;單個站點內通過本地負載均衡提高并行響應處理能力,避免單點故障;采用數據庫讀寫分離[22-25]技術分散訪問流量,橫向上采用數據庫歸檔日志方式實現同步。

圖4 業務雙活架構Fig.4 Active-active architecture of business
虛擬機是云平臺虛擬資源的重要代表。云平臺中的虛擬機既可以作為服務項目直接提供給用戶,也可以作為底層服務器為云服務提供可靈活利用的虛擬資源。
在處理器方面,選擇足夠的CPU 核數的同時使用更高處理性能的CPU 可有效提高CPU 虛擬化后的處理器處理性能。在網卡方面,選擇萬兆光纖網卡可滿足大多數業務需求,具有減少功耗、相對穩定、布線便捷等優點。在內存容量方面,使用DDR4內存提高性能的同時選擇256 GB 以上內存數量的硬件服務器。在磁盤性能方面,計算服務器磁盤性能與容量僅供虛擬化底層宿主系統使用,虛擬機存儲、文件讀寫性能均體現在后端存儲性能。在滿足虛擬化軟件運行的情況下可適當降低計算資源硬件的磁盤性能及容量要求。
主流存儲方式有分布式存儲和集中式存儲2 種類型,其使用場景根據業務特點分為虛擬機數據存儲及數據庫數據存儲2 類。集中式存儲與分布式存儲對比如表1 所示,根據使用場景特性采用不同的存儲類型可更好地發揮存儲優勢。

表1 存儲類型對比Table 1 Comparison of storage types
根據調控云架構設計,其網絡分為資源高速同步網、源數據網和用戶接入網。
資源高速同步網用于調控云內部各節點以及節點內雙站點間的廣域高速互聯,要求新建帶寬不低于千兆,支撐調控云數據同步,支撐國分與省地兩級調控云之間縱向數據同步以及各級A 和B 站點之間橫向數據同步。
資源高速同步網采用部分全連接的扁平化網狀結構,遵循N-1 的電路可靠性和N-1 的節點可靠性原則。在橫向上覆蓋中國華北、華東、華中、東北、西北、西南共6 個區域模塊;在縱向上分為核心層和骨干層,核心層由華北、華東2 個核心及各省調節點組成,骨干層以省為單位,2 層網絡共包括56 個(2+27×2 個)節點;每個站點原則上要求物理設備主備冗余,采用千兆虛擬專用網絡(VPN),部署路由器等網絡設備。網絡支持未來部署的軟件定義網絡(SDN)控制器。其站內網絡構架如圖5 所示。

圖5 站內網絡構架Fig.5 Intra-site network architecture
調控云源數據網采用綜合數據網現有網絡,為平臺提供PaaS 層服務總線、消息總線等各項公共資源管理服務提供網絡支撐,滿足信息安全防護規范要求,條件允許的單位可劃分獨立VPN。
用戶接入網為調控中心用戶訪問調控云提供網絡通道。采用綜合數據網現有網絡,劃分獨立VPN,滿足信息安全防護規范要求。在前期建設過程中,用戶接入網與源數據端網按分區物理上合用一個網絡。后期逐步實現用戶接入網與源數據端網的分離,可以采用基于VPN 的邏輯分離,或者直接物理分離。
針對上述網絡構架,在滿足云平臺業務運行的基礎上,網絡設備從選型上還應滿足網絡安全防火墻設置,用于基于反向代理+DNS 解析完成前端業務的DNS 服務器、負載均衡設備、具備資源同步網路由器后端數據同步等設備。其中,負載均衡設備建議選擇同時支持鏈路、全局和局域負載均衡功能,且3 種負載功能同時激活可用,支持虛擬化聯動功能的設備。
CPU 分配:考慮調控云的特性,為保證更高的可靠性,建議將CPU 超配比控制在1∶1.6 以下。
存儲分配:所有虛擬機分配存儲容量之和不應超過虛擬機存儲池可用資源。
內存分配:同一臺物理機上所有運行的虛擬機內存之和不應超過該物理機的可用物理內存。
以國分云平臺某節點為例,在上述IaaS 層技術構架的基礎上部署了IaaS 平臺。平臺實現了統一資源管理、通用訪問權限管理和監控告警管理。
1)統一資源管理。針對物理資源、虛擬資源,顯示IssS 資源及配置情況,并對資源規格、編排進行管理,提供在線流程及統計報表功能。
2)通過訪問權限管理。支持多種用戶角色和分級的多用戶權限管理,二者結合為用戶提供靈活的分權分域管理,與PaaS 公共資源管理中的權限服務進行對接,進行權限認證,實現統一賬號單點登錄。
3)監控、告警管理。通過納管方式統一監控物理服務器、虛擬機、網絡交換機、存儲等多種類型的云上相關資源,支持IaaS 平臺實時告警信息展示功能。
4)模型訂閱觸發器管理功能僅在云端提供,通過在云端數據庫表創建觸發器的方式實現云端增量變化數據的及時感知。
5)云端訂閱管理可查看調控云的云端與源數據端的訂閱關系列表,云端不可以調整源數據端的訂閱關系。
6)模型數據發送。當云端模型數據變化后,需要將變化的模型數據發送至一個或多個訂閱方;可實現模型數據實時訂閱,云端模型變化后應及時更新至訂閱方所在的源數據端數據庫;可將同一個變化的模型數據發送至多個訂閱方。
7)系統設置。具備對模型訂閱全局參數配置修改、查看的功能。修改配置信息后可在不重啟服務器的情況下生效。支持對節點名稱、服務地址、日志等信息進行配置。
平臺通過多維度展示能夠反映虛擬化整體情況的信息,快速了解和掌握虛擬化環境整體運行狀況。
虛擬化環境整體資源情況的統計與展示見附錄A 圖A1 和圖A2,包括系統健康度、告警信息、CPU/內存/存儲等資源分配比例、宿主機/虛擬機狀態統計、資源利用率、不健康虛擬機數量等。
利用實體工作站可以實現對國分云資源使用、異常告警、節點互聯、數據匯集情況的多維度監視,并對平臺實行7×24 h 監視管理(見附錄A 圖A3)。
IaaS 層基于負載均衡功能的智能DNS 反向代理國分云主導節點,智能DNS 反向代理流量走向如附錄A 圖A4 所示。
以國分云北京站點為例(見附錄A 圖A4),根據訪問客戶端的來源,通過GSLB 設備智能解析北京或上海站點距離較近的代理IP,通過SLB 設備的流量特征匹配功能,分析用戶點擊頁面產生的Host 頭部報文信息,將用戶按域名分配到不同的應用服務組中,解析流程如下。
1)本客戶端向本地DNS 服務器查詢指定域名。
2)省地DNS 服務器在本地/緩存中找不到指定域名時,會向權威根DNS 服務器查詢。
3)權威根DNS 服務器返回國分云北京站點GSLB 設備的地址。
4)GSLB 設備根據應用服務器可用性信息及負載等信息,綜合分發算法(如地理就近性等)返回合適的代理IP 地址。
5)客戶端連接代理地址后,通過SLB 設備的流量特征匹配功能,分析用戶點擊域名產生的Host 域名頭部報文信息,將用戶按域名分別匹配至不同的服務器組中,實現應用的訪問。
調控云平臺IaaS 層采用虛擬化技術實現了資源的按需分配和靈活調度。采用DNS 域名解析、負載均衡、反向代理、讀寫分離等技術實現了全域業務雙活,保證了平臺層的高可靠性、可擴展性與可維護性,滿足了平臺對于業務的連續性支撐,為后續虛擬化平臺指明了建設方向,積累了大量工程實際建設經驗。然而目前調控云應用模塊尚有待進一步開發,結合新一代調控系統的建設開展調控業務相關的功能應用建設。
附錄見本刊網絡版(http://www.aeps-info.com/aeps/ch/index.aspx),掃英文摘要后二維碼可以閱讀網絡全文。