張江凱,陳 聞
(湖北華中電力科技開發有限責任公司,湖北 武漢 430077)
云計算是指一種IT基礎設施的交付和使用模式,通過網絡以按需、易擴展的方式獲得所需的軟硬件資源。提供資源的網絡被稱為“云”,云中的資源可以隨時獲取,按需使用,隨時擴展。電力企業因為業務的不斷發展、服務器維護工作量大、維護成本高等特點,需要基于云計算、虛擬化等先進信息技術開展信息化建設工作。目前國網湖北省電力公司已經在電力行業內率先使用了云計算技術[1]。
OpenStack是由NASA(美國航空航天局)和RackSpace公司合作發起的開源項目,目前已成為全球最流行的開源云計算解決方案。在國內Open?Stack正受到各行各業用戶追捧,典型案例有中移動公有云和私有云、聯通的沃云、中國電信集團云管理平臺、中國銀聯金融生產云、湖北省楚天云、華為公有云和私有云、上海交大JCloud等。
OpenStack組件采用松耦合設計,用戶可以根據需要靈活選擇,自由組合。其基礎服務組件有Key?Stone身份認證服務、Glance鏡像服務、Nova計算服務、Neutron網絡服務、Cinder塊存儲服務、Swift對象存儲和Horizon面板服務:
Keystone負責處理私有云中所有請求的認證以及授權,并為其它組件提供系統功能目錄服務,其它組件的服務功能都需要在Keystone中注冊;
Glance負責管理VM系統鏡像,提供虛擬機鏡像的檢索、注冊以及拉取功能;
Nova負責提供VM的計算資源和VM的管理控制;
Neutron負責管理VM網絡,它允許租戶創建自定義的網絡,并將網絡添加到虛擬路由設備端口上使用;
Cinder負責為VM提供磁盤附屬卷存儲功能;
Swift負責為VM提供磁盤文件對象存儲功能;
Horizon是OpenStack的管理系統,負責為管理員和普通用戶提供Web界面管理各種云資源和服務。
OpenStack各組件之間的關系如圖1所示。

圖1 OpenStack組件相互關系圖Fig.1 OpenStack component relationship diagram
KVM服務器虛擬化使用QEMU技術模擬處理器,使用KVM、QEMU-KVM技術模擬CPU的運行,使用Libvirt技術為各種虛擬化工具提供編程接口。利用KVM和QEMU虛擬機Hypervisor各自的優點和特性,結合QEMU-KVM和Libvirt,可以為服務器底層虛擬化提供完整的解決方案。
開源Ceph分布式存儲技術能在廉價的存儲介質上構建具有高性能、高擴展性、高可用性的分布式存儲系統。它可以在一個統一的系統中同時提供對象、塊和文件存儲功能。目前Ceph已經被納入Linux內核之中,廣泛應用在科學計算等HPC領域。
Ceph最大的特點是分布式的元數據服務器。通過CRUSH擬算法來分配文件的位置,其核心是RADOS(resilient automatic distributed object storage)對象集群存儲,提供對象的高可用,錯誤檢測和修復功能。
基于SDN+Overlay網絡虛擬化技術通過在現有網絡上疊加一個軟件定義的邏輯網絡實現業務邏輯,原有網絡盡量不做改造,這種網絡虛擬化技術可以動態感知虛擬機的遷移,進而實現網絡策略的動態跟隨。Open vSwitch是實現網絡虛擬化的重要基礎組件,在OpenStack中可以利用Open vSwitch作為底層部件來完成虛擬網絡的提供和租戶網絡的管理。
為了保證電力企業信息安全,遵循開源、自主可控的原則,采用OpenStack開源云技術框架來搭建企業私有云;服務器虛擬化底層采用KVM虛擬化技術進行建設;業務應用數據存儲采用Ceph分布式存儲技術實現,同時輔以當前主流的網絡Vxlan及Open vSwitch SDN技術實現網絡虛擬化,整個私有云平臺技術架構如圖2所示。
私有云網絡主要分成管理網、業務網、存儲網三類子網,并且實現三網隔離,功能如表1所示。

表1 私有云網絡劃分Tab.1 Private cloud network division
服務器主要分成控制節點、網絡節點、計算節點、存儲節點四種角色,功能如表2所示。

圖2 OpenStack私有云技術架構Fig.2 OpenStack private cloud technology architecture

表2 服務器節點分類Tab.2 Private cloud server role classification
私有云網絡架構圖如圖3所示。

圖3 私有云網絡架構圖Fig.3 Private cloud network architecture
在OpenStack環境中包含很多不同的服務,根據服務特點,可以將其分為三類(見表3)。

