IOMesh 为 KubeVirt 提供高效稳定的持久化存储支持(附用户实践)

news2024/10/5 22:58:59

7 月 11 日,KubeVirt 社区正式宣布发布 Kubernetes 原生虚拟机管理插件 KubeVirt v1.0。这一版本发布不仅标志着 KubeVirt 已进化为生产就绪的虚拟机管理解决方案,也为正在使用虚拟化环境的用户提供了更多元的云化转型路线:搭配 Kubernetes 持久化存储方案,用户可在 Kubernetes 平台实现虚拟机和容器的统一管理的同时,为 Kubernetes 集群提供生产级稳定、高性能的存储支持。

作为国内首款 Kubernetes 原生的企业级分布式存储,SmartX 的 Kubernetes 原生存储 IOMesh 可以为 KubeVirt 提供性能强大、功能丰富的存储服务,帮助企业加快 IT 基础架构云原生转型的步伐。本文,我们将深入探讨 KubeVirt 对底层存储架构的能力要求,并通过性能测试和用户实践,验证 IOMesh 对 KubeVirt 的支持能力。

Gartner:以 KubeVirt 为代表的“容器-虚拟机融合管理”技术正在成为主流

云原生技术的成熟不仅给企业用户带来了更现代化的 IT 基础架构,也同时带来了一定程度的管理难题:怎样将用户原有的虚拟化架构与容器架构统一且高效地管理?为了解决这一问题,“容器-虚拟机融合管理(Converged VM and Container Management)”应运而生。

Gartner 在《容器管理市场指南》报告中指出,目前有两种主流方式,可以实现将容器与虚拟机架构整合并统一管理:

  • Container-centric:在 Kubernetes 集群中创建、运行、管理虚拟机,以 KubeVirt 为代表。这种方案下,Kubernetes 部署在裸金属上,用户使用 Kubernetes API 对 Kubernetes 集群上的容器和虚拟机进行统一管理。

  • Coexist:支持在虚拟机环境中部署、运行、管理容器和虚拟机,以 VMware Tanzu 和 SmartX SKS 为代表。这种方案下,用户部署虚拟化/超融合平台运行虚拟机,Kubernetes 集群构建在其中一部分虚拟机之上,用户通过虚拟化网络对 Kubernetes 集群和虚拟机进行统一管理。欲深入了解,请阅读:虚拟化 vs. 裸金属:K8s 部署环境架构与特性对比。

两种方案的对比如下图所示。

图片

左:以 Coexist 方式融合管理容器和虚拟机,右:使用 KubeVirt 融合管理容器和虚拟机

作为一种 Container-centric 融合管理方案,KubeVirt 最大的特点即支持运维人员使用 Kubernetes API 对容器和虚拟机进行统一管理:用户只需掌握 Kubernetes 相关技术,即可对两种架构同时进行管理,降低了管理难度。同时,不同于传统虚拟化环境中使用厂商专有 API,KubeVirt 使用 Kubernetes API,与 Kubernetes 集成更为紧密,使得集群管理更加敏捷、灵活,用户也可轻松使用 Kubernetes 丰富的生态系统和工具,如监控、日志、网络和存储等。

得益于成熟的技术和虚拟机的支持能力,Gartner 在《容器管理市场指南》中表示,相比使用裸金属服务器运行 Kubernetes,更多用户倾向于使用可同时支持容器和虚拟机的架构方案,兼顾两种部署环境优点的同时,逐步推进 IT 基础架构云化转型。

KubeVirt 需要什么类型的存储

想要充分发挥 KubeVirt 灵活部署、多架构支持的能力,离不开底层储存的支持。在 KubeVirt 场景下,存储方案不仅应具备可支持容器与虚拟机的高性能块存储能力,还需贴合 KubeVirt 的能力设计,为虚拟机提供高级特性。

Kubernetes 原生的生产级块存储能力

  • Kubernetes 原生、融合部署:存储方案需具备可在生产环境中支持有状态应用的 I/O 能力,因此要求存储产品使用 Kubernetes 原生技术(原生 CSI Driver 并支持声明式 API),且支持存储与计算的融合部署——相比于分离场景,融合部署具备 I/O 本地化能力,可以获得更好的性能;同时,由于 KubeVirt 通过 Kubernetes API 对虚拟机和容器进行统一管理,因此更适合存储和计算融合部署场景。

  • 可扩展性:允许用户从小规模开始部署,根据业务需求按需扩展存储资源,而无需更换基础架构的基本组件。
     

