写点什么

首次公开:腾讯云虚拟化技术原理及可用性提升实践

  • 2020-06-24
  • 本文字数:2302 字

    阅读完需:约 8 分钟

首次公开:腾讯云虚拟化技术原理及可用性提升实践

作为云的 IaaS 大底层,CVM 的机型矩阵已经全面覆盖电商、视频、游戏、金融、基因测序、智能语音、汽车、医疗、物联网等多种业务场景,开启了全行业的计算提速。Hypervisor 作为云计算的基石,对虚拟机的性能优劣起着决定性的作用。腾讯云虚拟化技术在过去十年的发展中经历了多次更新换代、全面升级,在可用性方面提升效果明显。

虚拟化技术架构与挑战

虚拟化技术是云计算最核心的技术之一,也是云计算商业模式的底层支撑。海量服务器需要通过虚拟化的技术形成大的资源池,其重要性不言而喻。虚拟化技术整体架构图如下所示:



其中 VStation 作为云计算操作系统,承担了资源调度、请求排队的工作,通过 Compute 与底层虚拟化模块进行请求下发。虚拟化层负责资源的虚拟化,为每台 CVM 构造出完整的 PC 运行环境,包括 CPU、内存、网络、存储各个部分资源。


主要包含 Libvirt、QEMU、KVM 三部分:


  • QEMU 与 KVM 构成 Hypervisor,负责 CVM 资源的虚拟化,在物理机上,虚拟出一个个完整的 PC 环境;

  • Libvirt 负责提供统一对外的接口,用于管理 Hypervisor。


伴随着业务的高速增长和发展,宿主机的异构趋势和虚拟机多样化需求等等呈现指数增长,对底层虚拟化技术的要求更是越来越严苛。当前云计算虚拟化面临的问题包括:


  • 可用性:硬件上复杂集成度的增加对降低故障率带来了巨大的挑战,在云上如何规避物理服务器宕机对虚拟机的影响,让业务层面减少感知甚至实现无感知;

  • 性能:业务追求虚拟化后的计算、网络、存储等各方面媲美物理机的性能,性能能否和过去 IDC 物理机相匹配?

  • 稳定性:稳定性方面能否保持像物理机一致的稳定性,满足业务对响应时延的极致追求?

  • 交付效率:业务对交付效率要求逐步苛刻,云上灵活的迁移调度如何提供秒级交付的体验?

腾讯云虚拟化技术巡礼

软硬件协同可用性提升方案

近年来硬件集成度不断增加,从 CVM S2 实例,整机宿主机 56 核 256G 内存,到 S5 实例 96 核 384G,SA2 实例 192 核 512G 内存;在未来的 CPU 厂商路标规划中也将推出单机超过 400 核的机型。硬件集成度增加大大降低单核成本,但也为降低故障率带来的巨大的挑战。分析现网故障数据,内存多比特错误导致的 UCE 错误是物理服务器宕机的主要原因。



服务器故障率统计


2019 年腾讯云联合 Intel 定制 CPU,支持高级 RAS 特性,来降低虚拟化场景下硬件故障对可用性的影响。这背后的代表性技术名为 MCA Recovery,支持对内存 UCE 错误进行隔离,避免整机宕机。据了解,腾讯云是业界首家在大型数据中心中采用 MCA Recovery 技术降低内存故障率的厂商。


数据显示,由于软硬件协同的方式依赖 Intel CPU 架构、BIOS、BMC、Linux 内核、上层资源调度管理,初期规避成功率不超过 5%, 目前通过一系列的软硬件结合优化,腾讯云 CVM 云服务器通过 MCA Recovery 已规避大量的内存 UCE 错误,大大降低了内存故障率。

热迁移技术

CVM 时运行于物理机硬件 + VMM(Virtual Machine Monitor)所构造的虚拟化环境中,一个云服务器是一个完整的 PC 系统,内部可以运行各种 OS,如 Windows/linux,用户的各类业务运行于 OS 内部。


热迁移技术是指把一台运行状态的 CVM 从其所在的物理服务器迁移到另一台物理服务器上,期间 CVM 的操作系统和操作系统内部的应用程序保持运行,业务对热迁移操作无感知。



热迁移示意图


对热迁移技术进行了专项优化迭代,热迁移成功率由 70%提升到了 98%,停机时间从秒级减少到 50ms。同时针对大规格子机热迁移进行深度优化,解决大规格子机热迁移过程中性能下降的问题。

自研内核调度器 VMF

Linux 内核作为一个通用的 OS,需要兼顾各种各样类型的进程,包括实时进程、交互式进程、批处理进程等。而调度器(Scheduler)作为 OS 的核心组件——CPU 时间的管理器,主要负责选择某些就绪的进程来执行。


不同于传统的 CFS 调度器,(Completely Fair Scheduler 简称,即完全公平调度器),腾讯云自研了一款针对虚拟机环境的运行特征定制的、专用的、能提升虚拟机 latency 和性能的、同时能满足腾讯云场景当前和未来可能的定制需求的,能持续演进优化的内核调度器——VMF。


