私有云平台建设与软件系统管理

随着企业IT系统的日益庞大和复杂化,服务器硬件资源的浪费显得越来越严重。企业通过建设私有云计算平台,可以根据各种业务应用系统的特性来综合调整资源的分配。本文将就这种技术所使用的软件系统如何有效管理各种组件进行研究。

1、云计算问题的提出

云计算是继上世纪80年代大型计算机到客户端——服务器的大转变之后的又一种巨变。用户不再需要了解“云”中基础设施的细节,不必具有相应的专业知识,也无需直接进行控制。云计算描述了一种基于互联网的新的IT服务增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展、虚拟化的资源。

随着企业规模的不断扩大,企业中IT系统变得越来越复杂和庞大,各大企业都开始面临一个实际问题:服务器数量的快速增长,导致机房资源(包括电源、机架、网络接人端口以及机房空间等)迅速被消耗。而通过进一步的性能分析发现,绝大多数服务器硬件的资源利用率都非常低。如为了某一个新的应用软件或应用系统而采购新的服务器,便造成了更多的硬件资源浪费。

如何通过各类软件系统来管理和控制虚拟化环境,从而有效地利用这些资源,已经成为业界重点探讨的问题。在这样的现实背景下,虚拟化技术开始被各个企业广泛应用,他们希望藉此整合服务器硬件资源,减少资源浪费。但是硬件虚拟化技术的应用,同时带来了另一个问题:各种不同的应用软件系统对资源的消耗各不相同,有的软件系统由于其自身特性,对资源的消耗并不均衡。通过什么手段既能整合硬件服务器,又能保证被整合的各个软件系统都有充足的资源运行,成为一个关键性的问题。

2、私有云计算平台建设的关键

“私有云”这个概念通常意味着:

(1)组织可使用的一系列专用的计算资源(不与其他组织共享);

(2)资源可能位于内部,或由外部的第三方服务提供商托管。如果专用资源是被托管的,这种特殊的私有云类型也称作是“托管私有云”。仅仅通过虚拟化技术本身是无法完成“私有云计算平台”的目标。因为虚拟化技术仅仅提供了将多个操作系统分离,使其在不同的内存空间中运行的方式,而并不能很好地在这些操作系统之间根据硬件资源需求的变化而灵活地为它们调整资源的占用。

因此,私有云计算平台建设的重点包括:

  • 目前多种私有云计算平台的实现和对比;
  • 多种虚拟化平台资源管理的优势结合;
  • 研究找出不同应用系统资源调配基准;
  • 实现自动化的动态资源调整。

私有云计算平台建设的难点包括:(1)多平台技术的组合使用;(2)典型应用系统的资源调配基准的测试和确定;(3)开发与应用系统相关的动态资源分配程序。

3、企业私有云计算平台的实现

3.1 主要应用场景

私有云的服务对象很明确,他们往往包含两个应用对象:IT管理者和业务部门使用者。企业私有云计算平台主要有如下四种应用场景(本文中讨论的内容适用于各个场景,但主要对动态数据中心场景相关的资源需求计算和动态监控调整有较完整的阐述)。

(1)应用于开发测试,加强其敏捷性,缩短发布周期。对于拥有开发团队的企业而言,建设企业私有云,可以为开发者提供即时的按需分配的硬件资源,使得开发者可以迅速地根据研发、测试和压力模拟等需要来申请计算资源,而且通过克隆和快照功能实现错误的快速重现和排查,让开发者能够获取和保存更多性能以及有质量保证的测试结果。

(2)应用于企业应用程序的迁徙升级。通过网页在数分钟内就可以组建虚拟的数据中心,模拟搭建服务器集群和灾备配置,以便让程序迁徙的测试、集成和验证可以更早地开始。而且项目将不再依赖于硬件采购周期。此场景适用于将传统的服务器群组组成的企业应用程序环境迁移到云平台。

(3)应用于IT程序孵化器和沙箱。以往大部分IT应用程序往往涉及到很多硬件和系统操作,搭建或者拆除他们往往需要消耗不少的人力和物力,而且耗时,特别是在模型沙箱阶段,不可预测的需求改变往往导致频繁的搭建和拆卸。通过构建一些“模板”可实现某些企业级应用的快速部署。

(4)应用于动态数据中心。让传统数据中心中的硬件资源在某些时候闲置、某些时候又不足的问题得到很好的缓解,通过资源池的有效监控和管理来进行动态分配。

3.2 建设私有云计算平台的硬件需求

建设企业私用云平台,必须根据业务需求考虑云环境的硬件配置。首先从概念来讲,私有云是松散的IT堆栈依靠各种虚拟化和管理技术落地,并通过管理模块为企业灵活快速交付存储、服务器、桌面或者应用。因此,考虑硬件配置的时候需要从三个维度出发。

(1)基本技术支持。一是服务器CPU是否支持虚拟化。因为虚拟化是云计算实施的必要条件,目前对于企业而言,Intel和AMD两家厂商的CPU均支持虚拟化,而且从使用效果对比上并没有实质性能和功能上的差异。二是存储系统是否支持共享存储,是否支持多节点的群集系统。因为云平台的一大特征就是最终用户无需考虑服务的实现,因此业务部门会将可用性的要求直接交给IT部门,而保障高可用性的一个最重要的架构就是群集系统。由多台服务器硬件组成的服务器群组共同工作,在其中某个或某些节点出现故障时,整体功能不受影响,性能影响在可接受范围内,而且可以通过快速加入新的节点以恢复到优秀的计算能力。

(2)整体性能。如服务器虚拟化需要一定规格CPU、内存、硬盘的服务器,I/O操作要求高的数据就需要高性能I/O存储设备,应用的统一交付也需要网络设备具有一定的吞吐能力。通常需要根据应用系统的特性来规划其在云平台上的放置和资源分配。根据所有应用系统的最高硬件需求综合考虑整体云平台的硬件配置。

