APP下载

企业级数据库云平台的建设与运维方案

2012-06-11张攀翔陈秋华

电信科学 2012年2期
关键词:虚拟化运维服务器

梁 勇,张攀翔,陈秋华

(中国移动通信集团公司广东分公司 广州510623)

1 引言

传统电信企业的系统建设过程中,由于需求变化快速、系统数量巨大,系统建设往往按照各自应用需求来评估、采购、建设、维护各个应用独立的主机、存储、网络、数据库、应用服务器等资源,从而导致了竖井式或烟囱式的多套独立的系统,这种建设方式带来了大量的问题。

·项目建设周期漫长,难以快速满足市场需求。

·购买了大量不需要的处理能力。系统前期很难准确估算业务量和需要采用怎样的数据库资源支撑,导致某些系统的数据库长期处于非常空闲的状态,浪费了投资。

·缺乏集中管理和安全性保护。由于每个系统独立建设,每个系统的可用性、安全性都依赖于SI单独实现,规划复杂,实施难度大,导致较大的系统管理和安全性漏洞。

·难以随着业务需求的变化调整数据库资源,存在平时大量资源利用率普遍偏低和业务高峰值时资源不足的矛盾。例如,在中国移动通信集团公司某分公司负责建设和运维的增值业务中,有数十个独立的数据库平台,“139说客”的核心数据库服务器的平均CPU负荷长期在60%以上,而峰值可以长达24 h超过90%,带来了很大的系统运行质量的隐患,也可能由于负荷高影响了业务响应时间,导致客户感受的受损。反之,也有不少数据库主机长期平均负荷在5%以下,甚至持续看不到任何负载,造成了投资上的浪费。

因此,亟需打破原来这种烟囱式的建设方式,随着云计算技术的逐渐成熟和完善,通过云计算技术实现系统资源的共享、动态调整和按需分配,成为电信企业未来主要的探索方向。计算基础设施的发展如图1所示。

从电信企业系统运行情况来看,其核心的服务器和存储资源的50%以上是作为数据库平台部署的,所以如何实现电信级对数据库云平台的灵活部署,既可以实现“大分小”式,又可以实现“小合大”式的应用部署,对电信企业运营商而言极为重要。

图1 计算基础设施的发展

2 云计算背景知识

2.1云计算概念

NIST对云计算的定义:云计算模型能以按需方式,通过网络方便地访问云系统的可配置计算资源共享池(如网络、服务器、存储、应用程序和服务),同时以最少的管理开销及与供应商的交互,迅速配置提供或释放资源。

云计算是网格计算 (grid computing)、分布式计算(distributed computing)、并行计算(parallel computing)、效用计算(utility computing)、网络存储技术(network storage technology)、虚拟化(virtualization)、负载均衡(load balance)等传统计算机和网络技术发展融合的产物。

2.2 云计算的服务模式

云计算是以服务的形式提供IT化能力。云计算所提供的服务形式可以分为IaaS(infrastructure as a service)、PaaS(platform as a service)、SaaS(software as a service),如图2所示。

图2 云计算的3种服务模式

IaaS主要关注基础设施(即硬件)虚拟化、资源共享、资源调配等硬件服务能力的提供,如果面向系统建设考虑,仍然需要进一步部署相应的平台软件(数据库、中间件等)和应用软件,所以IaaS层提供的云服务管理粒度只在硬件层面,对平台软件和应用软件的部署和管理几乎没有涉及。

在提供云服务的过程中,硬件作为基础设施层,仍然需要承载平台和应用软件能力,所以大部分企业更多地关注业务层面的平台软件方面的服务化,即PaaS层服务能力。IOUG对企业客户云计算服务的关注调查如图3所示。