VMF 的基本原理为:根据虚拟机场景中的任务特征,将任务进行分类(分为 4 类),其中 VM 类型对应于虚拟机进程,具有绝对的最高运行权和优先级。针对不同任务类型制定相应的调度策略,将 CPU 资源尽量向 VM 任务倾斜(而不是考虑“公平”),如此最大程度的保障虚拟机的 CPU 资源供应,结合虚拟化层面的其他优化手段,让虚拟机拥有媲美物理机的极致性能。通过采用 VMF 调度算法,大大减少了母机进程对 VCPU 的干扰, 达到了和物理机接近的稳定性。

VM 启动优化

对于 GPU 机型,目前采用设备直通的方式,虚拟机启动的时候,提前分配并锁住全部的虚拟机内存,而虚拟机内存越大,启动就越慢。以 700G 内存的虚拟机为例,启动时间高达 270 秒左右。


问题的本质在于内核为虚拟机分配内存时、为了防止信息泄露,在一个单线程的持所环境中,把分配到的内存全部清零,导致处理耗时较长。


腾讯云引入了新的机制,并把清零的工作挪到用户层,由所有 vCPU 线程并发执行。经测试,上述启动时间需要 4.5 分钟的虚拟机,优化后的启动时间只需 22 秒。相关补丁已经贡献给社区并被接纳。

关注开源

腾讯云是最早拥抱 KVM 技术的云计算服务商,早在 2013 年,腾讯云基于对虚拟化技术未来发展方向的判断,便全面采用由开源社区支持的 KVM 技术,并投入核心团队参与研发。近年来,腾讯云还一直积极推进虚拟化开源建设。在去年的 KVM Forum 上,腾讯云凭借年度 40 个 patch 的贡献,名列全球第七,连续三年 KVM 社区国内贡献排名第一,连续三年成为国内唯一登榜的云计算服务商。其中,腾讯云今年贡献的 3 个技术特性,还被评为 KVM 年度核心突破。


2020-06-24 15:114333
用户头像
小智 让所有人认同的文字称不上表达

发布了 408 篇内容, 共 392.1 次阅读, 收获喜欢 1983 次。

关注

评论

发布
暂无评论
发现更多内容

TiDB 与 MySQL 的架构差异

TiDB 社区干货传送门

数据库架构选型

828企业节首选云服务器!华为云Flexus X实例助力企业云管理更轻松

YG科技

网站必须做IPv6改造吗?不做IPv6改造有什么影响?

国科云

AI原生数据应用开发框架DB-GPT在外滩大会开源新版本,新增6大特性

Lily

在线机房迁移之“玩转TiDB迁移”

TiDB 社区干货传送门

迁移 管理与运维

TiDB系统参数对比工具

TiDB 社区干货传送门

828多重技术创新,华为云Flexus X实例加速企业上云管理之旅

YG科技

LeToken钱包系统开发功能描述

V\TG【ch3nguang】

Centos7 安装 TiDB 集群(最小化安装)

TiDB 社区干货传送门

8.x 实践

基于STM32设计的酒精检测仪

DS小龙哥

9月月更

华为云Flexus X实例亮相828,企业数字化专场优选云服务器

轶天下事

Java转Kotlin原来如此简单

Silently9527

kotlin Java development

通过混沌工程 Chaod 打造更稳定 TiDB 数据库高可用(三)

TiDB 社区干货传送门

集群管理 安装 & 部署 7.x 实践

GAP!你对AI大模型到底了解多少?

YG科技

828如何选云服务器?华为云Flexus X实例引领中小企业上云潮流

YG科技

DAPP燃烧铸币挖矿系统模式开发部署

V\TG【ch3nguang】

Java Streams 的潜力

FunTester

Peet's Coffee与观测云跨界合作,为伙伴们呈现双重喜悦

观测云

中秋节

828企业上云“硬核”之选!华为云Flexus X实例系统管理更实惠

YG科技

住宅代理和数据中心代理如何选择?

IPIDEA全球HTTP

一次Java性能调优实践【代码+JVM 性能提升70%】

EquatorCoco

Java JVM

兼容Trino Connector,扩展Apache Doris数据源接入能力|Lakehouse 使用手册(四)

SelectDB

数据湖 Doris LakeHouse trino 湖仓一体

@各位天命人,近期还有这件大事值得关注!

YG科技

DataOps 对企业数据管理有何意义?该如何落地 DataOps?

Aloudata

Data DataOps 数据管理 主动元数据

Flink Forward Asia 2024 议题征集令|探索实时计算新边界

Apache Flink

Apache 大数据 flink 实时计算 FFA

华为云Flexus X实例3大优势,828企业上云优选产品

YG科技

华为云Flexus X实例云上管理痛点,828首选上云产品之一

轶天下事

望繁信科技与中原银行达成合作:谱写银企合作新篇章!

望繁信科技

数字化转型 中原银行 流程挖掘 流程资产 流程智能

828优选华为云Flexus X实例,找准中小企业上云“切入口”

YG科技

828云服务器如何选?企业云上管理认准华为云Flexus X实例

YG科技

首次公开:腾讯云虚拟化技术原理及可用性提升实践_服务革新_小智_InfoQ精选文章