前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >容器网络硬核技术内幕 (1) 朝夕相伴触手可及的虚拟

容器网络硬核技术内幕 (1) 朝夕相伴触手可及的虚拟

作者头像
用户8289326
发布2022-07-27 21:43:00
5340
发布2022-07-27 21:43:00
举报

《局域网SDN硬核技术内幕》的开篇中,我们提到过,在云资源池中,存在着很多很多的虚拟机

利用虚拟机技术,可以将一台服务器进行切片,给不同的应用使用,也可以把几十个处理器核切片成多个同样的服务实例,并通过LVS、Nginx、HAProxy等负载均衡技术,让多个服务实例分担负载,实现充分利用处理器的多核心。

虚拟机技术的另一个应用是业务的快速部署。我们可以快速克隆虚拟机,在几分钟时间内创造一大批相同的虚拟机,实现业务的快速扩容。

因此,虚拟化技术在2008年以后飞速发展,以VMWare和CAS为代表的虚拟化平台市场迅速扩张。不夸张地说,虚拟化技术对于IT架构、开发、运维工程师们而言,是朝夕相伴触手可及的,像歌词中那样……

你是我朝夕相伴触手可及的虚拟

陪着我像纸笔像自己像雨滴

……

然而,虚拟化技术也有无法突破的局限。

我们发现,Tensorflow,GlusterFS,MAPR等大型分布式计算与存储框架,都是在物理机上应用的。

这是为什么呢?

让我们看一个例子:

这是VMWare WorkStation上,一个虚拟机的基本设置。

但实际上,这台虚拟机所在的宿主机,并没有以太网网卡和SCSI硬盘这两种硬件。可想而知地,这两种硬件是虚拟出来的。

以Linux系统读写文件为例,我们看看虚拟机与物理机对硬件操作的区别:

在物理服务器上,Linux系统读写文件的控制流和数据流如下图:

应用程序调用open等posix API访问文件,操作系统调用对文件所在的文件系统API,文件系统会调用块设备驱动接口。如果这个块设备是本地磁盘设备(如RAID卡连接的SAS硬盘),那么它将会把块设备驱动的读写命令转换为SCSI命令字,最后完成对磁盘的存取。而对远端FC存储设备则是调用FC HBA卡驱动,将块设备驱动读写命令转换为SCSI命令字,通过FC网络存取共享存储的LUN卷。

但是,当挂在了SCSI虚拟磁盘的Linux虚拟机读写一个文件时:

如图,当虚拟机读写虚拟磁盘时,实际上虚拟机操作系统会调用VMDK的驱动,并调用虚拟机的BIOS读写VMDK磁盘。

虚拟机的BIOS一方面向操作系统驱动完美模拟一个SCSI磁盘的行为,另一方面将所有的读写行为写入宿主机上的VMDK文件。这一过程是虚拟化平台调用Windows操作系统的文件API完成的。

事实上,这台宿主机安装的是一块NVMe的SSD盘,并没有任何SCSI盘的存在。可见,对于磁盘读写,虚拟机操作系统看到的实际上是一个假冒的磁盘。

再让我们打开这台Windows宿主机的网络设置。

我们看到,这台宿主机真正的网络适配器只有一个无线网络适配器。在安装了VMWare后,VMWare在操作系统中增加了两个虚拟网卡 VMNet1和VMNet8,它们会分别模拟一个交换机和一个NAT网关的行为。虚拟机上的虚拟以太网设备最终将与这两个虚拟网卡交互,并连接到外部网络。

显然,虚拟机看到的网卡也是一个假冒的网卡。

那么,让我们设想需要RDMA的场景:

可想而知地,如果在宿主机上安装了一块支持RDMA(点这里看RDMA的意义)的网卡,而虚拟机只能使用假冒的虚拟网卡,并通过虚拟化系统内部的虚拟交换机与RDMA物理网卡桥接。显然,虚拟机无法利用网卡的RDMA功能实现直接存取远端虚拟机的内存数据,运行大规模存储和计算应用时,也就难以充分发挥分布式系统的性能了。

我们需要一个比虚拟化更为真实的计算资源调度技术。

它能够实现计算资源的有效隔离、灵活调度和快速扩容,还能够让应用直接访问真实的硬件驱动。

工程师们想到了利用Linux的NameSpace机制,实现一个开天辟地的创举——容器技术。

从此,清风徐来水波不兴的虚拟化江湖,瞬间龙战于野,天地玄黄。

欲知容器技术的神奇之处,请看下回分解。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
流计算 Oceanus
流计算 Oceanus 是大数据产品生态体系的实时化分析利器,是基于 Apache Flink 构建的企业级实时大数据分析平台,具备一站开发、无缝连接、亚秒延时、低廉成本、安全稳定等特点。流计算 Oceanus 以实现企业数据价值最大化为目标,加速企业实时化数字化的建设进程。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com