PaaS层主要关注提供平台软件的服务能力 (如数据库、中间件等),所以实现PaaS层服务模式,可以有两种技术选择:一种是基于IaaS层提供的硬件基础设施,再通过PaaS管理平台来部署和管理平台软件服务;另一种是直接通过一体化的解决方案来实现软、硬件的统一管理、部署、资源分配和回收。前一种方式存在管理的复杂性、兼容性问题,甚至还可能存在严重的性能瓶颈和整体运行风险的问题。如中国移动通信集团公司广东分公司(以下简称广东移动)在基于x86服务器上通过虚拟化技术来实现IaaS层资源池,再部署Oracle数据库和业务应用,通过实际测试发现,性能损耗超过40%,而且还存在Oracle RAC数据库没有在VMWare平台得到厂商官方支持的问题,一旦遇到系统问题,诊断、解决时都存在很大的潜在运行风险。

图3 IOUG对企业客户云计算服务的关注调查

通过软硬件一体化PaaS层云服务,形成共享资源池,同时提供平台级软件能力,然后按照各个应用需求在PaaS资源池中申请硬件资源、获得软件服务的方式,不断部署不同的业务应用,实现系统的集中化整合。这样可以有效节省计算和存储资源、机房空间、耗电和配套设施、人力维护成本,提高系统的可靠性、扩展能力、计算能力,避免出现业务要求和系统支撑能力不匹配的问题。

3 电信级数据库云平台理想架构和最佳实践

3.1 电信级PaaS数据库云平台的理想架构

根据以上分析,从效率、管理、集成、兼容性角度来看,实现数据库云平台的最佳方式是软、硬件一体化PaaS平台解决方案,而PaaS云一体化解决方案需要从4个主要方面考虑。

·构建可不断堆叠、可线性扩展、分布式的服务器资源池;

·构建可不断堆叠、可线性扩展、分布式的存储资源池;

·构建服务器与服务器之间、服务器与存储之间的高速互联网络;

·构建软硬一体化、统一的云管理和云治理平台。

由于在电信系统中,数据库呈现多元化和混合型特点。既有大量的小规模数据库,如增值业务系统、政企客户系统等,也有很多超大规模数据库,如计费、CRM、话务网管等;既有OLTP为主的系统,如CRM、呼叫中心等,也有很多以OLAP型为主的系统,如数据仓库、数据集市等,还有很多OLTP和OLAP混合型系统,如结算、账务、网管等,既有以本地区为主导的系统,又有全国型集中化的系统。所以对数据库云平台的要求也呈现出一定的电信级要求。

·灵活的资源分配和管理能力,可以同时支持“大分小”和“小合大”两类要求。

·混合型数据库架构,既可以支持“数据库集群”型的OLTP交易,又可以支持 “数据库集群”型的OLAP处理。

·极高的处理性能,保证数据库云平台可以支撑大量数据库应用。

·极高的扩展能力,保证数据库云平台可以不断地线性扩展。

·极高的可靠性,保证业务的连续性。

·高性价比、低能耗。

·完善、统一、可视化的管理能力。

满足电信级数据库PaaS云平台要求的理想架构,需要软件和硬件的有机结合来构成,每个组成部分既需要硬件能力,也需要软件特性配合来实现整体目标。

3.1.1 计算资源池

从硬件来看,这一部分是运行数据库的主要部分,需要实现低成本化堆叠、分布式网格计算能力,所以需要多服务器、多CPU协同、网格集群化的运行环境。为了实现这个目标,利用低成本的x86架构的多服务器堆叠,配合共享磁盘架构数据库集群是最理想的架构,因为多台x86架构可以提供低成本、快速的扩展能力,但与小型机相比,x86架构的可靠性不够,可以通过共享磁盘架构的数据库集群来提高整体运行的可靠性,同时能够发挥多服务器的分布式并行处理能力。

从软件来看,计算资源池要求能够对资源进行灵活的分配和管理,既可以将一个服务器的部分资源分配给一个特定应用,即“大分小”,也可以将多个服务器资源整合成为一个应用,即“小合大”。同时还能够在资源池内部和外部按照需要动态调整原有分配的资源关系,比如随需增加或减少一个应用服务所占的CPU、内存等。

