浙江在线 > 新闻 > 国内 > 正文

盛大游戏G云2.0之云管和计算篇-思华XOS和ExpressVM

2018/3/29 10:42:00 来源::浙江在线

从AWS发布第一个大规模云计算平台以来,云计算技术一直高速发展,到了今天,早已超越了简单的将服务器虚拟化的阶段,开始向深水区前进。对于如何构建一个合理、高效、灵活、可运营的大规模云计算平台,一直是业界面临的巨大挑战。

 

盛大游戏一直通过采用先进云计算技术助推游戏产业的发展,打造出了国内一流的私有云平台G云。随着游戏运营环境的急剧变化,游戏在线峰值的高度集中,手游开发更加短平快。为承载纷繁复杂的业务体系及线上游戏运营系统,盛大游戏希望能紧跟行业技术发展态势,迅速创新和升级IT基础架构,为游戏业务发展保驾护航。有鉴于此,盛大游戏需要一个具有如下特点的技术栈:

 

·  能够通过扩展满足爆炸性的游戏业务需求;

·  能够提高资源复用和重置的速度,更即时的监控、更好的弹性、更高的自动化程度;

·  足够的大数据智慧,对玩家进行多角度分析和挖掘,并对玩家行为进行预测以促进运营;

·  利用云的分布式架构提供更高程度的弹性和可靠性。

 

据此,盛大游戏决定构建一个新的弹性云,对原有的G云进行全面升级改版(即G云2.0),进一步支持开拓新业务领域,实施创新布局。在G云2.0中的构建过程中,整个平台面临了诸多全新的挑战,包括:

 

  • 巨大的规模:能够高效管理数以千计的物理机和数以万计的虚拟机,分布在跨区域、跨运营商的多个IDC当中。
  • 复杂的多租户:能够为包括工作室、项目组、游戏和外部客户SP在内的多种租户提供统一的平台,同时保证资源控制、有效隔离和互联互通。
  • 集中管理:能够对所有资源进行集中管控、运维、调度,同时又能够让租户自己高度灵活地调配分配给其的资源。
  • 统一架构:将私有云、公有云、裸机云三种不同体系融合到一套架构内,由系统屏蔽其差异性,提供一致的业务体验。
  • 资源可控:对于不同等级的租户提供不同等级的物理资源,在确保核心客户的使用体验的前提下,又不至于大幅提高整个云平台的建设成本。
  • 可维护可运营:充分考虑云平台的可运营性,能够在不停止服务的情况下对云平台的任何部件进行升级,确保平台技术能够持续演进满足业务的发展。

 

 

思华XOS全能云管平台

 

思华为盛大游戏精心打造的G云2.0平台由四个主要组成部分构成:XOS云管理平台、ExpressVM超融合基础架构,MegaBric存储和ExpressNet软件定义网络。篇幅所限,本篇重点介绍XOS云管理和ExpressVM超融合基础架构的技术特点和架构特色,MegaBric和ExpressNet请参考文章《盛大游戏G云2.0的基石——MegaBric智能集群存储》和《思华SDN技术在盛大游戏G云2.0中的应用》。

 

 

 

图1:XOS全能混合云架构

 

 

ExpressVM超融合基础架构采用超融合一体化思路构建,目标在一个架构内同时解决计算、存储、网络问题,采用软件定义一切的方式降低整个平台的运维和使用难度。

 

ExpressVM以OpenStack为基础,经过了进一步深度开发和调优,并结合了软件定义存储和软件定义网络的相关技术,从而得到了一个高度灵活、可靠和高性能的基础平台。众所周知,OpenStack是目前云计算行业最知名的开源项目,它积累了几乎整个业界在云计算方面的经验,为云计算服务提供了一个很好的基础平台,但其整个系统庞大而复杂,要想将其真正应用在生产环境中,没有对云计算技术的深入理解,强大的自研开发能力,深厚的系统架构和集成经验,几乎是不可能完成的。

 

作为云计算基础架构,ExpressVM不只应用在了盛大游戏G云2.0平台,在工业设计领域、工业4.0自动化生产领域、互联网业务基础环境、边缘云基础环境等也都有广泛应用。

 

