超融合产品集成 Kata 虚拟化容器技术的方案演进 | 龙蜥技术

简介: 识别云原生现有方案在超融合环境下技术缺陷。

编者按:超融合技术融合基础实施为企业用户提供虚拟化、容器等不同形态的服务。今天,浪潮数据超融合云原生工程师王永超带大家了解 Kata 虚拟化容器技术,及超融合产品为集成 Kata 容器而进行技术方案演进历程,也分享了超融合 Kata 容器技术设计与应用。本文整理自龙蜥大讲堂第 78 期,以下为本次分享内容:

01 超融合产品介绍

  • 超融合一体机。
  • 整合虚拟机+容器双引擎。

02 Kata Containers 介绍

Kata Container 与传统容器对比:

  • Kata 容器具有独立的内核、CPU、内存虚拟机级别隔离。
  • 传统容器共享宿主机内核,CPU、内存通过 cgroup 与 namespace 进行限制。

Kata 文件系统工作原理:

  • Kata 运行时,提供精简优化的虚拟机内核及文件系统,如 vmlinuz-5.10.25-87 和 kata-containers-initrd.img 用于创建轻量级虚拟机。
  • 容器镜像 rootfs 及容器卷通过 virtiofs 从宿主机绑定到轻量级虚拟机,方便内部容器进程读取 rootfs 系统文件。

03 OCFS 共享存储下容器 Snap 管理

Containerd 组件调用关系:

  • Content 用于管理容器镜像 manifest 数据。
  • Image 存储容器镜像各层blob文件。
  • Snapshots 用于解压 Image 各层 blob 文件组装容器实例 rootfs 文件系统。
  • Diff 提供两个接口 Diff 与 Apply。

Devmapper Snapshotter 不足:

采用 Containerd 社区 devmapper snapshotter 运行容器实例,主要问题如下:

  • Device Mapper 本身 IO 链路过长。
  • Device Mapper 依赖内核模块 dm-thin,在特殊场景下会造成存储池 IO 阻塞。
  • 社区本身不推荐 devmapper 应用于生产环境。

04 超融合下的 RAW Snapshotter

Devmapper VS RAW, InCloud Rail 超融合成熟的虚拟机系统盘管理方案:

  • 虚拟磁盘仅通过两层文件系统,IO 链路短且稳定。
  • 虚拟磁盘未引入 dm-thin 内核模块。
  • 虚拟机快照技术类似于容器镜像层结构,虚拟磁盘通过 reflink 进行快速复制为 Snapshot 服务创建 snap 提供技术支持。

超融合 OCFS 存储运行容器:

  • OCFS 可以实现同一存储设备同时被多个节点访问。
  • 在超融合环境下,存储设备为统一管理,我们可以充分利用 OCFS 的特性,使用一个存储池为多个节点提供 Snapshotter 所需的存储空间。
  • RAW Snapshotter 在存储设备对容器镜像进行 unpack 等操作,生成一个虚拟机磁盘,容器系统 rootfs 文件系统做虚拟磁盘数据。
  • Kata 通过 virtiofs 将虚拟磁盘绑定到 Kata 虚拟机内部,用于启动容器进程。

RAW Snapshotter 工作流程:

步骤 1-2:下载容器镜像到本地。

步骤 3-4:创建根 snap 设备,通过 qemu-image 创建 raw 文件。

步骤 5-7:基于跟 snap,创建镜像层及对应的 reflink 文件。

步骤 8:为容器实例创建可写的 rootfs 系统盘。

步骤 9-12:创建 kata 虚拟机,kata 虚拟机通过 virtio-scsi 将 vdisk n+1 虚拟磁盘挂载至 kata 虚拟机内部。

虚拟磁盘管理机制实现容器 Snaps 管理。

RAW Snapshotter 负责管理容器镜像快照与虚拟机磁盘,维护 snap 元数据:

  • 首先读取基础镜像层,创建 RAW 格式的虚拟机磁盘,并设置为只读。
  • 读取差异层,通过reflink,在 OCFS 存储设备快速创建一个虚拟磁盘快照。
  • 通过 Diff 服务将差异层内容写入磁盘快照,如图虚拟磁盘文件 2~N。
  • 启动容器实例,容器镜像最上层,如 N、reflink 一个新的磁盘,用于容器实例进行临时文件系统写操作。