3.1.2 存储资源池

从硬件来看,作为数据库的存储部分,具备低成本、分布式并行特点,可以通过多个小的存储单元堆叠方式不断地进行线性扩展,构成大规模存储资源池;同时作为数据库存储,需要具备大容量的多级缓存机制,使得数据库中的热点数据可以通过缓存来提高处理性能;另外随着数据量的不断增加,存储单元需要具备足够的CPU和计算能力,参与到数据的预处理过程中来,以减轻数据库服务器所需处理的数据量。

从软件来看,由于电信企业数据规模的不断增加,特别是网络运维应用包含大量的网元数据,需要存储具备较高的数据压缩比,以节省存储空间,另外存储侧可以通过并行化的方式对数据进行预分拣和预过滤,提高数据的处理效率。

3.1.3 网络互联

图4 网络互联技术

在数据库云平台方面,需要采用大量的主机集群及存储集群,为了让这些集群能够发挥最佳的效果,必须使用效率最高的内部网络把它们连接起来,目前比较成熟的网络技术主要有万兆以太网以及Infiniteband,如图4所示。这两种技术都可以提供高速的内部连接,用来实现主机之间的集群连接、存储单元之间的互联以及主机到存储单元之间的数据连接。

3.2 符合电信级PaaS数据库云平台要求的最佳实践

从目前实践来看,要符合电信级数据库PaaS云平台的要求,Oracle的Exadata数据库云服务器是一个理想选择。

3.2.1 分布式服务器资源池

Exadata数据库云服务器可以通过整合多服务器的计算资源,形成一个巨大的资源池,许多不同的数据库可运行于同一Exadata数据库机器上。

DB服务器通过共享配置方式使不同数据库应用运行在指定的资源范围内,可以通过Service的方式实现数据库服务的虚拟化,应用以Service的方式连接并运行于一个或多个动态的数据库节点上,可以动态地增长、回收和移动。通过Service虚拟化可以实现“大分小”和“小合大”的虚拟化应用。

·大型数据库可通过RAC技术跨越多个物理节点;

·多个小型数据库可以通过共享运行于同一个物理节点。

对于多个数据库运行于同一节点的情况,实例绑定(instance caging)技术提供可预知的CPU核心资源,可限制数据库运行于特定的处理器的子集上,如图5所示。

通过数据库虚拟化和整合多应用数据库于Exadata数据库云平台,可以使得各个应用数据库的资源利用率得到有效的整合和提升,以节省更多的主机、存储、机房、软件License等资源。

如企业有3个主要应用在数据库云平台运行,3类应用分别以Sales App、ERP App和HR App表示,如图6所示。数据库云平台可以分别给3类应用构建服务器资源池(server pool)和空闲资源池(free pool),3 类应用分别通过相应的数据库服务接口连接Exadata数据库云平台。根据实际业务需求,销售部门应用需要持续地使用较多的数据库云资源,数据请求需要优先得到满足。ERP类应用对数据库云资源的需求弹性较大,随商务周期可能会有所变动,同时数据请求的优先级较销售部门低。HR类应用对数据库云资源需求相对固定,且所需的资源最少,数据请求的优先级最低。Exadata数据库云平台可以按照每类应用对资源的需求进行管理和动态供应。

在Exadata数据库云服务器中,不同应用数据库部署在多个数据库服务器集群中,当应用负载和请求增长时,原有计算资源不足以满足要求,服务质量会下降(预定义策略),数据库服务可以在数据库云平台中动态扩展到资源空闲的服务器中运行,提高该服务的服务质量。

3.2.2 分布式存储资源池

Exadata数据库云服务器本身就集成了ASM (自动存储管理)的存储管理功能,用来实现存储的虚拟化、高扩展、高可靠的特点。

