最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

陈杰:腾讯云的弹性、高可用与隔离

  • 2014-07-07
  • 本文字数:2236 字

    阅读完需:约 7 分钟

高弹性、高可用是云服务重要的特性,在保证安全和隔离的前提下,如何提供这些特性也是云平台的核心技术之一。在 QClub 广州:腾讯云图沙龙上,腾讯云高级工程师陈杰分享了腾讯云在弹性、高可用和隔离方面的实践。在沙龙期间,InfoQ 对陈杰进行的专访,全文如下:

InfoQ:陈杰你好,请向 InfoQ 的读者简单介绍一下自己,工作经历,现在主要在做什么? 技术上的兴趣点是什么?

陈杰:我是 2007 年毕业就到腾讯,开始在互联网应用系统做支付营销的后台系统,后面又转去做游戏后台。大概两年前转到云平台部做虚拟主机的后台开发,目前是虚拟主机后台的技术负责人。我自己兴趣呢,也是做底层虚拟化,包括计算虚拟化,网络虚拟化和存储方面。

InfoQ:刚才听你介绍,腾讯云计算平台虚拟化有三个实现方式,有 Xen,KVM,Linux Container,这三个虚拟化类型分别定位的是哪些用户?

陈杰:Linux Container 是用于在 CEE(Cloud Elastic Engine)上提供 PaaS 级的服务,给用户提供微信云这种网站类接入服务。我们的虚拟云主机产品叫 CVM(Cloud Virtual Machine),底层有 Xen 和 KVM 两个平台,这是有一些历史原因的。我们最开始建 CVM 平台的时候,是用的 Xen,因为公司用 Xen 比较成熟。后来随着业务的慢慢发展,我们在向 KVM 在转,因为 KVM 的代码量更少,更易维护,我们有专门的同事去做这块。同时,KVM 可以更好的定制功能。基于我们的测试,KVM 有更高的稳定性。我们认为 KVM 代表了发展趋势。目前腾讯云的广州区 Xen 和 KVM 两种方案都有,后面上海金桥机房这种就会全部使用 KVM。

InfoQ:现在腾讯云的自动弹性实现的状况如何?

陈杰:其实自动扩缩容是比较复杂的一个能力,它包括了监控,即发现需要扩缩容,以及实施。我们在 CEE 上有做这种自动扩缩容的尝试,但是 CVM 现在还没有做,目前仍然是半自动化的扩缩容。我们做了监控即发现扩缩容需求,也做了扩缩容,但是我们还没有做到全自动的触发。我们现在弹性能力主要是集中在 HA,用户可以做配置升级,热迁移,后续我们会推出自动扩缩容这种跟用户更相关的功能。

InfoQ:关于 HA,你刚才提到有冷迁移,热迁移,能不能详细介绍一下?

陈杰:其实 HA 就是冷迁移,用户的机器挂了,它的表现就是虚拟机没有办法服务了,映射到后端,可能是它服务的母机物理主机挂了。物理主机挂有很多种可能,比如硬件故障,或者是我们更不愿意看到的网络故障,或者母机的 I/O 高,CPU 高导致它无法服务了。在这种时候虚拟机已经没有办法对外服务,我们就需要把它迁移掉。如果用户的主机使用的是我们的 CBS(Cloud Block Service)盘,就可以实现 HA,即把用户的虚拟机从故障母机迁移到就是正常的母机上,我们会有一堆算法去确定目标母机是能够提供服务的,然后把用户的子机给拉起来。热迁移与冷迁移的区别就在于用户的服务是否会停止,热迁移用户是没有感知的,服务可以照常的对外进行。但是,用户的的子机可能已经从一个母机迁到另外一个母机上了,我们做这个热迁移的能力就是提早的发现,当监控或其他能力发现母机可能有问题的时候,比如说它的 I/O 持续的上升,或者硬件如 RAID 卡电量不足,那早于问题发生之前,把子机从有问题的母机上热迁移出去,让用户的服务有高保证。技术实现热迁移会复杂一点,冷迁移会稍微简单一些。

InfoQ:资源的隔离是怎么做的?安全是如何考虑的?

陈杰:资源隔离分两块,一是网络访问这块我们有单独的 DFW 的系统来实现,DFW 能够按开发商级别隔离访问,开发商 A 和开发商 B 是没办法相互访问的。我们也会在底层做一些防 IP 和防 MAC 欺骗的一些手段,即使一台虚拟机的 IP 和 MAC 被手动的篡改了之后,他也没有办法在整个网络上影响别的开发商的机器。

资源方面主要是 I/O 和网络这两块,目前网络我们还没有做隔离,因为用户的网络带宽还达不到我们的资源瓶颈,这方便不是我们的最主要的方向。I/O 是一个比较重的问题,我们目前是采用 Cgroups 的方式,但是如果 Cgroups 把子机完全隔离,又会导致实测性能 20% 下降,所以我们做了折中,就是把母机跟子机隔离起来,母机上也有一些关键的进程,比如说 libvirtd,还包括我们自己的一些进程,这些关键进程不会因为子机的影响导致坏死掉。但子机和子机目前还是会有影响,但是如果发现这种影响,我们会用其他手段,比如说热迁移的手段,把高资源的子机迁走,或者把一些低资源的子机迁走这种方式来做综合平衡。