贴合 KubeVirt 的高级特性

  • 虚拟机快照、还原、克隆:KubeVirt 利用 Kubernetes CSI 驱动程序的 VolumeSnapshot 功能来实现虚拟机快照和还原,因此需要存储方案在 CSI 驱动中实现 Snapshot 和 Restore 功能。此外 Kubernetes Volume Snapshot APIs 还需要是 v1 版本。对于虚拟机克隆能力,KubeVirt 依赖于快照、还原 API。

  • Live Migration:对于虚拟机 Live Migration 能力,需要持久卷支持多读写(RWX) 能力。

此外,GigaOm 在《Key Criteria for Evaluating Kubernetes Data Storage Solutions v4.0》报告中,列举了 Kubernetes 存储在常规应用场景下应具备的 4 项标准能力、5 项关键差异能力和 3 项新兴技术支持能力。这些能力也应被纳入 KubeVirt 存储能力评估范围内。欲了解详细能力评估标准,请阅读:一文了解评估 K8s 原生存储产品需要关注的关键能力。


综上所述,一个高性能、具备企业级存储特性的云原生的分布式块存储比较适合 KubeVirt 场景。

IOMesh 如何满足 KubeVirt 需求

IOMesh 是 SmartX 自主研发并经过生产环境验证的 Kubernetes 原生的企业级分布式存储产品。作为一种 Kubernetes 原生的存储解决方案,IOMesh 能够与 Kubernetes 完美集成,实现融合部署并提供一致的容器与虚拟机存储支持,可以很好地支撑 KubeVirt 场景。方案架构如下图所示。

图片

得益于 IOMesh 的以下特点,该方案可充分满足 KubeVirt 场景下的存储需求。

高性能块存储

IOMesh 为全分布式架构,通过多节点并发消除了性能瓶颈,同时利用多种 I/O 优化技术进一步提升性能:

  • I/O 本地化消除了网络访问时延。

  • 冷热数据自动分层与对裸设备的直接管理最大化地发挥了硬件的性能。

  • 支持卷级别的存储策略:支持2和3副本。

  • 支持精简和厚制备方式。

  • 通过副本分配策略(拓扑安全、本地优先、局部化、容量均衡)实现了数据的精准放置。

通过以下的性能测试数据,可以直观地感受到 IOMesh 对比其他 K8s 存储的性能优势:

图片

图片

图片

图片

注:

3N1P:3 Node 1 Pod,测试单节点存储性能。

3N3P:3 Node 3 Pod,测试集群存储整体性能。

版本:IOMesh v1.0.1、Rook v1.12.1、Longhorn v1.5.1。

Kubernetes 原生

通过 Kubernetes CSI 动态制备存储,并支持诸如 PV 扩容、快照、还原、克隆、认证等能力。

企业级特性

IOMesh 具备数据校验、多副本冗余的企业级高可用特性;支持硬盘异常探测(通过智能算法探测不健康盘,自动触发磁盘隔离和数据恢复)等功能增加了可靠性和安全性。

降低使用成本

充分利用 Kubernetes Worker 节点的硬件资源融合部署,节省硬件成本和机架空间,降低部署难度。同时通过 Kubernetes 原生的操作方式和工具,可进一步降低 Kubernetes 运维团队的学习成本。

更多 IOMesh 产品特性与应用场景,请扫描下方二维码,获取《IOMesh 用户指南》进行深入了解。

用户实践

某视频技术研究公司从事视频离线渲染业务开发,采用容器虚拟化方案(Kubernetes + KubeVirt),以虚拟机(Windows + Linux)和容器方式混合部署的形式支持业务应用。

图片

