您的位置:首页 > 运维架构 > 网站架构

腾讯TEG架构平台部总监冯亮:游戏内部云底层技术揭秘

2015-04-23 10:57 615 查看
摘要:在腾讯内部游戏云一直是最大一块,所以最棘手的问题、最新的技术、最高效的运营体系都会最先出现在游戏云上。在今年第二届游戏运营技术论坛上,腾讯TEG架构平台部总监冯亮为大家揭秘了游戏内部云底层技术。

在腾讯内部游戏云一直是最大的一块,所以最棘手的问题、最新的技术、最高效的运营体系都会最先出现在游戏云上。在今年第二届的游戏运营技术论坛上,腾讯TEG架构平台部系统研发中心总监冯亮为大家揭秘了游戏内部云底层技术。冯亮主要负责腾讯内部使用的Linux发行版/内核和虚拟化平台,致力于打造腾讯内部高效、稳定的IaaS平台。





腾讯TEG架构平台部系统研发中心总监冯亮

游戏内部云底层的特点和挑战

腾讯内部游戏云是最大的一块,比重达到百分之七八十,矛盾点基本上全都是针对于游戏云而产生的,因此,腾讯内部游戏云面临的六大问题:

设备量多:腾讯内部游戏云占到设备总数的70%,包括物理机的数目以及母/子机的数目。设备多是量变产生质变的过程,包括运营体系、运营能力、整体故障处理、性能都会受到挑战。
游戏上下架频繁:开服、合服是游戏的最常规运营方式,常规动作一定要自动化、高效率化,这样运营效率才能得到保障。
利用率波动:利用率指的是设备的CPU和网卡这两大利用率,利用率本质上是由用户推动的,玩家不可能7X24小时不间断游戏,玩家休息时机器也应该休息。
可用性高:包括子/母机的可用性以及基础设施的可用性。如果可用率低的话,意味着服务的不同时间就比较差,收入必然会影响。
性能快:服务器架构更多是希望物尽其用,最大程度地发挥母机性能。
故障处理:硬件随时会出现问题,处理故障包括故障定位和故障解决。在人力有限的情况下轻重分离,重点业务重点保障,故障处理强调的是敏捷。

游戏内部云底层技术架构

游戏内部云底层技术架构分三层:第一层是应用,虚拟化平台门户;第二层是虚拟化的管控层,细分为三大类:虚拟机生产类、虚拟机操作类、虚拟机管理和查询类;第三层是服务器、网络以及存储资源。






内部云底层的关键技术能力分为五大块:接入能力、生产能力、调度能力、性能保障、稳定性保障。

生产能力:每台虚拟子机生产达到10秒以内,每单会有台数上限,取决于当前物理母机资源。结合KVM/XEN,优化生产效率以及全流程。
调度能力:单机的缩/扩容,提高本机资源利用能力;集群的资源利用能力,包括冷迁移和热迁移。
性能保障:生产500台子机,最佳情况小于30秒,整体平均是分钟级别;针对网络包量过多进行了SRIOV技术的引入。提高了网卡的吞吐,降低了母机CPU的负载;修改了XEN相关代码,提高了XEN的VHD磁盘IO吞吐。
稳定性保障:管控平台通过无状态加多实例,保证管控层的99.9%;针对虚拟化底层给XEN4.2打了数十个补丁,有来自社区的也有来自内部的;针对KVM上的Windows子机稳定性问题,也针对PV驱动打了不少补丁。

游戏内部云底层运营体系

离开运营,技术是不可落地的,一个好的技术和产品是闭环的,同时也需要一个高效的运营体系去支撑,否则技术能力得不到推广。内部运营总览分为五块,监控告警、运维变更、质量管理、资源管理、运营报表。然后是三个平台,网管平台、作业平台、运营管理平台。

内部云底层的关键运营能力包括资源运营、故障发现、故障处理。

资源运营:服务器有很完善的体系,能够自动化地对母机的整个设备进行管理、监控、预警。
故障发现:5级(用户、平台、模块、进程、系统)立体化监控保证故障快速发现并告警。告警方式可以分为邮件、短信、微信、电话,根据不同的业务进行轻重分离,不同业务不同告警方式。
故障处理:XEN虚拟化底层,业界首创实现针对XEN的VMM热补丁机制,XEN母机内核故障可以在线打补丁,不需要重启。 

游戏内部云底层问题分享

游戏内部云底层的问题主要集中在虚拟化底层(KVM/XEN)上面:

XEN的xen_spin_unlock未能正确唤醒等待锁的VCPU,导致domain0卡死。
CFQ调度算法异步写请求被大量同步请求抢占,异步写饥饿。
子机发送IGMP Query包,触发Cisco交换机Bug,导致Windows子机丢包。
Blktap驱动在tapdisk进程异常退出时,未清理pending的IO请求导致进程一直处于D状态,无法恢复。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: