2021 年 6 月 22 日,北京——专业超融合与分布式存储产品与解决方案提供商 SmartX 发布为 Kubernetes 设计和开发的云原生存储产品 IOMesh 预览版(以下简称“IOMesh”),加速数据库等有状态应用的容器化进程。IOMesh 不仅具备容器化部署、自动运维、声明式接口等云原生特性,同时表现出卓越的性能:在同等硬件条件和测试参数1 的 TPC-C MySQL 和 TPC-C PostgreSQL 测试中,IOMesh 的性能分别是业界同类产品的 2.81 倍和 1.47 倍。
目前,Kubernetes 已经成为云原生时代容器编排的事实标准,并在生产环境中承载越来越多的有状态应用。CNCF 在 2020 年的调查2报告显示,受访者企业在生产环境中使用 Kubernetes 的比例从 78% 提高到了 83%,同时,55%的受访者在生产环境中通过容器中部署了有状态应用。
图 1:在容器中部署有状态应用的比例(图片来源于 CNCF 报告)
然而,调查报告也显示,存储依旧是用户向容器环境迁移面临的最主要障碍之一。
图 2 :使用/部署容器的主要挑战(图片来源于 CNCF 报告)
对于生产环境,用户期望具备以下核心特性的存储产品支撑其有状态应用:
基于 K8s 的云原生部署和运维模式。
高性能低延迟满足数据库等场景需求。
稳定的产品核心从而达到生产环境高可用要求。
强大的弹性扩展能力。
目前市场上的主流存储方案,无论是传统存储还是新兴的云原生存储,其在敏捷性、稳定性和性能等方面尚无法完全满足以上需求。
IOMesh 云原生存储应运而生
作为一款专为 Kubernetes 设计和开发的云原生存储产品,IOMesh 以 SmartX 自主研发且“生产就绪”的分布式存储系统 ZBS 为核心,为运行在 Kubernetes 环境中的业务关键型应用,如 MySQL、Cassandra、MongoDB 等提供生产级别的高性能和可靠的持久化存储能力,有力支撑有状态应用的容器化改造。IOMesh 现已加入 CNCF 云原生全景图 。
图 3. IOMesh 产品架构图
IOMesh 的主要特点与优势包括:
● Kubernetes 原生:IOMesh 完全基于 Kubernetes 自身能力构建,运维团队可以使用标准的 Kubernetes 工具对运行在容器上的应用程序和 IOMesh 存储系统进行统一管理,可极大地降低管理复杂度和运维成本。
● 性能卓越:存储性能对于数据库等 IO 密集型应用的稳定运行至关重要。在标准的 Kubernetes 存储性能测试中,IOMesh 在获得高 IOPS 的同时保持了极低且稳定的延迟,可为目标应用的稳定运行提供强有力的保障。
● 高可靠:IOMesh 运行在用户空间内,不引入额外的内核模块,从而有效确保了隔离性,不会影响同节点其它应用的正常运行。
● 高性价比:IOMesh 支持多种存储介质的灵活组合部署,包括 NVMe SSD、SATA SSD、HDD 等,并通过冷热分层算法将活跃和非活跃数据分别放在不同的存储介质中,充分发挥不同存储介质的容量、性能和成本优势,实现成本效益最大化。
● 高可扩展:IOMesh 集群最少只需 3 个节点,用户可根据业务需要增加节点或磁盘,对存储集群进行横向或纵向在线扩容,且性能随节点线性增长,真正实现弹性扩展。
IOMesh 性能领先业界云原生存储厂商
在同等硬件条件和测试参数下1,分别对 IOMesh 和 Portworx 进行 TPC-C MySQL 和 TPC-C PostgreSQL 测试,IOMesh 均展现出了业界领先的 IO 性能。
数据库 OLTP 综合性能表现
在 TPC-C MySQL 测试中,IOMesh 承载 MySQL 数据库表现的性能是 Portworx 的 2.81 倍,P95 延迟比 Portworx 降低了 70.07%。
图 4: IOMesh vs. Portworx 数据库 OLTP 综合性能表现 (TPC-C MySQL)
在 TPC-C PostgreSQL 测试中,IOMesh 的综合性能是 Portworx 的 1.47 倍,P95 延迟比 Portworx 降低了 54.72%。
图 5. IOMesh vs. Portworx 数据库 OLTP 综合性能表现 (TPC-C PostgreSQL)
性能稳定性测试
在高并发场景下,IOMesh 可以持续提供极佳且稳定的 IOPS 性能输出,极大地减少 IO 抖动,保障 IO 密集型应用的稳定运行。
图 6:IOMesh vs. Portworx 性能稳定性测试(TPC-C MySQL TPS)
图 7:IOMesh vs. Portworx 性能稳定性测试(TPC-C PostgreSQL TPS)
IOMesh 快速部署指南
安装 IOMesh,您需要满足以下前提:
至少 3 个 Worker 节点的 Kubernetes v1.17+ 或 OpenShift v4.0+ 集群,同时每个 Worker 节点需要:
● 至少 1 块空闲的 SSD 用于 IOMesh 日志和缓存。
● 至少 1 块空闲的 HDD 用于 IOMesh 数据存储。
● 1 块 10GbE 及以上网卡用于 IOMesh 存储网络。
● /opt 目录至少有 100G 可用磁盘空间用于元数据存储。
通过使用 IOMesh,您可以:
● 创建持久卷为应用提供持久化存储,并通过编辑 PVC 对现有持久卷进行扩容。
● 对持久卷进行快照或克隆,并基于卷快照恢复卷。
● 使用 Prometheus 和 Grafana 对存储集群实现全面的可视化监控管理。
● 在线完成存储集群的升级和扩容,扩容期间不影响当前业务,提升运维效率。
快来体验 IOMesh 吧!
IOMesh 提供永久免费的社区版,安装方式简单便捷,使用一行代码即可完成安装,您可以在文档中心(https://docs.iomesh.com/deploy/prerequisites)获取最新版本的产品安装要求、安装方式及操作指引。
在产品的安装和使用过程中,如果您有任何的问题或建议,欢迎加入 IOMesh 微信社区,您将获得:
● 即时的产品答疑解惑;
● 专业的云原生技术探讨;
● 深入的行业洞察。
1. 性能测试环境
● Chassis: SmartX HALO400
● Processor Per Node: 2 x Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
● Memory Per Node: 2 x 32GiB 2133Mhz
● SSDs Per Node: 960GB (2 x S4610 480G)
● HDD Per Node: 1T (1 x HDD 1T)
● Mgmt Network: Intel I350 1Gbps
● Storage Network: Intel 82599ES 10Gbps
● Cluster Pressure Mock: stress --vm 6 --vm-bytes 4G --timeout 2d --vm-hang 0 --vm-keep&
2. CNCF SURVEY 2020