XOS云管理平台则在ExpressVM的基础上,进一步针对盛大游戏G云2.0平台的业务特征进行了深度开发,同时和盛大游戏既有平台进行对接,解决了单点登录、物理资源有效管理、运维平台对接等一系列问题。

最终完成的盛大游戏G云2.0平台具有以下一些突出的技术特点:

 

 

1、针对现代硬件架构和虚拟化技术进行再优化

 

对于一个云平台而言,最重要的目的就是要提供一个高效稳定的虚拟机环境。但随着CPU频率几乎已经无法提升的现实,现代的CPU架构正在变得越来越复杂,一个目前最常见的Xeon服务器架构大致如下图所示:

 

 

图2: Intel Xeon E5 v4架构

 

ExpressVM的研发很大一部分便是在与这种变化和虚拟化技术本身结合在一起后产生的复杂性做斗争。

 

首先要看到的问题是,虚拟化技术实际上是在模拟操作系统在裸机硬件上会看到的东西。大多数裸机基本上都可以看成一个巨大的内存映射,通过在特定地址上的操作产生特定的边际效应(最常见的边际效应当然就是访问内存,还包括控制硬盘、网卡、甚至CPU本身等),虚拟化的实质就是允许只访问普通内存地址的用户态程序来管理Guest OS所期望产生的所有边际效应。这样一来,原来许多在硬件层和Hypervisor OS已经解决的问题,都需要在虚拟化层面重新进行考虑。

 

最典型的例子便是网络访问,在网络访问中,直接模拟出一个网卡给GuestOS使用是非常低效的,只能应对最简单的应用场景。而网络游戏这类网络密集型应用,对于网络的延迟、PPS有极高的要求,普通的虚拟化技术便不能再采用了。

 

最终ExpressVM的方案是采用virtio-net来降低相关的寄存器写入开销(并因此产生vmexits),通过Kernel直通、Socket零拷贝,多队列等方法系统性的降低处理的环节和消耗。但即使这样,仍然没有达到最理想的效果,这便需要考虑上述CPU架构的复杂性带来的问题,由于现代CPU架构采用多核体系,拥有多级片上缓存,不同的核之间的切换代价是完全不同的,内存、PCI总线和CPU之间的关系也会直接影响运行效率。最终,通过根据这些特征进行相关的调优和调度,又将实测出来的数据提高了一倍有余,终于使虚拟机的运行性能达到了盛大游戏的要求。

 

另一个典型的例子是虚拟机的稳定性问题,在ExpressVM开发初期,Guest OS的运行出现了许多诡异的现象,像CPU占用过高、系统卡死、定时器不稳定,运行忽快忽慢等。后来通过深入研究,发现在虚拟化环境中,原本的硬件时钟、中断控制等在虚拟出来时,需要做进一步的调优,并针对不同的Guest OS进行不同的配置,BIOS的设置也需要按虚拟化的特点做特定设置,终于提供出了一个稳定可靠高性能的云计算基础架构。

 

2、超融合架构和传统存储的灵活搭配

 

OpenStack对于存储的管理,是通过Cinder组件来完成的,而Cinder是按照计算与存储分离的方式设计,虚拟机访问存储时的具体架构如下图所示:

 

 

图3:传统存储架构

 

可以看到,在这个架构中,虚拟机对存储的访问完全通过存储网络完成的,存在比较明显的性能瓶颈和单点故障。另外,如果存储部分采用的是传统存储阵列,成本也极其高昂。

 

ExpressVM打破了OpenStack Cinder这部分的实现限制,按照计算和存储一体的超融合架构进行了重新设计。在该架构中,可以将虚拟机的系统盘和数据盘保持在虚拟机所在同一台物理机上,使虚拟机访问存储时不再经过网络,有效的避免了网络开销所带来的存储访问延迟和性能瓶颈。同时,如果虚拟机对数据盘的IO要求不高,仍然可以采用传统的外置存储集群来提供数据盘,从而提高硬件选择和扩容的灵活性。

 

图4:超融合一体架构

 

在这个架构中,通过将MegaBric(具体见《盛大游戏G云2.0的基石——MegaBric智能集群存储》)与ExpressVM的有机结合,使用一套软件同时解决存储本地化、多副本冗余,可扩展存储集群等一系列问题,为整个云计算平台打下了坚实的基础。

 

3、高度灵活的架构设计

 

