面向电力行业的OpenStack私有云建设
2017-03-02张江凯
张江凯,陈 闻
(湖北华中电力科技开发有限责任公司,湖北 武汉 430077)
0 引言
云计算是指一种IT基础设施的交付和使用模式,通过网络以按需、易扩展的方式获得所需的软硬件资源。提供资源的网络被称为“云”,云中的资源可以随时获取,按需使用,随时扩展。电力企业因为业务的不断发展、服务器维护工作量大、维护成本高等特点,需要基于云计算、虚拟化等先进信息技术开展信息化建设工作。目前国网湖北省电力公司已经在电力行业内率先使用了云计算技术[1]。
1 相关技术介绍
1.1 OpenStack平台
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
1.2 KVM虚拟化技术
KVM服务器虚拟化使用QEMU技术模拟处理器,使用KVM、QEMU-KVM技术模拟CPU的运行,使用Libvirt技术为各种虚拟化工具提供编程接口。利用KVM和QEMU虚拟机Hypervisor各自的优点和特性,结合QEMU-KVM和Libvirt,可以为服务器底层虚拟化提供完整的解决方案。
1.3 Ceph分布式存储
开源Ceph分布式存储技术能在廉价的存储介质上构建具有高性能、高扩展性、高可用性的分布式存储系统。它可以在一个统一的系统中同时提供对象、块和文件存储功能。目前Ceph已经被纳入Linux内核之中,广泛应用在科学计算等HPC领域。
Ceph最大的特点是分布式的元数据服务器。通过CRUSH拟算法来分配文件的位置,其核心是RADOS(resilient automatic distributed object storage)对象集群存储,提供对象的高可用,错误检测和修复功能。
1.4 网络虚拟化技术
基于SDN+Overlay网络虚拟化技术通过在现有网络上叠加一个软件定义的逻辑网络实现业务逻辑,原有网络尽量不做改造,这种网络虚拟化技术可以动态感知虚拟机的迁移,进而实现网络策略的动态跟随。Open vSwitch是实现网络虚拟化的重要基础组件,在OpenStack中可以利用Open vSwitch作为底层部件来完成虚拟网络的提供和租户网络的管理。
2 私有云架构设计
2.1 总体架构
为了保证电力企业信息安全,遵循开源、自主可控的原则,采用OpenStack开源云技术框架来搭建企业私有云;服务器虚拟化底层采用KVM虚拟化技术进行建设;业务应用数据存储采用Ceph分布式存储技术实现,同时辅以当前主流的网络Vxlan及Open vSwitch SDN技术实现网络虚拟化,整个私有云平台技术架构如图2所示。
2.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
2.3 高可靠性设计[2]
在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副本和强一致性验证的方式,保障数据安全性的同时,还可以保障高性能。当有单一节点故障时,不影响平台稳定性。
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。测试期间平台、各云主机及各云主机承载的业务系统功能正常。
4 结语
截至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/.