通过Oracle ASM进行存储虚拟化后,不但可以实现存储的性能水平扩展,而且可以实现存储的高可用、自管理能力。加入ASM管理的存储可以划分为不同的磁盘组,当数据存储在磁盘组中时,数据会均匀分布到磁盘组的各个存储单元,实现数据均匀分布,当磁盘组中增加或减少存储单元数量时,数据会被动态地重新分布,避免出现任何的热点磁盘。

图5 实例绑定技术

图6 数据库云平台的3类应用

图7 智能存储技术的处理

Exadata将数据库计算分成计算密集型处理和存储密集型处理,分别在DB服务器和存储服务器完成。采用智能存储技术(Smart Scan),实现了存储层完全并发式、智能化的预处理,提高了数据的处理效率,并降低了DB服务器的处理负担,如图7所示。

3.2.3 高性能互联网络

Oracle Exadata Storage在服务器和存储之间使用了Infiniband互连。Exadata单元具有高可用性的双端口4倍数据速率(QDR)Infiniband连接。每个Infiniband连接提供了40 GB的带宽,高于传统存储或服务器网络许多倍。而且Oracle的互连协议使用直接内存访问(DMA),直接将数据从线缆转移到数据库缓存,没有额外的数据拷贝,以确保极低的CPU开销。Infiniband网络具有 LAN网络的灵活性和SAN的高效性,使用 InfiniBand网络后,Oracle可确保网络不会成为性能瓶颈,其也为 Oracle数据库真正应用集群节点提供了高性能集群互连。

3.2.4 集中化、统一的云平台管理

Oracle Exadata与 Oracle企业管理器 (EM)网格控制进行了集成,可轻松监视Exadata环境。在现有的 EM系统中安装 Exadata插件后,可以监视Exadata Storage Server上的统计信息和活动,并将事件和警报发送给管理员。EM系统与Exadata集成的优势介绍如下。

·监视 Oracle Exadata存储;

·收集存储配置和性能信息;

·根据阈值设置发出报警和警告;

·在历史数据的基础上提供丰富的现成量度和报表。

所有的功能用户均期望可以配合使用 Oracle企业管理器和Exadata。用户可以使用 EM界面轻松地管理Exadata环境和其他以往结合企业管理器使用的 Oracle数据库环境。DBA可以使用熟悉的 EM界面来查看报表以确定 Exadata系统的状况并管理Exadata存储的配置。

4 数据库PaaS云平台带来的运维和管理的转变

4.1 数据库PaaS云平台的运维管理模式

从本质上来说,云计算并不是一种技术的革命,而是一种管理模式的革命。云计算的技术基础,不论是服务器虚拟化、存储虚拟化,还是平台软件级别的集群和资源控制,都是已经存在了若干年的技术。从技术手段上来说,这些技术手段短则出现了10年,长的在30年前就已经存在了 (如服务器虚拟化)。但是云计算之所以能对IT的建设和运维带来新的创新,关键在于对整个IT架构的日常管理和运维带来的革命性变更。将所有的资源虚拟化后,伴随着动态可调的能力,大大加快了新应用建设在平台层的建设速度,而且能按照实际的运行情况进行动态调整。

但是这种管理模式革命性的变更,也带来了对应用/系统管理维护的新需求。传统方式中,在大多数的实际情况下,应用软件的开发商SI不仅仅是对自己的应用提供运维,而且也对其应用之下的平台软件/硬件进行主要的运维操作,并根据实际运行的情况,对用户提出基础架构扩容和调整的需求。在采用 PaaS提供数据库云的方式下,之前的SI全部负责的方式必然不可行。因为SI不再负责包括基础硬件和数据库软件的数据库平台的运维,而只是一个数据库作为服务的消费者,必须要有第三方负责相应云平台的运维。同时,由于实际的情况,SI往往会提出自己的数据库服务需要的资源变更请求,对于这些资源变更请求的评估和批准,当然也应该由SI之外的人员/组织予以完成。简单总结一下,在采用数据库云平台后,原来的SI和最终用户的关系会演变成如下4方面的关系,如图8所示。