表3 OpenStack基礎服務分類Tab.3 Openstack basic service classification
(1)控制節點HA
控制節點的高可用對整個OpenStack集群的高可用至關重要,因為控制節點上運行了很多管理服務,計算節點和網絡節點實現高可用的前提就是這些控制組件是穩定的,在故障發生后能夠繼續提供服務。在控制節點上要針對不同類型服務分別實現HA方案,見表4。
RabbitMQ-Server和MySQL這類有狀態的服務,內部有選舉機制,為了保證其數據一致性、避免網絡分區等故障,至少需要啟動三個實例,所以控制節點至少需要3個。
(2)計算節點HA
計算節點作為宿主機,運行KVM虛擬機,當故障檢測程序檢測到宿主機發生故障時,由于源宿主機和目的宿主機共享存儲系統,只需要通過網絡發送客戶機的vCPU執行狀態、內存中的內容、虛機設備的狀態到目的宿主機上,就可以實現KVM虛擬機的熱遷移,從而實現高可用性。

表4 控制節點服務高可用方案Tab.4 Control node service high availability solution
(3)網絡節點HA
通過故障檢測程序來判斷硬件和系統異常,當某一網絡節點發生故障時,將該節點自動屏蔽,將數據流量自動引流到其它網絡節點。如果網絡負載較大,可以增加網絡節點數量,以提高網絡性能。
(4)存儲節點HA
在Ceph分布式存儲中,使用計算節點自帶SSD形成高性能的存儲池,構建存儲計算超融合節點。使用存儲節點服務器掛載大容量SAS磁盤,構建大容量的存儲池。池的劃分使用Ceph內建的pool的概念實現。采用3副本和強一致性驗證的方式,保障數據安全性的同時,還可以保障高性能。當有單一節點故障時,不影響平臺穩定性。
生產環境操作系統采用Linux發行版CentOS 7.1.1503 x86_64,OpenStack版本為Liberty。服務器由3臺控制節點、3臺網絡節點、9臺計算節點、9臺存儲節點組成。計算節點使用曙光I820-G20高性能服務器,其余節點全部使用曙光I620-G20系列服務器。物理網絡使用3臺H3C s5560交換機負責平臺千兆網絡接入,3臺H3C s6800交換機負責平臺萬兆網絡接入,2臺H3C s9810交換機負責平臺核心網絡數據交換,如圖4所示。

圖4 云管理平臺Fig.4 OpenStack cloud management center
建成后的生產環境vCPU總量774,內存總量4.4 TB,存儲總量607 TB。使用云管理平臺對云主機進行統一管理。正常情況下一臺云主機從創建到可以通過網絡訪問經歷的時間為10 s左右。采用OpenStack開源社區的Rally工具對平臺進行API功能測試、高并發壓力測試,測試數據見表5~9。

表5 Keystone創建和刪除用戶(18.436 s)Tab.5 KeystoneBasic.create_delete_user(18.436 s)

表6 Glance創建和刪除鏡像(45.955 s)Tab.6 GlanceImages.create_and_delete_image(45.955 s)

表7 Cinder創建和刪除卷(16.473 s)Tab.7 CinderVolumes.create_and_delete_volume(16.473 s)

表8 Neutron創建和刪除網絡(38.386 s)Tab.8 NeutronNetworks.create_and_delete_networks(38.386 s)

表9 Nova啟動和刪除虛擬機(77.396 s)Tab.9 NovaServers.boot_and_delete_server(77.396 s)
Rally測試結果顯示所有并發請求處理成功率為100%。
在穩定性測試環節,平臺承載66臺云主機已正常運行262 d,云主機vCPU分配總量為465,占平臺vCPU總量的60%;內存分配總量為1.3 TB,占平臺內存總量的30%;存儲分配總量7.5 TB。測試期間平臺、各云主機及各云主機承載的業務系統功能正常。
截至2017年7月20日,湖北華中電力科技開發有限責任公司基于OpenStack、KVM虛擬化和Ceph分布式存儲等開源技術構建的IaaS私有云平臺已經完成了大數據平臺、變電狀態監測系統、供電服務指揮平臺、配網實時管控、指標看板系統、作業風險管控系統、項目管理系統、視頻診斷分析系統等業務系統的遷入,有效地解決了機房空間不足,資源利用不高,維護難等現實問題,為公司的信息化發展打下了牢固的基礎。
實踐證明OpenStack開源云計算技術具備成本低、穩定性和可靠性高、易于管理等優點,可以有效地提高IT資源利用率,降低數據中心管理和運維成本,促進節能減排綠色發展。
(References)
[1]張科,董亮,鄒澄澄.利用云計算技術建立電力信息系統硬件資源池[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/.