Longhorn vs Rook vs OpenEBS vs Portworx vs IOMesh:细说 5 款 K8s 持久化存储产品优劣势

news2024/12/23 19:18:01

云原生时代下,越来越多的企业开始使用 Kubernetes(K8s)承载数据库、消息中间件等“生产级”有状态工作负载。由于这些应用对数据持久保存、性能、容量扩展和快速交付具有较高的要求,企业往往需要采用专为 Kubernetes 环境设计的持久化存储方案,来满足有状态应用的存储需求。这也是不少用户感到困惑的地方:如何从市面上众多的 K8s 存储方案中,找到适合自己的产品?

这篇文章中,我们详细对比了 Longhorn、OpenEBS、Portworx、IOMesh 等主流 K8s 持久化存储方案,通过特性对比与性能测试,为用户产品选型提供直观参考。

功能特性对比

在存储方案特性方面,Gartner 在《如何在容器与 Kubernetes 环境进行存储选型和实践(How Do I Approach Storage Selection and Implementation for Containers and Kubernetes Deployments)?》报告中,列举了 5 项云原生数据服务对传统存储方案的改进要求:

  • 软件定义与“硬件无关(hardware agnostic)”。
  • 可编程,可作为“基础设施即代码(IaC)”进行管理,由 API 驱动并支持高级和细粒度的数据服务(如高可用与数据保护)。
  • 基于分布式架构,可以任意规模部署。
  • 与多种 Kubernetes 发行版通过认证,并可与之进行互操作、实现完全集成。
  • 具有简单且可预测的跨环境许可模型。

我们参考以上要求,同时结合国内对 IT 基础架构技术自研等方面的关注,对 Longhorn、Rook、OpenEBS、Portworx 和 IOMesh 5 款产品,从技术开闭源、本土化支持、存储架构、高级数据服务、与 K8s 的集成程度等方面进行了全面对比:

 

基于以上对比,用户在功能特性层面的选型上需要注意以下几点:

  • 关注数据安全与合规性的用户(如金融与政府机构),应尽量选择闭源 K8s 存储方案。同时,闭源厂商往往具备更强的存储核心代码支持能力,基于开源存储技术的方案,若遇到存储部分的故障,可能无法得到及时解决。
  • OpenEBS 与 Portworx 当前没有中国本土支持,更考验运维人员在 K8s 环境方面的知识与经验储备。
  • 若采用 K8s 支持对 I/O 性能要求较高、数据一致性要求较强的应用场景(数据库、消息中间件、缓存等),应尽量选择支持块存储的解决方案。
  • 运行对连续性要求较高的应用,应尽量选择具备高可用与数据保护的产品。

性能测试

性能是评判存储系统是否能够支撑核心业务的关键指标。我们对 IOMesh、Longhorn、Portworx 和 OpenEBS 四个方案*,在 MySQL 和 PostgreSQL 数据库场景下进行了性能压测(使用 sysbench-tpcc 模拟业务负载)。

* 对 Rook 的性能测试还在进行中,测试结果会在后续文章中更新。敬请期待!

测试环境

  • 测试集群为 3 节点混闪配置,搭载 Intel CPU,使用 2 块 SATA SSD 做缓存,存储网卡为 10GbE。
  • 测试数据选择 2 副本场景,TPCC 测试参数:time=600, tables=4, scale=50。
  • 软件版本:IOMesh 0.10.2, Longhorn 1.1.1, Portworx 2.6.3, OpenEBS 2.9.0。

测试结果

四个云原生存储系统在两项测试中的 TPS、QPS 以及 P95 延迟表现如下图所示。

02_kubernetes-persistent-storage-comparison.png

从以上数据与对比可以看出,四个存储方案在性能与稳定性上的表现,从优到次依次为 IOMesh、Longhorn、Portworx 与 OpenEBS。

作为国内首款 K8s 原生的企业级分布式存储,IOMesh 可为运行在 Kubernetes 集群上的各类有状态应用提供稳定、高性能的持久化存储资源,降低方案构建成本与运维难度,加速企业云原生转型进程。欲了解方案详情,您可阅读博客、观看产品解读视频,或点击获取《IOMesh 用户指南》。

扫描下方二维码,一键获取 IOMesh 1.0.0 用户指南。

 

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

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

相关文章

入侵检测——IDS概述、签名技术

1. 什么是IDS? IDS(intrusion detection system)入侵检测系统,是一种对网络传输进行即时监视,在发现可疑传输时发出警报或者采取主动反应措施的网络安全设备。它会对系统的运行状态进行监视,发现各种攻击企…

力扣959. 由斜杠划分区域

题目描述: 在由 1 x 1 方格组成的 n x n 网格 grid 中,每个 1 x 1 方块由 /、\ 或空格构成。这些字符会将方块划分为一些共边的区域。 给定网格 grid 表示为一个字符串数组,返回 区域的数量 。 请注意,反斜杠字符是转义的&…

乐维监控 | 如何快速关闭网络设备所有端口

在运维监控实践中,由于不同的运维人员可能会关注不同的监控指标,因此乐维监控在监控网络设备时,会默认开启所有的端口,尽可能多的覆盖监控指标,避免遗漏重要指标。但是,这样又会带来新的问题,在…

ITIL4—服务管理的四个维度

服务管理的四个维度 上一章概述了对服务管理至关重要的概念。一个组织的目标是为其利益相关者创造价值,这是通过提供和消费服务来实现的。ITIL SVS描述了组织的各个组成部分协同工作创造该价值的方式。但是,在进一步探讨之前,必须首先介绍服…

嵌入式工程师有发展前途吗?