该场景下,业务应用对存储产品在性能和高可用方面的要求比较高,为了支持应用稳定、高效运行,用户调研并测试了多个云原生存储方案,在性能和企业级别特性方面均难以达到预期。用户对存储方案的具体要求如下:

  • 存储类型:云原生分布式存储。

  • 具备企业级特性:通过多副本机制保证数据高可用性。

  • 高性能:视频渲染应用对存储性能要求比较高(随机读写 IOPS 和顺序读写带宽),需要满足以下条件:

    - 单机随机读 IOPS:100K+;

    - 单机随机写 IOPS:40K+;

    - 单机顺序读、顺序写带宽:1GiB/s。

  • 生产级别可用、稳定,资源消耗低。

为了解决存储痛点,用户引入了 IOMesh 进行性能测试。测试结果显示,IOMesh 在模拟实际业务需求条件下,单机随机读写 IOPS 可达到 130K+ 和 45K+,单机顺序读写宽带可达到 1.6GiB/s+,大大超出了客户预期。同时,IOMesh 丰富的企业级特性和 SmartX 专业的技术支持,充分保证了业务的稳定运行,满足了用户对 Kubernetes 集群高可用方面的要求。


想免费体验 IOMesh 功能与特性?快来参加 SmartX 近期开展的“IOMesh 社区版部署大挑战”活动!仅需半个小时,即可完成 IOMesh 社区版部署,获取 IOMesh 商业版基本功能的永久免费使用权,并解锁社区专家支持和更多挑战奖励。欲了解活动详情和报名方式,请阅读:有奖体验|IOMesh 社区版部署大挑战开始啦!

参考文章:

1. Market Guide for Container Management, Gartner

https://www.gartner.com/document/4012524

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1004407.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue3的params传参失效的解决方案state