(3)容量要求。如将虚拟服务器或者桌面的虚拟硬盘文件统一存储,那么对存储的容量也是有要求的。云平台通常采用两种方式存储数据,对于需要高可用性的系统,将其操作系统和应用系统数据存储在共享存储空间中。共享存储空间单位价格较昂贵,但吞吐性能更强,并能够提供更高的可用级别;对于海量数据和可用性要求较低的数据,通常存储在直连存储或网络存储设备上,并通过磁带设备进行定期的备份。这些设备单位价格相对较低,但可用级别也较低,并需要一定的故障恢复时间。

一个企业的数据中心包括了非常复杂的子系统和辅助设备,基于以上三个维度的要求,私有云计算平台涉及的硬件部分应当包括如下内容:一是虚拟化物理机资源池,以提供CPU和内存的计算能力;二是存储资源池,以提供存储能力;三是网络交换机和网络分层,以提供网络传输能力和网络流量隔离(网络分层的主要目标是隔离服务网络、备份网络和管理网络的流量,避免互相占用带宽和数据冲突。通常,会产生对X64虚拟化物理机资源池的网络连接适配器的资源要求,为了使各个应用系统所处的虚拟机能够联通多个网络,需要为它们分配多个网络适配器,这就要求物理服务器本身具备多个网络适配器。由于每个网络适配器将被虚拟为一个交换机,因此相当于多台物理主机之间通过多个交换机互联);四是管理服务器池,以提供流程管理、监控管理、配置管理和备份恢复管理等方面的能力。其中,CPU、内存、存储和网络带宽的需求可以根据业务系统的要求计算得知。管理服务器通常只需要固定的物理服务器资源即可,甚至很多场景下也可以将它们放入单独的虚拟化平台运行。

3.3 私有云计算平台管理软件的主要模块

通过上述分析我们可以发现:为了让私有云计算平台整体运转良好,需要如下管理软件模块:

(1)虚拟化平台管理模块。

此模块的主要用途是对虚拟化平台的各项基本功能进行管理,包括:虚拟机的建立、修改和删除;虚拟机在宿主机上存放的方式(放置在共享存储上作为高可用性系统,或者放在本地磁盘上);虚拟机使用者(如应用系统管理员)的操作接口(如web控制台)。此模块优秀实现与底层虚拟化平台的实现产品无关,如:同时支持微软的Hyper-V,VMware和Xen Server等多个平台,这样的话,就可以同时利用多平台的优势,并隐藏多平台操作的复杂性,让管理者和使用者都能高效地使用这个模块。

(2)宿主机和虚拟机硬件子系统监控模块。

由于宿主机的性能和可用性直接影响到在宿主机上运行的多个虚拟机的健康状况,所以对宿主机的各个硬件子系统监控是必不可少的模块。它主要完成如下功能:对CPU子系统的利用率进行实时监控,约每15秒~1分钟取一次性能数据;对内存子系统的利用率进行实时监控,约每1~2分钟取一次性能数据;对磁盘子系统的吞吐量和延迟进行实时监控,约每1-2分钟取一次性能数据;对网络子系统的吞吐量和延迟进行实时监控,约每1~2分钟取一次性能数据。
除了获取数据,此模块还需要接受管理员设定的性能基线指标值,然后通过对比性能基线和实际性能数据,来判定当前宿主机的硬件子系统是否处于健康状态。这些对比的方式可以非常灵活,根据实际情况,可以通过1次对比(如CPU达到100%)、多次对比(如内存连续3次采样均超过80%利用率)、平均值对比(如网络吞吐量连续10次采样平均值达到500MBps)等多种计算方式来判定。判定问题之后,此模块还需要发送相应的警告信息给自动化控制模块或管理人员,由人工或者计算机程序来完成剩余的调整工作。

(3)自动化(或半自动化)控制模块。

自动化(或半自动化)控制模块主要用于根据监控模块给出的警告信息来触发各种处理事件,从而消除故障或调整参数到健康的状态。许多重复性的劳动或成熟的指标调整方法都可以交由预编写好的计算机程序去完成,也就是自动化工作;但是,仍然有一些复杂的情况需要由人工干预完成。

比较典型的实例是:当私有云计算平台中运行的某个业务系统报告其计算资源不足,比如此系统当前共有3台虚拟机资源,但是每台CPU利用率都达到了90%以上,那么在这种情况下,可能需要通过增加额外的虚拟机来分担业务系统的压力,从而将整体CPU利用率降低到合理水平。因此,我们可以通过监控模块发起警告,通知自动化模块建立新的虚拟机并将其加入到业务系统的服务器群组中,当自动化工作完成之后,CPU利用率降低,则监控系统会发现实际性能数据已经在性能基线以内,警告就会消除。通过以上多个模块之间的配合和分工,可以实现对私有云计算平台整体的管理,并保障其稳定健康运行。

4、总结与展望

从企业信息化发展的历程可以发现,由企业内部建设和运维其业务系统,不仅对企业的人力和财力是一项挑战,而且人员水平差异更容易造成各企业IT系统参差不齐,从而阻碍了业务的发展。相信在下一个20年,必将是云计算平台逐步成为主流的年代,各大厂商目前已经提供了公有云的服务,但从安全性、可靠性和成熟度等方面考虑,企业目前无法将所有的业务系统顺利或放心地迁移到公有云平台上。因此,我们有理由认为,私有云计算平台将成为企业在未来5~10年内重点发展的一个方向,从资源节约、标准化、扩展性和易管理性等方面,私有云计算平台都将为企业增强竞争力提供有力的支持。

商务达