写点什么

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

  • 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:363179
用户头像

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

关注

评论

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

Next.js 在 Serverless 中从踩坑到破茧重生

CODING DevOps

Serverless 云开发 Cloud Studio 云端工作台

绝艺学会打麻将,腾讯AI Lab提出全新策略优化算法ACH

科技热闻

自助共享洗车加盟都有什么条件

共享电单车厂家

自助洗车加盟条件 自助共享洗车加盟

共建开源组件生态 2022 OpenHarmony组件大赛等你来

科技汇

SIG 直播:如何使用 SMC-R 透明加速 TCP 应用? | 第15期

OpenAnolis小助手

TCP 龙蜥大讲堂 SMC-R SIG双周会

企评家帮助新三板企业进行投资价值评价分析

企评家

企评家|高升控股股份有限公司成长性报告简述

企评家

企业评价 企业成长性 评价分析报告

24小时智能洗车机多少钱一台

共享电单车厂家

自助洗车机价格 24小时智能洗车机 智能洗车机多少钱

Curve 基于 Raft 的写时延优化

网易数帆

开源 分布式 云原生 raft 存储

时序数据库在核电安全领域的应用

CnosDB

IoT 时序数据库 开源社区 CnosDB infra

Kruise Rollout: 让所有应用负载都能使用渐进式交付

阿里巴巴云原生

阿里云 开源 Kubernetes 云原生 OpenKruise

云原生环境下的日志采集、存储、分析实践

火山引擎开发者社区

云原生 日志

啃完阿里工程师的Java面试八股文,斩获腾讯等6家大厂offer!

Java架构追梦

Java 后端开发 Java八股文

超全MySQL笔记整理(面试题+笔记+思维导图),面试再也不怕被MySQL难倒了

Java架构追梦

Java java面试 后端开发

Laxcus 6.0正式发布,启航国产化分布式操作系统新征程

LAXCUS分布式操作系统

数据库 大数据 分布式 操作系统 集群

自助洗车怎么加盟?加盟流程介绍

共享电单车厂家

自助洗车加盟 自助洗车怎么加盟 自助洗车加盟流程

一起看看自助洗车机投放场地怎么选

共享电单车厂家

自助洗车加盟 自助洗车机投放 自助洗车场地

实时云渲染有哪些优势?

3DCAT实时渲染

实时云渲染

火山引擎荣获中国信通院“2021边缘计算融合创新奖”

火山引擎边缘云

边缘计算 中国信通院

电子版产品手册如何制作?简单的方法来了

小炮

产品宣传手册

暴打力扣:王者级《数据结构与算法笔记》,一路绿灯进字节Java岗

Java架构追梦

Java 算法 java面试 后端开发

云VR的未来发展方向

3DCAT实时渲染

云VR

MOSN 1.0 发布,开启新架构演进

SOFAStack

开源 开发者 云原生 资讯 Go 语言

CI/CD概述,基于云效进行持续集成CI和持续部署CD(K8s)

阿里云云效

云计算 阿里云 持续集成 CI/CD 持续部署

智能家居新浪潮 物联网潜力无限

Geek-peri

小程序 物联网 智能家居

立足西安,昇腾AI为开发者留下了脚印一串

这不科技

字节跳动Java后端岗,三轮面试,四个小时,灵魂拷问,结局我哭了但下次还敢

Java架构追梦

Java 程序员 后端开发 字节面试

24小时无人自助洗车设备多少钱

共享电单车厂家

自助洗车机价格 24小时无人自助洗车 自助洗车设备多少钱

免费ETL批量调度,数据仓库运维工具TASKCTL 8.0 环境使用安装

敏捷调度TASKCTL

大数据 DevOps 敏捷开发 ETL 自动化运维

企评家帮你打造企业价值评估,全面展示企业实力地位完善企业管理

企评家

火山引擎联合中国信通院发布《边缘云总体技术与测试要求》

火山引擎边缘云

边缘计算 标准化

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