关于直播课件及视频回放获取方式:

【PPT 课件获取】:关注微信公众号(OpenAnolis),回复“龙蜥课件” 即可获取。有任何疑问请随时咨询龙蜥助手—小龙(微信:openanolis_assis)。

【视频回放】:视频回放可在龙蜥视频号(账号:龙蜥社区_小龙)或龙蜥官网 https://openanolis.cn/video 查看。

—— 完 ——

加入龙蜥社群

加入微信群:添加社区助理-龙蜥社区小龙(微信:openanolis_assis),备注【龙蜥】与你同在;加入钉钉群:扫描下方钉钉群二维码。

相关文章
|
7月前
|
存储 容器
46.[HarmonyOS NEXT RelativeContainer案例三] 打造自适应容器:内容驱动的智能尺寸调整技术
在HarmonyOS NEXT的UI开发中,创建能够根据内容自动调整尺寸的容器是实现灵活布局的关键。RelativeContainer结合自适应尺寸设置,可以实现内容驱动的智能尺寸调整,使UI更加灵活且易于维护。本教程将详细讲解如何创建自适应尺寸的RelativeContainer,帮助你掌握这一实用技术。
249 5
|
10月前
|
存储 虚拟化 索引
虚拟化数据恢复—ESX SERVER常见故障&数据恢复方案
◆ ESX SERVER常见故障: a、因光纤存储设备连接至非ESX环境,共享互斥失败,对存储改写(重装系统,WINDOWS初始化,格式化等),导致存储结构损坏; b、升级/变更卷时分区表或VMFS卷结构异常; c、误删除VMFS存储中虚拟机/文件; d、误删除/重建数据存储。
|
5月前
|
机器学习/深度学习 SQL 大数据
什么是数据集成?和数据融合有什么区别?
在大数据领域,“数据集成”与“数据融合”常被混淆。数据集成关注数据的物理集中,解决“数据从哪来”的问题;数据融合则侧重逻辑协同,解决“数据怎么用”的问题。两者相辅相成,集成是基础,融合是价值提升的关键。理解其差异,有助于企业释放数据潜力,避免“数据堆积”或“盲目融合”的误区,实现数据从成本到生产力的转变。
什么是数据集成?和数据融合有什么区别?
|
5月前
|
存储 固态存储 Linux
从 0 学服务器虚拟化:VMware 搭建 3 个虚拟主机,个人 / 小企业够用的方案
服务器虚拟化技术通过在单台物理机上运行多个虚拟机,显著提升资源利用率和管理灵活性。本文以 VMware ESXi 8.0 Update 3e 为例,详解如何搭建经济实用的虚拟化环境,支持 3 个虚拟主机稳定运行,适合个人开发者和小企业降低硬件投入、实现数据本地化与安全存储。
1262 0
|
6月前
|
存储 人工智能 自然语言处理
AI-Compass GraphRAG技术生态:集成微软GraphRAG、蚂蚁KAG等主流框架,融合知识图谱与大语言模型实现智能检索生成
AI-Compass GraphRAG技术生态:集成微软GraphRAG、蚂蚁KAG等主流框架,融合知识图谱与大语言模型实现智能检索生成
|
5月前
|
Kubernetes Cloud Native 持续交付
Docker:轻量级容器化技术解析
Docker:轻量级容器化技术解析
|
5月前
|
运维 测试技术 Docker
Docker:轻量级容器化技术革命
Docker:轻量级容器化技术革命
|
9月前
|
弹性计算 Java Maven
从代码到容器:Cloud Native Buildpacks技术解析
Cloud Native Buildpacks(CNB)是一种标准化、云原生的容器镜像构建系统,旨在消除手动编写Dockerfile,提供可重复、安全且高效的构建流程。它通过分层策略生成符合OCI标准的镜像,实现应用与基础镜像解耦,并自动化依赖管理和更新。阿里云应用管理支持通过CNB技术一键部署应用至ECS,简化构建和运行流程。
|
10月前
|
存储 虚拟化 Docker
|
10月前
|
开发工具 虚拟化 git
自学软硬件第755 docker容器虚拟化技术youtube视频下载工具
docker容器虚拟化技术有什么用?怎么使用?TubeTube 项目使用youtube视频下载工具