张榆
(云南电网有限责任公司信息中心,昆明 650217)
随着信息时代的持续发展,电力业务越来越复杂,用户需求越来越多样化,需要不断扩展ΙT应用才能满足业务部门的需求。应用的增加同时也带来了服务器数量的快速增加,从初期的几台服务器发展到庞大的数据中心,上千台的服务器资源如何有效的利用和管理成为一个急切的问题。
近年来,云计算技术和虚拟化技术为优化资源利用率和资源管理方法提供了一种新型且有效的方法,为各个数据中心带来了多元的架构解决方案,并随着其在各方面优秀的表现而逐渐改变着传统数据中心的运营方式。其中,商业云计算解决方案因其成熟、稳定、操作便捷等特性而被最早地使用。然而,随着数据中心服务器规模的不断增长,商业云计算解决方案不断增加的软件授权费和专业运维费为企业带来了愈来愈严重的资源管理成本过高的问题。并且,商业云计算解决方案的产品较为封闭,难以与其它云计算技术有效地集成在一起。
针对以上问题,本文采用OpenStack开源虚拟化技术和Ceph开源分布式存储技术构建了灵活高效的开源私有云平台,实现计算资源、存储资源以及网络资源的统一管理和自助式使用。OpenStack和Ceph的开源性、架构松耦合性以及优秀的横向扩展性为该私有云平台提供了良好的灵活性、弹性扩展性、包容性,使该平台能有效满足不断复杂的电力业务和不断增长的资源规模对资源使用灵活和管理成本节约的需求。
私有云平台的功能架构设计包括管理虚拟计算资源、虚拟存储资源等云化基础资源和配套的网络环境,支持管理未来引入的异构基础设施对象,包含X86服务器、ΙBM小型机、商业存储、运维管理平台等。通过该平台的设计和实现,将建设成基于OpenStack和Ceph的开源虚拟化资源管理平台,对数据中心进行统一管理,实现虚拟化资源和物理资源的统一抽象,形成逻辑统一的云计算资源池,主要提供虚拟计算、虚拟存储、虚拟网络以及虚拟安全等服务,具体可提供服务内容为虚拟主机服务、虚拟硬盘服务、备份服务、弹性负载均衡服务、物理机纳管服务、虚拟机高可用服务、安全管理服务、资源监控服务、用户自助服务等。
图1 平台功能架构图
遵循“集中控制、各司其职”的原则,根据OpenStack模块之间的高度松耦合性和分布式特性,并依照服务器节点功能的不同,本开源私有云平台的部署架构主要由3台控制节点、3台计算节点、3台存储节点以及3台计算存储融合节点组成,如图2所示。同时,还单独配置一台部署节点用于平台集群的一键部署和可视化操作。该架构设计使开源私有云平台具有良好的横向可扩展性,包括计算集群的可扩展性、存储集群的可扩展性以及控制集群的可扩展性等。
图2 平台部署架构图
1)部署节点:主要用于提供开源私有云平台的一键式自动部署能力、平台规模自动化扩展能力以及部署、扩容过程的全程可视化操作能力。
2)控制节点:主要用于运行管理开源私有云平台环境中计算、网络、存储、计量、编排、容器调度等服务,以及服务运行所需的消息队列组件RabbitMQ、MySQL数据库和MongoDB数 据 库, 并 通 过 HAProxy、Pacemaker、Corosync等技术实现各服务的高可用和接入层的负载均衡。在设计中,使用至少3个节点构成一个控制集群,并在集群中设置仲裁机制,从而避免因控制节点“脑裂现象”而导致整个私有云平台不可用。
3)计算节点:是虚拟化层提供计算能力的载体,通常采用1~N台标准X86物理服务器。计算节点可以进行扩展,并且在扩展时不影响业务的正常运行,保持系统不停机,保障业务的连续性。
4)存储节点:主要采用Ceph开源分布式存储技术实现分布式存储资源池,通过存储多副本技术保障整个存储资源池中没有单点故障,保障了数据的安全性和可靠性。基于Ceph的分布式存储由多个独立的标准x86服务器组成,利用本地硬盘提供存储空间。存储集群整体的有效存储容量可依照公式(1)来计算和设计。
5)计算存储融合节点:是指在同一个服务器节点上同时部署计算、存储相关组件,使之同时具备计算节点和存储节点的功能。
依据以上架构设计,本文构建了适用于本企业电力信息系统的开源私有云平台,形成了计算资源、存储资源及网络资源三大基础资源的有效整合、统一管理、按需分配、灵活调度。
我们使用OpenStack和Ceph开源社区公布的稳定发行版来构建开源私有云平台,并使用友好的图形化安装工具 Roller来实施基础环境的自动化部署,包括控制节点、计算节点、存储节点、计算存储融合节点以及各关键组件的自动部署和配置。Roller是一个为OpenStack端到端“一键部署”设计的工具,其功能含盖自动的PXE方式的操作系统安装,DHCP服务,Orchestration服务 和puppet 配置管理相关服务等,此外还有OpenStack关键业务健康检查和日志实时查看等非常好用的服务。Roller工具的架构图如图3所示。
图3 Roller工具架构图
通过OpenStack的Nova、Ιronic等组件将能将不同品牌、型号的异构物理服务器进行裸设备资源整合,将基于KVM的计算资源和基于VMware的计算资源进行资源整合,现虚拟化资源和物理资源的统一抽象,形成逻辑统一的计算资源池,实现虚拟主机、物理机的统一管理、统一调配,避免了现有的商业虚拟化技术在资源扩展时候的技术封闭、难兼容的问题。
图4 计算资源虚拟化架构图
基于Ceph分布式存储技术,实现多个节点的存储资源的整合和统一管理。此外,OpenStack可将Ceph开源分布式存储、商业存储等多种存储资源进行高效集成,并通过cinder、swift等组件为用户提供块存储、对象存储以及文件存储等多种存储方式。
通过OpenStack的Neutron等组件构建虚拟化网络,提供基于租户隔离的从二层到七层的虚拟网络服务,通过VLAN实现各个业务系统的网络隔离,满足业务对网络高效性、可靠性、扩展性以及网络隔离的需求。同时,通过VLAN/VXLAN组网,平台实现了基于软件的路由器、交换机、负载均衡、防火墙功能等。
图5 存储资源虚拟化架构图
图6 网络资源虚拟化架构图
该开源私有云平台主要用于为企业电力信息系统的测试业务提供快速便捷的计算资源和存储资源自助申请和动态调整,可以为电力信息系统测试业务在敏捷开发和敏捷运维中提供资源的灵活调度、高效利用。
该平台还为用户提供虚拟资源自助式申请服务。用户可以自主选择所需的资源服务模板进行资源申请,系统自动配置其所需资源。对于用户而言,资源的申请只需要提交一次申请即可完成,无需分别申请计算资源、存储资源和网络资源,使用户资源申请耗时可缩短70%,提高了资源申请的便捷性和高效性。对于资源管理员而言,一项业务所需的计算资源、存储资源和网络资源可以在平台内流程化地完成资源的分配和调度,虚拟资源的配置时间短至分钟级别,从而极大地降低管理复杂度和工作量,提升管理效率。
本文利用OpenStack和Ceph的开源技术构建了一个适用于电力信息系统的开源私有云平台,并描述该平台的架构设计和。OpenStack的开源性、包容性、架构松耦合性以及优秀的横向扩展性使该开源私有云平台能够满足电力信息系统和数据中心规模不断增长对平台扩展性、灵活性、包容性等各方面的需求,有效降低资源管理成本,优化资源服务方式,提高资源服务效能,实现项目在保证资源稳定性的条件下节省资源管理成本、优化资源管理和服务方式的目标。