張江凱,陳 聞
(湖北華中電力科技開發(fā)有限責(zé)任公司,湖北 武漢 430077)
云計算是指一種IT基礎(chǔ)設(shè)施的交付和使用模式,通過網(wǎng)絡(luò)以按需、易擴(kuò)展的方式獲得所需的軟硬件資源。提供資源的網(wǎng)絡(luò)被稱為“云”,云中的資源可以隨時獲取,按需使用,隨時擴(kuò)展。電力企業(yè)因為業(yè)務(wù)的不斷發(fā)展、服務(wù)器維護(hù)工作量大、維護(hù)成本高等特點,需要基于云計算、虛擬化等先進(jìn)信息技術(shù)開展信息化建設(shè)工作。目前國網(wǎng)湖北省電力公司已經(jīng)在電力行業(yè)內(nèi)率先使用了云計算技術(shù)[1]。
OpenStack是由NASA(美國航空航天局)和RackSpace公司合作發(fā)起的開源項目,目前已成為全球最流行的開源云計算解決方案。在國內(nèi)Open?Stack正受到各行各業(yè)用戶追捧,典型案例有中移動公有云和私有云、聯(lián)通的沃云、中國電信集團(tuán)云管理平臺、中國銀聯(lián)金融生產(chǎn)云、湖北省楚天云、華為公有云和私有云、上海交大JCloud等。
OpenStack組件采用松耦合設(shè)計,用戶可以根據(jù)需要靈活選擇,自由組合。其基礎(chǔ)服務(wù)組件有Key?Stone身份認(rèn)證服務(wù)、Glance鏡像服務(wù)、Nova計算服務(wù)、Neutron網(wǎng)絡(luò)服務(wù)、Cinder塊存儲服務(wù)、Swift對象存儲和Horizon面板服務(wù):
Keystone負(fù)責(zé)處理私有云中所有請求的認(rèn)證以及授權(quán),并為其它組件提供系統(tǒng)功能目錄服務(wù),其它組件的服務(wù)功能都需要在Keystone中注冊;
Glance負(fù)責(zé)管理VM系統(tǒng)鏡像,提供虛擬機(jī)鏡像的檢索、注冊以及拉取功能;
Nova負(fù)責(zé)提供VM的計算資源和VM的管理控制;
Neutron負(fù)責(zé)管理VM網(wǎng)絡(luò),它允許租戶創(chuàng)建自定義的網(wǎng)絡(luò),并將網(wǎng)絡(luò)添加到虛擬路由設(shè)備端口上使用;
Cinder負(fù)責(zé)為VM提供磁盤附屬卷存儲功能;
Swift負(fù)責(zé)為VM提供磁盤文件對象存儲功能;
Horizon是OpenStack的管理系統(tǒng),負(fù)責(zé)為管理員和普通用戶提供Web界面管理各種云資源和服務(wù)。
OpenStack各組件之間的關(guān)系如圖1所示。
圖1 OpenStack組件相互關(guān)系圖Fig.1 OpenStack component relationship diagram
KVM服務(wù)器虛擬化使用QEMU技術(shù)模擬處理器,使用KVM、QEMU-KVM技術(shù)模擬CPU的運行,使用Libvirt技術(shù)為各種虛擬化工具提供編程接口。利用KVM和QEMU虛擬機(jī)Hypervisor各自的優(yōu)點和特性,結(jié)合QEMU-KVM和Libvirt,可以為服務(wù)器底層虛擬化提供完整的解決方案。
開源Ceph分布式存儲技術(shù)能在廉價的存儲介質(zhì)上構(gòu)建具有高性能、高擴(kuò)展性、高可用性的分布式存儲系統(tǒng)。它可以在一個統(tǒng)一的系統(tǒng)中同時提供對象、塊和文件存儲功能。目前Ceph已經(jīng)被納入Linux內(nèi)核之中,廣泛應(yīng)用在科學(xué)計算等HPC領(lǐng)域。
Ceph最大的特點是分布式的元數(shù)據(jù)服務(wù)器。通過CRUSH擬算法來分配文件的位置,其核心是RADOS(resilient automatic distributed object storage)對象集群存儲,提供對象的高可用,錯誤檢測和修復(fù)功能。
基于SDN+Overlay網(wǎng)絡(luò)虛擬化技術(shù)通過在現(xiàn)有網(wǎng)絡(luò)上疊加一個軟件定義的邏輯網(wǎng)絡(luò)實現(xiàn)業(yè)務(wù)邏輯,原有網(wǎng)絡(luò)盡量不做改造,這種網(wǎng)絡(luò)虛擬化技術(shù)可以動態(tài)感知虛擬機(jī)的遷移,進(jìn)而實現(xiàn)網(wǎng)絡(luò)策略的動態(tài)跟隨。Open vSwitch是實現(xiàn)網(wǎng)絡(luò)虛擬化的重要基礎(chǔ)組件,在OpenStack中可以利用Open vSwitch作為底層部件來完成虛擬網(wǎng)絡(luò)的提供和租戶網(wǎng)絡(luò)的管理。
為了保證電力企業(yè)信息安全,遵循開源、自主可控的原則,采用OpenStack開源云技術(shù)框架來搭建企業(yè)私有云;服務(wù)器虛擬化底層采用KVM虛擬化技術(shù)進(jìn)行建設(shè);業(yè)務(wù)應(yīng)用數(shù)據(jù)存儲采用Ceph分布式存儲技術(shù)實現(xiàn),同時輔以當(dāng)前主流的網(wǎng)絡(luò)Vxlan及Open vSwitch SDN技術(shù)實現(xiàn)網(wǎng)絡(luò)虛擬化,整個私有云平臺技術(shù)架構(gòu)如圖2所示。
私有云網(wǎng)絡(luò)主要分成管理網(wǎng)、業(yè)務(wù)網(wǎng)、存儲網(wǎng)三類子網(wǎng),并且實現(xiàn)三網(wǎng)隔離,功能如表1所示。
表1 私有云網(wǎng)絡(luò)劃分Tab.1 Private cloud network division
服務(wù)器主要分成控制節(jié)點、網(wǎng)絡(luò)節(jié)點、計算節(jié)點、存儲節(jié)點四種角色,功能如表2所示。
圖2 OpenStack私有云技術(shù)架構(gòu)Fig.2 OpenStack private cloud technology architecture
表2 服務(wù)器節(jié)點分類Tab.2 Private cloud server role classification
私有云網(wǎng)絡(luò)架構(gòu)圖如圖3所示。
圖3 私有云網(wǎng)絡(luò)架構(gòu)圖Fig.3 Private cloud network architecture
在OpenStack環(huán)境中包含很多不同的服務(wù),根據(jù)服務(wù)特點,可以將其分為三類(見表3)。
表3 OpenStack基礎(chǔ)服務(wù)分類Tab.3 Openstack basic service classification
(1)控制節(jié)點HA
控制節(jié)點的高可用對整個OpenStack集群的高可用至關(guān)重要,因為控制節(jié)點上運行了很多管理服務(wù),計算節(jié)點和網(wǎng)絡(luò)節(jié)點實現(xiàn)高可用的前提就是這些控制組件是穩(wěn)定的,在故障發(fā)生后能夠繼續(xù)提供服務(wù)。在控制節(jié)點上要針對不同類型服務(wù)分別實現(xiàn)HA方案,見表4。
RabbitMQ-Server和MySQL這類有狀態(tài)的服務(wù),內(nèi)部有選舉機(jī)制,為了保證其數(shù)據(jù)一致性、避免網(wǎng)絡(luò)分區(qū)等故障,至少需要啟動三個實例,所以控制節(jié)點至少需要3個。
(2)計算節(jié)點HA
計算節(jié)點作為宿主機(jī),運行KVM虛擬機(jī),當(dāng)故障檢測程序檢測到宿主機(jī)發(fā)生故障時,由于源宿主機(jī)和目的宿主機(jī)共享存儲系統(tǒng),只需要通過網(wǎng)絡(luò)發(fā)送客戶機(jī)的vCPU執(zhí)行狀態(tài)、內(nèi)存中的內(nèi)容、虛機(jī)設(shè)備的狀態(tài)到目的宿主機(jī)上,就可以實現(xiàn)KVM虛擬機(jī)的熱遷移,從而實現(xiàn)高可用性。
表4 控制節(jié)點服務(wù)高可用方案Tab.4 Control node service high availability solution
(3)網(wǎng)絡(luò)節(jié)點HA
通過故障檢測程序來判斷硬件和系統(tǒng)異常,當(dāng)某一網(wǎng)絡(luò)節(jié)點發(fā)生故障時,將該節(jié)點自動屏蔽,將數(shù)據(jù)流量自動引流到其它網(wǎng)絡(luò)節(jié)點。如果網(wǎng)絡(luò)負(fù)載較大,可以增加網(wǎng)絡(luò)節(jié)點數(shù)量,以提高網(wǎng)絡(luò)性能。
(4)存儲節(jié)點HA
在Ceph分布式存儲中,使用計算節(jié)點自帶SSD形成高性能的存儲池,構(gòu)建存儲計算超融合節(jié)點。使用存儲節(jié)點服務(wù)器掛載大容量SAS磁盤,構(gòu)建大容量的存儲池。池的劃分使用Ceph內(nèi)建的pool的概念實現(xiàn)。采用3副本和強(qiáng)一致性驗證的方式,保障數(shù)據(jù)安全性的同時,還可以保障高性能。當(dāng)有單一節(jié)點故障時,不影響平臺穩(wěn)定性。
生產(chǎn)環(huán)境操作系統(tǒng)采用Linux發(fā)行版CentOS 7.1.1503 x86_64,OpenStack版本為Liberty。服務(wù)器由3臺控制節(jié)點、3臺網(wǎng)絡(luò)節(jié)點、9臺計算節(jié)點、9臺存儲節(jié)點組成。計算節(jié)點使用曙光I820-G20高性能服務(wù)器,其余節(jié)點全部使用曙光I620-G20系列服務(wù)器。物理網(wǎng)絡(luò)使用3臺H3C s5560交換機(jī)負(fù)責(zé)平臺千兆網(wǎng)絡(luò)接入,3臺H3C s6800交換機(jī)負(fù)責(zé)平臺萬兆網(wǎng)絡(luò)接入,2臺H3C s9810交換機(jī)負(fù)責(zé)平臺核心網(wǎng)絡(luò)數(shù)據(jù)交換,如圖4所示。
圖4 云管理平臺Fig.4 OpenStack cloud management center
建成后的生產(chǎn)環(huán)境vCPU總量774,內(nèi)存總量4.4 TB,存儲總量607 TB。使用云管理平臺對云主機(jī)進(jìn)行統(tǒng)一管理。正常情況下一臺云主機(jī)從創(chuàng)建到可以通過網(wǎng)絡(luò)訪問經(jīng)歷的時間為10 s左右。采用OpenStack開源社區(qū)的Rally工具對平臺進(jìn)行API功能測試、高并發(fā)壓力測試,測試數(shù)據(jù)見表5~9。
表5 Keystone創(chuàng)建和刪除用戶(18.436 s)Tab.5 KeystoneBasic.create_delete_user(18.436 s)
表6 Glance創(chuàng)建和刪除鏡像(45.955 s)Tab.6 GlanceImages.create_and_delete_image(45.955 s)
表7 Cinder創(chuàng)建和刪除卷(16.473 s)Tab.7 CinderVolumes.create_and_delete_volume(16.473 s)
表8 Neutron創(chuàng)建和刪除網(wǎng)絡(luò)(38.386 s)Tab.8 NeutronNetworks.create_and_delete_networks(38.386 s)
表9 Nova啟動和刪除虛擬機(jī)(77.396 s)Tab.9 NovaServers.boot_and_delete_server(77.396 s)
Rally測試結(jié)果顯示所有并發(fā)請求處理成功率為100%。
在穩(wěn)定性測試環(huán)節(jié),平臺承載66臺云主機(jī)已正常運行262 d,云主機(jī)vCPU分配總量為465,占平臺vCPU總量的60%;內(nèi)存分配總量為1.3 TB,占平臺內(nèi)存總量的30%;存儲分配總量7.5 TB。測試期間平臺、各云主機(jī)及各云主機(jī)承載的業(yè)務(wù)系統(tǒng)功能正常。
截至2017年7月20日,湖北華中電力科技開發(fā)有限責(zé)任公司基于OpenStack、KVM虛擬化和Ceph分布式存儲等開源技術(shù)構(gòu)建的IaaS私有云平臺已經(jīng)完成了大數(shù)據(jù)平臺、變電狀態(tài)監(jiān)測系統(tǒng)、供電服務(wù)指揮平臺、配網(wǎng)實時管控、指標(biāo)看板系統(tǒng)、作業(yè)風(fēng)險管控系統(tǒng)、項目管理系統(tǒng)、視頻診斷分析系統(tǒng)等業(yè)務(wù)系統(tǒng)的遷入,有效地解決了機(jī)房空間不足,資源利用不高,維護(hù)難等現(xiàn)實問題,為公司的信息化發(fā)展打下了牢固的基礎(chǔ)。
實踐證明OpenStack開源云計算技術(shù)具備成本低、穩(wěn)定性和可靠性高、易于管理等優(yōu)點,可以有效地提高IT資源利用率,降低數(shù)據(jù)中心管理和運維成本,促進(jìn)節(jié)能減排綠色發(fā)展。
(References)
[1]張科,董亮,鄒澄澄.利用云計算技術(shù)建立電力信息系統(tǒng)硬件資源池[J].湖北電力,2014,38(6):1-3.ZHANG Ke,DONG Liang,ZOU Chengcheng.Using technology of cloud computing build hardware resource pool of electric power information system[J].Hubei Electric Power,2014,38(6):1-3.
[2]OpenStack high availability guide[EB/OL].http://docs.openstack.org/ha-guide/.