vue3使用vue-router4.0,但是使用router.push的params传参,一直拿不到参数 查阅资料如下: —————————————————————————————————————————— state方案如下: 要传参的组件 import { u…

【C++模拟实现】手撕红黑树(含图解)

【C模拟实现】手撕红黑树(含图解) 目录 【C模拟实现】手撕红黑树(含图解)红黑树的介绍(百度百科)简介特征(十分重要,红黑树的基础) 红黑树的实现代码(insert部…

运营商大数据合作方合作流程和具体服务流程是什么?

运营商大数据合作方合作的流程分为好几个阶段。首先是要进行合作咨询,咨询完成了以后,再直接对相关的数据进行相应的评估。接着再把资源整合起来,然后再对数据进行清洗,接着直接将产品进行包装,然后给数据定价&#xf…

Linux时区配置

Linux时区配置 timedatectl设置时区和时间启用自动同步NTP时间设置UTC或RTC时间查看UTC时间 查看所有可用时区查看当前时区设置系统时区启用夏令时timedatectl修改当前日期时间 通用设置时区方法使用tzselect设置时区 timedatectl设置时区和时间 timedatectl是一个系统工具&am…

解决微信小程序报错:“SyntaxError:Unexpected end of JSON input”

1. 报错原因: 如果对象的参数或数组的元素中遇到地址,地址中包括?、&这些特殊符号时,对象/数组先要通过JSON.stringify转化为字符串再通过encodeURIComponent编码;接收时,先通过decodeURIComponent解码再通过JSON…

成集云 | 聚水潭对接金蝶云星空接口 | 解决方案

源系统成集云目标系统 方案介绍 聚水潭是一款以SaaS ERP为核心,集多种商家服务为一体的SaaS协同平台,为全国35万多家电商企业提供全面的信息化解决方案。聚水潭已在全国设立了超过60个线下服务网点,服务范围覆盖超过300个城市,为…

05目标检测-区域推荐(Anchor机制详解)

目录 一、问题的引入 二、解决方案-设定的anchor boxes 1.高宽比(aspect ratio)的确定 2.尺度(scale)的确定 3.anchor boxes数量的确定 三、Anchor 的在目标检测中是怎么用的 1、anchor boxes对真值bounding box编码的步骤 2、为什么要回归偏移量…

Linux安装jdk11

官网下载链接 https://www.oracle.com/java/technologies/downloads/#java11 下载解压并更改环境变量 export JAVA_HOME/home/jenkins/jdk-11.0.20 PATH"$HOME/.local/bin:$HOME/bin:$JAVA_HOME/bin:$PATH"

5G网络优化工程师如何挑选最合适的电脑?

最近很多要来学习5G网络优化的小伙伴都在问小编什么样的电脑会比较合适,开学季嘛电子产品都比较的优惠,想要下手一台性价比较高的笔记本 ,希望小编能够给点建议,于是小编马不停蹄的联系了老师以及就业的学员详细的了解之后&#x…

Error: That port is already in use.

刚开始看后端的内容 经常遇到的问题就是Error: That port is already in use. 解决方法 有两个方法可以解决(假设8000端口被占用): 1. 使用python manage.py runserver 8001 开一个新的端口。 2. kill掉原来的端口(在root条件下)。 在终端输入lsof -i:8000&am…

3dmax 基础操作

基础快捷键 1.放大视图 Altw 2.缩放 滑动滚轮 3.移动物体 按w 移动画布 ctrlp/鼠标中键 4.旋转视图 alt鼠标中键 5.复制 shift移动 6.视图切换 P透视 T顶视图 F前视图 L左视图 7.线框模型显示 f4 8. 只显示线框不显示模型 f3…

多场景PAI-Diffusion中文模型家族大升级,12个模型、2个工具全部开源

作者: 段忠杰、刘冰雁、汪诚愚、邹心怡、黄俊 概述 在过去几年中,随着AI生成内容(AI Generated Content,AIGC)的快速发展,Stable Diffusion模型在该领域崭露头角。阿里云机器学习PAI团队为推动这一领域的…

三、日志编写 —— TinyWebServer

日志编写 —— TinyWebServer 一、 前言 上期已经写完lock类的编写。这期是日志的编写。 对于日志需要弄懂几个基本概念才可以更好的理解和编写日志。 什么是日志?常用的日志级别有哪些?日志的基本格式是什么?异步日志类刷新缓冲区的作用同…

爱尔眼科周进院长出席CCOS 2023并担任学术讲者及培训导师

星城长沙,大咖云集,护航光明,共创未来!9月6日—10日,国内眼科学界最盛大的学术会议——中华医学会第二十七次全国眼科学术大会(CCOS 2023)在湖南长沙隆重举办!逾万名国内外眼科专家、学者代表参加盛会,聚焦眼科发展的新…

骨传导耳机弊端都有哪些?盘点骨传导耳机有哪些缺点!

骨传导耳机有弊端吗?答案是有的!不过由于骨传导耳机的优点大于缺点,所以骨传导耳机的弊端可以忽略不计,下面跟大家说下骨传导耳机都有什么弊端。 1、漏音情况 不管什么耳机,都会存在漏音情况,只是漏音的…

恒运资本:早盘三大指数震荡 减肥药概念再度大涨!

周二(9月12日),A股三大股指震动,涨跌互现。到上午收盘,上证指数涨0.04%,报3144.03点;深证成指涨0.32%,报10415.22;创业板指跌0.10%;沪深两市算计成交额4492.47亿元&#…

C++ 特性模版

目录 1. 非类型模板参数 2. 模板的特化 2.1 概念 2.2 函数模板特化 2.3 类模板特化 2.3.1 全特化 2.3.2 偏特化 2.3.3 类模板特化应用示例 3 模板分离编译 3.1 什么是分离编译 3.2 模板的分离编译 3.3 解决方法 4. 模板总结 1. 非类型模板参数 模板参数分类类型形…

【SpringCloud微服务项目实战-mall4cloud项目(2)】——mall4cloud-gateway

mall4cloud-gateway网关模块 系统架构与网关介绍网关介绍 网关层代码依赖引入bootstrap配置nacos配置gateway配置处理跨域问题gateway路由断言配置gateway路由过滤配置 总结 代码地址 github地址 fork自github原始项目 gitee地址 fork自gitee原始项目 系统架构与网关介绍 从图…

企业为什么要做网络安全?

网络安全任何人都无法独善其身,无论个个人还是企业或者是高校、机构等,都需要参与到网络安全维护中。 在当今数字化时代,随着互联网的普及和企业信息化程度的提高,网络安全成为了企业运营中不可忽视的重要问题。网络安全指的是通过…

浅谈限流式保护器在高校防火工作的应用

安科瑞 华楠 【摘要】摘要:为了预防火灾和减少火灾带来的危害,保护校园和师生生命财产安全, 建和谐安宁的校园环境,保障学校安全稳定发展,我们必须要时刻拧紧消防安全这弦,时刻注意这根高压线。随着近年来…