【FCon】聚焦金融行业在数智化的全面革新,一线的金融数智化实践干货 了解详情
写点什么

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

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

    阅读完需:约 8 分钟

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

6 月 17 日,极客时间《企业级 Agents 开发实战营》正式上线,10 周掌握企业级 Agents 从设计、开发到部署全流程。

作为云的 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:113562
用户头像
小智 让所有人认同的文字称不上表达

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

关注

评论

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

基于Sermant的全链路灰度发布在汽车行业DMS系统的应用

华为云开发者联盟

云原生 华为云 汽车 华为云开发者联盟 企业号2024年4月PK榜

4款免费可用的数据集成平台亮点

RestCloud

ETL 数据集成平台

你真的会写侧边栏收起动画吗?

前夕

CSS css3 前端

深入探索:主流低代码开发平台的应用场景及开发流程

优秀

低代码开发平台 低代码平台 低代码平台应用场景

Web Components实践:如何搭建一个框架无关的AI组件库

京东科技开发者

通过淘宝开放平台API接口获取商品信息:标题、分类与店铺名称的新方法

技术冰糖葫芦

API 接口 API 文档

容器中的大模型(三)| 利用大语言模型:容器化高效地部署 PDF 解析器实践

智领云科技

容器 PDF 大模型 AI大语言模型

Advanced RAG 01:讨论未经优化的 RAG 系统存在的问题与挑战

Baihai IDP

AI LLM 企业号 4 月 PK 榜 rag 检索增强生成

Linux中的conntrack命令深入解析

GousterCloud

Linux 运维

全面了解龙蜥衍生版 KeyarchOS 在安全、机密计算等方面的实践 | 龙蜥大讲堂浪潮信息专场

OpenAnolis小助手

开源 操作系统 龙蜥社区 龙蜥大讲堂

嘉为蓝鲸DevOps研发效能管理平台V6.0重磅发布!

嘉为蓝鲸

DevOps 研发管理 研发效能 价值流

🔥🔥🔥最好用的SDK版本管理器(version-manager)

Geek_5bcc45

Java Go node.js Py Version

全方位解析ChatGPT:如何培养 AI 智能对话技能?

霍格沃兹测试开发学社

中小型工厂应如何选择生产管理mes系统

万界星空科技

制造业 生产管理系统 mes 云mes 制造业工厂

如何提升 API 的性能水平

Apifox

程序员 接口 API 开放 API API 性能

ChatGPT全方位解析:如何培养 AI 智能对话技能?

测试人

软件测试

Penpad Season 2 质押突破350ETH,还有望获Scroll生态空投

长安区块链

Flink 流批一体在模型特征场景的使用

Apache Flink

大数据 flink 流批一体

MES定制开发/云MES制造执行系统解决方案

万界星空科技

制造业 生产管理系统 mes 云mes 万界星空科技

如何选择合适的系统?MES系统和MOM系统的区别

万界星空科技

制造业 mes 万界星空科技 生产管理 MOM

首个镜像服务商奖项公布!「Alinux 伙伴招募计划」最佳服务商名单来了

OpenAnolis小助手

镜像 操作系统 龙蜥社区 Alibaba Cloud Linux

解锁AI Studio:玩转大模型应用,开启智能新时代

百度开发者中心

人工智能 深度学习 大模型

容器中的大模型(二) | 利用大模型,使用自然语言查询SQL数据库

智领云科技

数据库 sql 容器 AI大模型 大模型

京东中台化底层支撑框架技术分析及随想

京东科技开发者

IM技术干货:假如你来设计微信的群聊,你该怎么设计?

JackJiang

即时通讯;IM;网络编程

高柔性第二代扁线定子量产线正式上市

财见

免费延期一年!Alibaba Cloud Linux 2 EOL 延保支持计划

OpenAnolis小助手

阿里云 操作系统 Alibaba Cloud Linux

开源流量回放平台 AREX 在携程的大规模落地实践

AREX 中文社区

Java 开源 测试 流量回放

度安讲 | 首期「数据安全与隐私保护合规」技术沙龙顺利召开

百度安全

月之暗面Kimi智能助手实现200万字长上下文,火山引擎提供云服务支持

新消费日报

中软协AI沙龙热议:智领云CEO彭锋解读AI大模型技术的应用前景与趋势

智领云科技

容器 AI大模型 大模型 中软协

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