麦淼 杨文标 周虎
(南方报业传媒集团)
[摘 要] 目前互联网、新媒体已逐步进入云时代,面对纷繁复杂的IAAS云平台解决方案,传统报业究竟应该如何规划、选择?本文介绍了南方报业传媒集团在开展IAAS基础云平台建设时所做的探索和实践,分享了利用开源架构建设IAAS平台的技术方案,并阐述了传统报业从底层基础架构向开源技术全面转型的心得和体会。
[关键词] IAAS基础云 开源架构 OpenStack
1 南方报业IAAS基础云平台建设背景为应对新媒体冲击,加快传统报业转型发展,2013年8月南方报业全面启动“创新媒体云”项目。该项目意在将云计算、移动互联与大数据分析技术引入传统媒体行业,对用户需求进行精细分析和深度挖掘,为不同人群提供更及时、更权威、更个性化的信息资讯,为广告客户提供更精准、更到位的整合营销服务,项目建设首当其冲的就是最底层基础IAAS云平台的打造。
2 面临的主要困难我们调研了近30多个业界领先的云平台厂商,面对众多的技术方案,我们需要思考以下几个问题:
- 技术绑定问题。云计算技术还在发展中,厂家私有化协议较多,未形成统一标准,几大阵营争夺激烈,一旦选择,有可能被技术绑定。
- 成本费用问题。采用商业化的云软件,例如vmvare等使得整个IAAS项目建设和运维成本异常高,难以体现云计算节约成本的优势,不易获得集团支持。
3 开源架构——南方报业的选择在调研中,我们发现大型互联网公司大都采用了开源技术架构,很多商业公司例如IBM、HP的产品也在底层大量应用开源架构,只不过在此之上再丰富开源架构的功能,包装成自己的产品予以销售。开源架构主要有以下几个方面的优势:
- 开源云技术的发展特性吸引更多的IT厂商和互联网巨头应用推广,促进云计算基础架构成熟和相关标准形成;
- 开源产品使得技术投入成本大幅下降,利于获得集团支持;
- 开源技术的透明性利于培养自身团队,能通过多种渠道获得技术支持,一定程度上避免技术绑定,提高云平台研发运维的自主性;
当然采用开源技术也意味着我们需要通过自身的力量解决多种技术问题,在一定时期内有可能增加故障发生率,延长故障处理时间,但综合考虑开源技术优势,我们还是决定全面采用开源产品实施IAAS云平台建设,初期拟通过购买一些开源技术应急响应服务缓解运维压力。
4 南方报业IAAS基础云平台物理部署根据业务分类,集团需建设私有云和公有云,其中私有云主要处理集团管控及采编类业务,公有云则处理新媒体公众服务类业务,由于两朵云在面向对象、业务种类、带宽资源上有明显区别,因此将私有云部署在集团机房,而公有云则部署在IDC机房,两者通过光纤连接,并设置严格的安全管控策略。为简化工程复杂度,利于项目实施,集团首先启动私有云IAAS平台建设。私有IAAS云根据开发、测试、业务的需要设置子区域,各区域采取VLAN划分或物理方式隔离,部署如下图:
图1:集团私有云IAAS物理部署图
5 南方报业IAAS基础云平台管理架构设计根据功能划分,南方报业IAAS基础云平台管理架构分为三大部分:IAAS基础云平台管理系统、核心支撑系统和辅助支撑系统。其中IAAS基础云平台管理系统的主要功能是整合计算、网络、存储资源,并按照需求自动分配或回收这些资源;而支撑系统主要包括监控、配置、负载均衡等,主要监控系统的运行状况,实现软件的自动部署和高可用。
5.1 主要软件产品选型分析 - IAAS基础云平台管理系统:OpenStack,目前最主流的云计算开源框架,我们采用了其最新版本Icehouse。OpenStack有很多的组件模块,根据业务需要,我们将选择启用以下组件:
1) Nova:管理云的计算资源、网络、授权及调度。Nova通过Web服务API来对外提供处理接口,这些接口与Amazon的Web服务接口是兼容的。2) Keystone: 为所有的OpenStack组件提供认证和访问策略服务。3) Glance: 用于虚拟机镜像发现、注册、检索等管理服务。4) Horizon: 管理、控制OpenStack服务的Web控制面板。5) Swift: 提供一种分布式、持续虚拟对象存储服务,用API接口提供对象存储服务。6) Cinder: 核心功能是对卷管理,整合后端多种存储,用API接口提供块存储服务。7) Ceilometer: 数据采集(监控数据、计费数据)模块,采集到的数据提供给监控、计费、面板等项目使用。
- 2. 核心支撑系统:
1)
基础操作系统:OpenStack官方文档支持RHEL、CentOS、Fedora、Ubuntu、Debian、OpenSUSE等。基于集团已熟练应用CentOS的现状,选择CentOS。2)
底层关系型数据库:OpenStack官方支持MySQL和PostgreSQL作为其底层数据库服务器,两者均可以稳定地提供数据存储服务。MySQL是目前开源社区内应用最为广泛的关系型数据库管理系统,各种解决方案也较为丰富,运维成本较低。根据实际生产环境案例的经验,双主MySQL方案在大中型OpenStack环境下经受了负载压力的考验,基于上述考虑,拟采用MySQL作为底层数据库服务器,采用Galera作为其集群解决方案。3)
底层消息队列系统:OpenStack官方支持RabbitMQ与Apache Qpid作为其底层消息队列服务器,两者均可以稳定地为OpenStack提供消息队列服务,但RabbitMQ应用更广泛,因此选择RabbitMQ。4)
底层虚拟化管理程序:比起其他的虚拟化管理程序,OpenStack对KVM和Xen的支持最好。相对KVM,Xen的性能更好,但配置和维护更加复杂,并且会给系统内核升级等工作带来更大困难,因此选择KVM。
- 辅助支撑系统:
1)
监控系统:监控物理机与虚拟机性能,OpenStack平台各组件服务状况的监控是由OpenStack的Ceilometer组件负责。业界常用的开源性能监控系统主要有Zabbix、Nagios和Cacti等。Zabbix从功能、易用性、可扩展性以及应用广泛性上都要优于另外两者。为提高OpenStack平台的稳定性,将监控所需数据库与云平台数据基础库分离, 考虑到PostgreSQL技术特性及集团已有相关人才储备,选择PostgreSQL作为监控数据库。2)
配置管理系统:业界常与OpenStack配合使用的开源配置管理系统主要有Chef和Puppet。其中Chef社区支持较好,并且OpenStack的发起人之一Rackspace也提供了基于Chef的OpenStack自动化部署方案,这将极大地节省部署时间,避免人工参与可能造成的错误。此外,Chef在性能方面优于其他方案。3)
负载均衡系统:HAProxy提供基于TCP和HTTP应用的代理,支持虚拟主机。Keepalived的作用是检测服务器的状态,HAProxy+Keepalived组合是免费、快速并且可靠的高可用负载均衡解决方案。4)
授时系统:采用NTP,它是用来使计算机时间同步化的一种协议,提供高精准度的时间校正。5)
非关系型数据库:由于传统关系型数据库不适合存储云平台产生的大量监控数据和日志数据,因此,按照官方推荐,方案选择使用Mongodb数据平台存放Ceilometer产生的日志数据。 Mongodb是非关系数据库当中功能最丰富,最像关系数据库的。它的特点是高性能、易部署、易使用。6)
分布式存储系统:方案选择目前OpenStack社区使用最广泛的Ceph项目作为分布式存储系统。它可以同时提供对象存储、块存储。 综合上述分析,云管理平台模块选型如下:
表1:云管理平台模块列表
序号 | 类别 | 功能模块 | 软件产品 选型/组件 | 备注 |
1 | 云平台管理系统(OpenStack) | 计算与网络资源管理 | Nova | 实现计算与网络资源的自动分配与回收 |
2 | 认证与授权服务 | Keystone | 为所有模块提供统一的多租户管理,包括认证、授权和配额等 |
3 | 虚拟镜像服务 | Glance | 提供虚拟镜像和虚拟机快照的管理功能。 |
4 | 用户界面服务 | Horizon | 为所有服务提供了一个模块化的web-based用户界面。 |
5 | 对象存储服务 | Swift | 对象存储服务 |
6 | 块存储服务 | Cinder | 块设备存储服务 |
7 | 监控服务 | Ceilometer | 监控OpenStack集群内各组件的状况 |
8 | 核心支撑系统 | 基础操作系统 | CentOS | 6.5版本 |
9 | 底层关系型数据库 | MySQL | 提供传统的关系型数据存储服务 |
10 | 底层消息队列系统 | RabbitMQ | 为各组件提供进程间通讯的服务 |
11 | 底层虚拟化管理程序 | KVM | Linux 2.6.20之后集成在Linux中 |
12 | 辅助支撑系统 | 监控系统 | Zabbix+PostgreSQL | 为物理服务器和虚拟服务器提供性能监控与报警服务 |
13 | 配置管理系统 | Chef | 自动部署 |
14 | 负载均衡系统 | HAproxy和Keepalived | 确保各模块高可用 |
15 | 授时系统 | NTP | 确保各服务器系统时间的准确性与同步性。 |
16 | 非关系型数据库 | Mongodb | 为监控数据及日志数据提供数据管理平台。 |
17 | 分布式存储 | Ceph | 提供低成本、高性能的存储空间。 |
5.2 软件部署架构设计OpenStack集群内的物理服务器按照服务功能分为三类,即管理节点、计算节点和存储节点。管理节点上运行云平台的认证与授权、虚拟镜像服务、MySQL数据库、 RabbitMQ消息队列服务等,负责云平台管理控制;计算节点负责承载所有的虚拟机,部署OpenStack计算节点模块,负责提供云平台计算能力;存储节点则作为存储服务后端挂载存储设备,分为传统集中式存储和分布式存储,运行OpenStack的Swift、Cinder模块,提供对象存储和块存储服务。云平台各组件可按照其重要程度分为两类。重要程度较高的组件例如关系型数据库系统、消息队列系统等,此类系统一旦停止服务,将影响IAAS云平台管理系统的功能,因此这类系统均需要按照高可用的解决方案来部署。重要程度较低的包括授时系统、监控系统、配置管理系统、软件包镜像和网络启动安装系统,此类系统出错后不会对基础云平台的功能造成直接影响,尽快排除错误或恢复备份即可。云高可用设计分为硬件和软件两部分,硬件高可用设计分为计算资源高可用、网络高可用及存储高可用,软件高可用设计分为云平台高可用及应用的高可用。计算资源高可用主要为云主机提供动态迁移,这是为了避免物理机的单点故障,在物理机突发宕机时,云主机可以动态迁移到其他物理机上,以缩减业务宕机时间。但这需要部署共享存储。网络高可用设计主要体现物理机网络和云主机网络两方面。物理网络即服务器网卡、接入和汇聚交换机都采取冗余连接。云主机网络方面,计算集群中每个节点均额外部署网络虚拟化(nova-network)以及元数据服务(nova-api)模块,避免单点故障。存储系统的高可用性包括本地存储以及网络存储。计算节点服务器均本地硬盘做RAID1,网络存储盘做RAID5。对象存储服务采取数据冗余设计和多代理节点负载均衡部署方式提供高可用能力,而块存储服务则主要依靠其后端的存储自带高可用机制。云计算平台高可用设计主要体现在各个控制节点的服务高可用上。控制集群采取冗余方式避免控制节点、管理服务、底层的数据库和消息队列的单点故障。应用层的高可用性由应用层解决,需支持分布式部署。
5.3 存储系统设计云平台存储利用传统集中式存储和新的分布式存储技术提供对象存储、块存储服务。
- 对象存储:部署OpenStack的Swift组件,并与Glance进行集成,存储云主机模板及提供备份的存储后端等。
- 块存储服务:部署OpenStack的cinder-volume模块,为虚拟机提供iSCSI形式存储,扩展云主机的存储空间。
集中式存储运维技术成熟,适合为数据库类型系统提供直接访问服务,云平台初期的存储主要由集中式存储提供。分布式存储可任意扩展伸缩,在达到一定规模之后,能提供更好的IO性能,且单位存储空间成本明显低于集中式存储。但由于技术较新,缺乏运维经验,因此先对开发测试区域提供服务,待积累一定经验后,逐步向生产区域推广。为发挥分布式存储高IO处理的特长,分布式存储区域建立万兆网络。云平台虚拟机动态迁移功能需共享存储资源支持。虽然集中式存储同样能实现共享存储,但云平台的规模会使得它在IO处理能力上出现瓶颈,因此适宜采用分布式存储提供共享存储服务。初期,云平台仅为开发测试业务提供虚拟机动态迁移能力,待分布式存储具备生产环境使用能力后再为生产系统提供虚拟机动态迁移功能。
5.4 网络架构设计OpenStack中管理虚拟机网络共有两种方式,nova-network和neutron。尽管OpenStack官方推荐使用neutron,但由于nova-network结构简单、稳定,有大规模使用案例,而以“软件定义网络”(SDN)为核心的neutron由于部署、维护复杂且未有大规模生产环境中成功案例,因此采用nova-network来管理虚拟机网络。在nova-network模块中,共有三种工作模式可供选择,Flat、FlatDHCP和VLANManager。其中VLANManager由于可以实现多租户网络隔离和计算节点上网络的高可用性部署,因此采用VLANManager模式管理虚拟机网络。
5.5 IAAS云架构逻辑图
图2:IAAS云架构逻辑图
6 现有软硬件系统的迁移与整合云平台建成后,原有软硬件经评估、测试后迁移至云平台。硬件系统的整合流程如下图:
图3:硬件系统整合至云平台流程图
最低的配置原则建议:中央处理器为64位并支持虚拟化功能、至少具备两个千兆以太网口、服务器购置时间不超过两年等。软件系统迁移有以下建议:
- 原则上先将启用开发测试云,以检验云平台的稳定性;
- 将业务系统按重要程度分级,按照从低往高的次序分批进行云迁移适应性评估测试,评估可行的才能迁至云平台;
- 应用迁移应尽力避免服务中断,可先行在云平台上搭建目标系统,再进行数据备份与迁移,待测试稳定后,停止原有系统的运行并保留一段时间。
7 结束语开源架构具备技术架构灵活、大幅降低成本、提升技术掌控力等优势,但是也将技术人才的培养提到了至关重要的位置。它把原来需要投入给软硬件平台的资金转向投入自身技术团队培养,集团采用开源架构建设IAAS平台是慎重考虑的结果,这个决定将使得整个技术部经历一个较长阵痛期,但是我们认为这种经历长远来看是值得的,它将全面提升集团信息技术人员的专业能力价值,向真正的互联网新媒体迈进。
参考文献:[1] Ken Pepple, Deploying OpenStack. First Edition.USA:O’Reilly;3-23-2011[2] Kevin Jackson, Cody Bunch, OpenStack Cloud Computing Cookbook. 2nd Edition: Packt Publishing;10-17-2013[3] Tom Fifield, Diane Fleming, Anne Gentle, Lorin Hochstein, Jonathan Proulx, Everett Toews, Joe Topjian, OpenStack Operations Guide 1
st Edition: O’Reilly Media: 5-18-2014[4] Navin Sabharwal, Prashant Wali, Cloud Capacity Management 1
st Edition: Apress: 7-17-2013
联系方式:麦 淼(南方报业传媒集团信息技术部副主任)联系电话:83003145,手机:13570011811,E-MAIL:maim@nfmedia.com杨文标(南方报业传媒集团信息技术部)联系电话:83003037,手机:13660885746,E-MAIL:yangwb@nfmedia.com周 虎(南方报业传媒集团信息技术部)联系电话:83000141,手机:13926003300,E-MAIL:zhouhu@nfmedia.com
编辑:中国新闻技术工作者联合会
评论 点击评论