首先引入的是SI的数据库云平台维护者,负责对数据库云平台的日常监控、安全管理等工作。而且需要由数据库云平台管理者负责对开发商提出的资源变更需求进行决策,判断是否应当进行资源调整。数据库云平台的管理者也需要根据实际业务的情况和云平台维护者给出的系统报告,主动地进行资源调整,以确保系统的资源利用率和各个应用的服务质量。

这样的管理模式变革,对数据库云平台也提出了相应的技术要求。例如,必须有完整的监控手段,监控各个应用资源的使用情况,而且不仅仅是监控,还需要提供更高层次的诊断和优化工具,避免由于SI开发应用的低效率而导致的资源浪费,避免谁的应用越烂,谁就能分配更多资源的不良情况。

对于数据库云平台的维护者来说,也需要更高的技能提升,能在多租户的情况下,从数据库的运维上升到数据库云的运维。对平台维护者来说,也是一个全新的课题。

4.2 目前在数据库PaaS云平台上的运维管理实践

基于广东移动网络运维部门数据库系统多而杂的特点,在数据库云平台部署过程中,对云平台的管理和运维也相应总结了一套实用的管理流程,其主要涵盖了从部署云资源池、应用申请云平台资源需求、评估和审批资源,到部署应用服务和所对应的计算和存储资源、服务资源SLA管理和按需资源调度,再到最终应用退出和资源回收的一套完整过程。下面简单举例说明部分管理流程要点,如图9所示。

图8 原来的SI和最终用户的关系

图9 部分管理流程要点

4.2.1 创建资源服务池

首先基于Exadata构建广东移动网络运维的多个数据库资源池,分为OLTP型应用资源池、OLAP型应用资源池、空闲资源池等,如图10所示,将部分服务器划分在各个对应的资源池内。

图10 数据库资源池分类

4.2.2 评估原有生产系统业务特点

对原有各个生产系统进行调研和评估,评估原有系统的硬件配置和系统容量,如图11所示。对应用特点进行评估,评估业务特点和处理峰值。评估业务系统迁移到Exadata数据库云平台后,对所需的存储和计算能力需求以及对应用的重要程度进行评估分类,以便在数据库云平台中进行资源控制和服务级别管理。

4.2.3 创建业务服务并配置对应分配的资源

将各个业务应用创建成数据库应用服务,在所对应的资源池内进行部署,并按照各个数据库应用服务的评估所需的资源进行初始资源划分,如图12所示。并按照各个应用服务服务的生产规律性周期频度,进行规律性资源计划定义。

5 现网应用效果对比

5.1 性能对比

经过实际测试,基于现网真实数据和应用,测试Exadata数据库云平台的多类应用(OLTP+OLAP),性能提升从44倍到6 750倍。原来数小时的大作业类似于OLAP,目前只需要几秒钟完成,基本都提高了上千倍。原来大量循环+游标类似于OLTP的存储过程也有44倍和127倍的提高,见表1。

5.2 系统扩展能力

对于Exadata的数据库云平台扩展能力测试,告警SQL5(CPU 高负载 SQL,SQL达 34 KB)从 1/4配(执行时间0:01:08)扩展到1/2配(执行时间0:00:31)时,可以明显发现执行时间线性减少(从68 s到31 s),如图13所示。

5.3 压缩比

经过测试,用现网生产数据在Exadata数据库云平台中压缩存储,Exadata对两个大表的压缩率分别可达到7倍和10倍,见表2。

5.4数据库云服务资源池和服务定义

配置两个数据库服务Service1、Service2,可以在数据库云服务虚拟池内实现服务的动态扩展、回收和迁移。

建立ora.gmsp服务池,管理dm01db01、dm01db02两个服务器的资源。Srvctl add srvpool–g ora.gmsp–l 0-u-1–i 0–n dm01db01,dm01db02也可以在Oracle企业管理器界面中添加服务器池。