如果你是真的喜欢嵌入式,那鼓励你顺从内心指引。毕竟人生不仅仅是向钱看的。根据马斯洛需求模型,在物质条件基本满足后就会进而强调精神需求,当然现今消费主义社会,你可以选择砸钱下猛药感官刺激来安抚虚无的内心,但这…

麒麟信安携手航天紫光发布 “自主操作系统+国产数据库”联合解决方案

数据库是计算、存储和管理数据信息的重要“仓库”,国产操作系统则为各项业务系统的运行提供安全可靠的底座支撑,操作系统、数据库等基础软件实现自主可控,对于我国信息安全和数字经济发展具有重要意义。为满足当前各大行业用户海量数据高并发…

OBS直播如何实现竖屏直播(OBS配置竖屏直播)

OBS直播如何实现竖屏直播(OBS配置竖屏直播) 第1步:安装好OBS直播软件; 第2步:打开OBS,点击右下角“设置 --> 视频” 》配置 竖屏直播的分辨率,比如900x1600、1080x1920的分辨率;…

Vue2.0 使用 echarts

目录 1. 配置 渲染2. 数据渲染 1. 配置 渲染 安装 echarts 依赖 npm install echarts -Smain.js,引入 echarts import * as echarts from echarts// 在import的后面,echarts的前面加一个 * as Vue.prototype.$echarts echarts从 echarts 官网直接复制…

【学习笔记】目标跟踪领域SOTA方法比较

目录 前言方法1 TraDeS:2 FairMOT:3 SMILEtrack:4 ByteTrack: 前言 常用于行人跟踪的多目标跟踪数据集包括:MOT 15/16/17/20、PersonPath22等… 为更好比较现有SOTA算法的检测性能,本博客将针对在各数据集上表现较优的算法模型进行介绍。(表…

hive删除数据进行恢复

在实际开发或生产中,hive表如果被误删,如被truncate或是分区表的分区被误删了,只要在回收站的清空周期内,是可以恢复数据的,步骤如下: (1) 先找到被删除数据的存放目录,…

MQ公共特性介绍 (ActiveMQ, RabbitMQ, RocketMQ, Kafka对比)

本章介绍 本文主要介绍所有MQ框架都具备的公共特点,同时对比了一些目前比较主流MQ框架的优缺点,给大家做技术选型作参考。 文章目录 本章介绍MQ介绍适用场景异步通信案例一案例二 系统解耦削峰填谷广播通信总结 缺点MQ对比APQP历史AMQP是什么 MQ介绍 M…

Python数据分析实战-dataframe筛选某字段包含(模糊匹配)某些值的记录(附源码和实现效果)

实现功能 Python利用df[].str.contains()对dataframe筛选某字段包含(模糊匹配)某些值的记录 实现代码 import pandas as pddf {地址:[北京,上海,长沙,北京省会,广州市区],table:[user,student,course,sc,book]} df pd.DataFrame(df) print(df) print…

【小白必看】使用Python批量下载英雄联盟皮肤图片的技术实现

文章目录 前言运行效果截图导入必要的模块和库定义常量和变量获取所有英雄的名称遍历每个英雄遍历每个英雄的皮肤完整代码结束语 前言 英雄联盟是一款备受喜爱的团队对战游戏,游戏中每位英雄都有各种精美的皮肤供玩家选择。本文将介绍一个使用Python编写的英雄联盟皮…

计数型信号量

回顾上节所讲: Q: 什么是信号量? A: 信号量(Semaphore),是在多任务环境下使用的一种机制,是可以用来保证两个或多个关键代码段不被并发调用。 信号量这个名字,我们可以把它拆分来看,…

本地Git仓库和GitHub仓库SSH传输

SSH创建命令解释 ssh-keygen 用于创建密钥的程序 -m PEM 将密钥的格式设为 PEM -t rsa 要创建的密钥类型,本例中为 RSA 格式 -b 4096 密钥的位数,本例中为 4096 -C “azureusermyserver” 追加到公钥文件末尾以便于识别的注释。 通常以电子邮件地址…

【Android常见问题(五)】- Flutter项目性能优化

文章目录 知识回顾前言源码分析1. 渲染过程2. 分析工具3. 优化方法合理使用const关键词合理使用组件管理着色器编译垃圾 知识回顾 前言 项目迭代开发一定程度后,性能优化是重中之重,其中包括了包体积,UI 渲染、交互等多个方面。 通过 Flutt…

ssm停车场信息管理系统java车辆车位收费jsp源代码mysql

本项目为前几天收费帮学妹做的一个项目,Java EE JSP项目,在工作环境中基本使用不到,但是很多学校把这个当做编程入门的项目来做,故分享出本项目供初学者参考。 一、项目描述 ssm停车场信息管理系统 系统有2权限:管理…

浏览器端代理proxy 解决跨域

一.环境:使用expresshttp-proxy-middleware 直接上代码 // include dependencies const express require( express);//node内置的path模块导入 const path require("path")const { createProxyMiddleware } require( http-proxy-middleware); // 需要代理后端服…

Linux6.12 Docker 数据管理和镜像的创建

文章目录 计算机系统5G云计算第四章 LINUX Docker 数据管理和镜像的创建一、Docker 的数据管理1.数据卷2.数据卷容器 二、容器互联(使用centos镜像)三、Docker 镜像的创建1.基于现有镜像创建1)首先启动一个镜像,在容器里做修改2&a…

通达信指标回测系统的高级玩法:优化参数

#1.本期主要的学习内容: A.找到最优的选股信号,即最佳参数的寻找方法。 B.学会使用通达信内置的(程序交易评测系统)指标回测系统。 #2.程序交易评测系统的打开方法 选择公式——程序交易评测系统 快捷键:CTRLS 键…