InfoQ:下一步打算做什么?

陈杰:首先我们会推出更多的弹性的能力,比如独立的云硬盘去满足用户在线的多挂一块盘,或者是把这块盘给从虚拟机上卸载掉,这样用户就可以根据实际需要去添加更多的存储,或者把数据从一台虚拟机放到另外一台虚拟机上去。

第二是网络方面的弹性 IP,包括亚马逊 AWS 也有 EIP 服务,能够使外网服务的 IP 与虚拟机之间解耦,让用户根据实际需要去把一个 IP 从绑定到一台虚拟机上,或者从一台虚拟机绑定到另外一台虚拟机上,从而持续的提供服务。

此外,还有快照方面的一些工作,我们也能够提供快照的能力,方便用户去备份他的数据,我们也会做刚刚提到了自动扩缩容。

InfoQ:挂载更多云硬盘是用 RAID,还是用其他的什么方式来实现呢?

陈杰:如果是存储,是用我们的网络快存储服务来实现的,它是单独的服务,在他后端会有自己的一些存储的和容灾手段,我们提供数据是三份备份,如果用户的数据有丢失是可以找回来的。CBS 服务是比较可靠的,性能上面也是能够满足大部分用户的需要,如果对 IOPS 要求非常高,或者对 I/O 延迟要求非常高的用户,我们后续也会提供纯 SSD 的这种云盘的服务。

2014-07-07 04:362910
用户头像

发布了 45 篇内容, 共 13.6 次阅读, 收获喜欢 3 次。

关注

评论

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

清览题库--C语言程序设计第五版编程题解析(2)

吉师职业混子

9月月更

Code For Better 谷歌开发者之声——Google Cloud谷歌云

Fire_Shield

云原生 Google Cloud 9月月更

[SpringBoot]配置文件格式、yaml配置及读取

十八岁讨厌编程

Java 9月月更

关爱2700多万听障者,手语服务助力无声交流

HMS Core

手语

NestOS应用案例:容器化部署OpenStack

openEuler

架构 openEuler 开源操作系统 OpenStack

如何在笔记本上安装openEuler 22.03 LTS

openEuler

开源 操作系统 openEuler 安装部署

面向深度神经网络的特定领域架构

俞凡

深度学习 架构 TPU

闲着刷题

吉师职业混子

9月月更

融云员工服务台,跟“干不完”说再见

融云 RongCloud

IT职场

物联网实践分享

彭发红

算法基础(四)| 前缀和算法及模板详解

timerring

算法 9月月更

跟着卷卷龙一起学Camera--内存池浅析01

卷卷龙

ISP 9月月更

关于 Angular 应用 tsconfig.json 中的 lib 属性

Jerry Wang

typescript 前端开发 angular web开发 9月月更

SpringBoot初识

十八岁讨厌编程

Java 后端开发 9月月更

工赋开发者社区 |【数智化】数字化工厂规划与建设方案

工赋开发者社区

开发者有话说|一名普通大专学历开发者的成长

彭发红

openEuler资源利用率提升之道 03:rubik混部引擎简介

openEuler

Linux 开源 cpu 操作系统 openEuler

leetcode 669. Trim a Binary Search Tree 修剪二叉搜索树 (简单)

okokabcd

LeetCode 算法与数据结构

新书上市|听说你翻开数学书就眼睛疼?

图灵社区

数学 科普 教育

[SpringBoot]多环境配置,配置文件分类

十八岁讨厌编程

Java 后端开发 9月月更

开发者有话说|如何写出更加优雅的代码

海风极客

个人成长

死锁检测实现

C++后台开发

后台开发 线程 多线程 死锁 C++开发

探索AI技术应用场景

felix

产业落地 AI探索 API接口 模型管理

【jvm】通过JDBC为例谈谈双亲委派模型的破坏

石臻臻的杂货铺

JVM 9月月更

每日算法刷题Day1-隐式转换与精度丢失

timerring

算法题 9月月更

新书上市|听说你翻开数学书就眼睛疼?

图灵教育

数学 科普 教育

流程图布局在项目中的实践

相续心

架构实战营-模块一作业

Geek_92ba6f

深入了解之链接器与加载器

邱学喆

加载器 链接器 ELF文件结构

基于微服务的应用性能监控方案

穿过生命散发芬芳

9月月更 微服务监控

【云原生 | 从零开始学Kubernetes】七、Kubernetes的命名空间

泡泡

Docker 云计算 容器 云原生 9月月更

陈杰:腾讯云的弹性、高可用与隔离_服务革新_包研_InfoQ精选文章