XOS设计的一个要点是在一个架构体系下同时支持私有云、公有云和裸机云,为不同保障等级的租户提供服务,并且要在业务表现形式上屏蔽这一复杂性,展现出统一界面和用户使用体验。OpenStack的原生模型远远无法支持如此复杂的业务需求,为此,XOS在OpenStack模型的基础上进行了进一步扩展,提高了整个系统的灵活性。

XOS构建了如下的租户和资源模型:

 

 

 

 

 

图5:XOS资源管理模型

 

在这套模型体系中,租户不再是一个简单用户,而可以是一个复杂的组织,每个租户还可以有自己的管理员,对归属于自己的资源做进一步的细分,对于租户和租户下的组织,可以细粒度的控制各种资源,XOS可以进行精细控制的资源关系,如下图所示:

 

 

图6: XOS资源关系图

 

XOSG2.0带来良好的可运营性

 

XOS除了考虑了产品功能、性能等常见需求以外,还考虑了G云2.0作为一个云计算平台所需要考虑的可运营性问题。众所周知,一个云计算平台一旦开始运营,便几乎不可能通过停止服务的方式对整个平台进行维护、扩容和软件升级,反而要求维护人员能够快速应对各种突发事件,第一时间解决运营中遇到的各类问题。为此,XOS采用微服务架构设计,构建了一套灵活的部署架构和自动化维护工具,并尽可能使用虚拟机来部署管理系统本身。最终实现了全平台On-The-Fly不停机升级,一键升级和回退产品的任何一个组件。

 

另一方面,为了更灵活进行部署和扩容,XOS在Openstack的原生模型基础上进行了进一步扩展,如下图所示:

 

 

图7:XOS资源规模(Scaling)模型

 

在这个模型中,建立了DC和BC两个基础数据结构,每个DC为物理上隔离的小集群,BC为面向租户的大集群,这个设计使得整个平台获得了良好的隔离性和可扩展性。当用户对隔离性有较高要求时,可以将一些DC完全分配给这个租户,这样别的租户无论运行什么业务,都不会对这个租户造成影响。另一方面,在对平台扩容时,新增设备和现有设备配置不一致也没有问题,相同的配置的设备组成一个DC,可以更好的避免设备不一致所带来的许多复杂情况。最后,通过BC这一抽象层次,将DC这个复杂概念隐藏起来,租户看到的仍然是一个统一的云平台,避免了灵活的架构设计对用户体验造成影响。

 

18载砥志研思、坚持研发、持续创新

 

建设一朵实用、稳定、可扩展的大中规模的私有云、混合云,需要有坚实的基础云计算产品,ExpressVM(计算虚拟化)、ExpressNet(网络虚拟化)、MegaBric(存储虚拟化),需要一个能满足客户70%-80%业务需求的XOS(全能云管平台),同时更需要有愿意为客户进行行业化定制开发解决方案的态度和快速响应能力。思华科技长期致力于视频云、桌面云、虚拟化、云存储、超融合、容器云、大数据等领域产品的持续创新研发。凭借其十八年电信级的实施经验,在可靠性、可用性和服务方面经过99.999%的千锤百炼,致力于为客户提供优质的产品、专业的交付/服务团队,7x24敏捷的响应和支持。

作者简介 

 

陈方力 思华科技高级副总裁)南京大学计算机本科,美国University of Iowa计算机硕士。拥有超过30年的软件开发、管理经验,曾管理超过几百人的研发团队,熟悉西方企业文化和中国文化。在加入思华前,先后就职于Extreme Networks、Citco Fund Services担任软件开发技术负责人、IT总监等职务。Citco Fund Services是世界最大的第三方基金管理服务公司,为对冲基金、私募基金、房地产基金管理超过9000亿美元的资产,客户中包括索罗斯对冲基金。

 

 

成功思华科技副总裁)15年以上大型分布式系统、运营商级管理系统研发经验,大型互联网基础设施运营和运维经验,参与构建过中国电信、中国移动、中国联通、华数传媒等一线运营商全国业务的核心系统,为腾讯视频、芒果TV等一线互联网厂商提供过基础服务。对云计算、分布式系统、软件架构设计、底层系统优化和运维体系构建等有深入理解和见解。

 


  声明:本站登载此文出于传递更多信息之目的,其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。