前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >虚拟化与云计算硬核技术内幕(28) —— 健康码与孙大圣(中)

虚拟化与云计算硬核技术内幕(28) —— 健康码与孙大圣(中)

作者头像
用户8289326
发布2022-09-08 16:59:29
7200
发布2022-09-08 16:59:29
举报

上回说到,为了全市人民的幸福和便捷,T姐化身花果山美猴王,能够吹一口气就复制一批虚拟机出来,承担健康码查询的突发流量。

但是,启动虚拟机所需要的系统盘,是云上块存储CBS(Cloud Block Storage)的服务实例,其大小一般在50GB-500GB之间。我们以每虚拟机的系统盘大小200GB计算,复制100个虚拟机的时候,就需要复制20TB的数据。

对计算机网络熟悉的同学会发现,通过双口25G网卡,复制4TB数据,所需要的时间大致为:

(20000GB * 8) / 50Gbps = 3200秒,也就是53.3分钟。考虑到网络传输的数据包封装开销,所需时间有可能长达1小时。

而以腾讯云为代表的大规模云计算平台,无论是在公有云上,还是为用户进行本地化的部署,都可以在分钟级别时间内实现数以万计的虚拟机自动发放和克隆。这是如何实现的呢?

小E带着疑问,找到了方老师。

方老师问:

“你有没有通过某度网盘,给别人分享过东京热和一本道《蓝色生死恋》和《流星花园》?”

小E摇了摇头。

方老师意识到自己暴露了年龄并撤回了上一句话。

旁边的纳多同学听见,跑过来发言:“我是发现过,往某度网盘上面传《臭作》《尾行》等PC98游戏全集,虽然文件有几个GB,但几秒钟就传好啦!”

纳多同学因为开车留下了证据而被移出了群聊。

原来,纳多同学提到的功能,叫做“网盘秒传”。实际上,这是网盘客户端能够配合网盘云端,识别客户准备上传的文件是否存在,如果存在,就只为用户创建一个链接,而不需要重新传输文件,大大节约了网络传输的时间。

同样地,如果小E想从别人的网盘里面往自己的网盘里面复制945GB的《耽美改编全集纳尔齐斯与歌尔德蒙》,网盘的后台也并不会真的去复制文件本身,而是给小E的网盘提供一个链接,小E就可以从自己的网盘里面下载文件了。

实际上,对于虚拟机的复制,也可以用这一技术来实现。

由于虚拟机的系统盘,实际上是存储在云上的CBS中,那么,每次进行虚拟机克隆的时候,只需要为新的虚拟机提供CBS上块实例的一个链接,是不是就可以了呢?

小E想到了一个问题,如图:

假设云平台从VM A复制了一台虚拟机VM B,二者使用CBS中的同一块数据块作为系统盘。如果VM A向自己在CBS存储中的系统盘进行了改写,从而写到系统盘对应的数据块上,同时,这个数据块也是VM B的系统盘。那么,实际上相当于VM A的写入操作对VM B造成了影响。这是我们不期望看到的。

小E想出来的解决方案是:

  1. 对源虚拟机(VM A)的系统盘做快照,并且将快照保存到一个合适的地方;
  2. 其他从快照克隆的虚拟机(未来的VM B,VM C,VM D... ),先使用这个快照的数据作为系统盘内容;
  3. 无论是源虚拟机(VM A),还是克隆出来的虚拟机 (VM B, VM C, VM D...),在向系统盘写入的时候,只保存修改了的部分,也就是重定向写到另一块存储区域;

如下图:

图中,VM A和VM B的系统盘,都是来自COS(Cloud Object Storage)中的CBS快照。在CBS中,并不会真的复制两份数据,而是当VM A和VM B需要读取系统盘内容时,从快照读取,而写入系统盘的时候,CBS会在其他地方保存每次写入的内容,这叫做写时重定向 (Redirect on Write,ROW)。实际上,克隆出的每个VM的系统盘,CBS可以通过这种技术只保存修改过的内容。

在应用了快照ROW技术以后,我们发现,只有第一次做快照的时候需要全量复制CBS卷的内容,此后每次克隆虚拟机,CBS只会做一个链接而无需复制数据,从而大大节约了存储空间,同时也能够实现快速地批量克隆虚拟机。

有了快照ROW技术,TX云等大型公有云平台,就可以在分钟级时间克隆出上万个虚拟机,应对高峰期的大量并发请求了。

不过,如果我们只是人工监测请求流量,然后手工发起虚拟机的克隆扩容,有的时候还难以满足业务的要求。有没有办法让虚拟机自动克隆扩容呢?

小E突然回忆起了一个瓦特和蒸汽机的故事——请看下回分解。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-01-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 帅云霓的技术小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云硬盘
云硬盘(Cloud Block Storage,CBS)为您提供用于 CVM 的持久性数据块级存储服务。云硬盘中的数据自动地在可用区内以多副本冗余方式存储,避免数据的单点故障风险,提供高达99.9999999%的数据可靠性。同时提供多种类型及规格,满足稳定低延迟的存储性能要求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档