图11 原有生产系统评估示例

图12 初始资源划分

表1 实际测试结果

图13 数据库云平台扩展能力测试

表2 压缩比测试结果

添加dbfsdg_mount资源具体操作方法如下。

·在Oracle企业管理器界面中服务器集群dm01-cluster上的资源管理处添加资源。

·资源名:dbfsdg_mount。

·资源类型:local_resource。

·操作程序:代理文件和操作脚本。

5.5 服务资源分配

在数据库云平台内,可以按照业务优先级配置系统资源供给。能够配置的资源包括业务的CPU、内存、并发会话数以及I/O优先级和吞吐量。

通过在Oracle企业管理器界面中定义资源计划,可以基于多种条件将不同的会话划分到多个资源组中,对不同的资源组分配不同的CPU资源,分配CPU资源可以基于CPU百分比,定义多个优先级进行分配。

5.5.1 对CPU的分配

在系统中定义了 OLTP_GROUP、OLAP_GROUP和OTHER_GROUP 3个资源组,根据需求,为不同的资源组分配不同的CPU比例。

·OLAP_GROUP:60%。

·OLTP_GROUP:20%。

·OTHER_GROUP:20%。

通过分配,可以保证资源组中的会话获得所需的CPU资源,高优先级的会话获得更多的资源。

5.5.2 对最大活动会话数的分配

通 过 定 义 OLTP_GROUP、OLAP_GROUP和OTHER_GROUP 3个资源组,对资源组中的用户限制最大活动会话数。

·OLAP_GROUP:300。

·OLTP_GROUP:50。

·OTHER_GROUP:100。

资源组中的用户的并发会话不能超过设定的上限,超过上限的会话创建请求会被放置在队列中。

5.5.3 对I/O资源的分配

通过定义 OLTP_GROUP、OLAP_GROUP和OTHER_GROUP 3个资源组,对可使用的I/O带宽和每秒钟的I/O次数进行限制,保证高优先级的用户获得更快的I/O响应。

·OLAP_GROUP:每秒最高I/O带宽使用10 000 MB,I/O次数上限为100 000次。

图14 集中化管理和监控数据界面

·OLTP_GROUP:每秒最高I/O带宽使用 100 MB,I/O次数不受限制。

·OTHER_GROUP:每秒最高I/O带宽使用1 000 MB,I/O次数不受限制。

5.6 集中化管理和监控

通过云管理平台监控系统运行情况,可查看主机、存储、网络、数据库等基本信息,查看日志和告警信息等。

登录Oracle企业管理器的管理界面,在目标主机中找到Exadata的主机,打开主机后在性能选项卡中可以看到 CPU、内存、磁盘I/O的使用率曲线,如图14所示。

6 结束语

云计算给电信企业带来了技术的创新,也带来了管理的变革、支撑形式的挑战和业务运营的机遇。随着数据库云平台的逐渐成熟和落地,会看到更加灵活、快捷的应用的部署;更加低能耗、低成本的运营;更加简单的维护和管理;更加容易实现的大规模系统建设甚至全国性集中化系统的建设,由此而带来的是企业规模式效益、全网化的营销和服务、统一和集中化的管理等价值,对电信企业的转型起到关键的作用。所以进一步深入探索和实现低成本、大规模数据库云计算技术,特别是与之配合的管理和运维问题,是下一步深化数据库云计算技术的关键任务。

猜你喜欢

虚拟化运维服务器
通信控制服务器(CCS)维护终端的设计与实现
运维技术研发决策中ITSS运维成熟度模型应用初探
基于OpenStack虚拟化网络管理平台的设计与实现
风电运维困局
对基于Docker的虚拟化技术的几点探讨
杂乱无章的光伏运维 百亿市场如何成长
中国服务器市场份额出炉
H3C CAS 云计算管理平台上虚拟化安全防护的实现
得形忘意的服务器标准
计算机网络安全服务器入侵与防御