Longhorn vs Rook vs OpenEBS vs Portworx vs IOMesh: Discussing the advantages and disadvantages of 5 K8s persistent storage products

In the cloud-native era, more and more enterprises are beginning to use Kubernetes (K8s) to carry "production-level" stateful workloads such as databases and message middleware. Since these applications have high requirements for data persistence, performance, capacity expansion, and rapid delivery, enterprises often need to adopt persistent storage solutions designed specifically for Kubernetes environments to meet the storage needs of stateful applications. This is also where many users are confused: How to find the product that suits them from the numerous K8s storage solutions on the market?

In this article, we make a detailed comparison of  mainstream K8s persistent storage solutions such as Longhorn, OpenEBS, Portworx, and IOMesh , and provide users with an intuitive reference for product selection through feature comparison and performance testing.

Feature Comparison

In terms of storage solution features, Gartner listed 5 cloud-native data services in its report "How Do I Approach Storage Selection and Implementation for Containers and Kubernetes Deployments?" Improvement requirements for traditional storage solutions:

  • Software definition is "hardware agnostic".
  • Programmable, manageable as Infrastructure as Code (IaC), driven by APIs and supporting advanced and fine-grained data services (such as high availability and data protection).
  • Based on distributed architecture, it can be deployed at any scale.
  • Certified to interoperate and fully integrate with multiple Kubernetes distributions.
  • Have a simple and predictable licensing model across environments.

We refer to the above requirements, combined with the domestic focus on self-research of IT infrastructure technology, and focus on the five products of Longhorn, Rook, OpenEBS, Portworx and IOMesh, from the perspective of open and closed source technology, localized support, storage architecture, and advanced data services. , the degree of integration with K8s and other aspects were comprehensively compared:

 

Based on the above comparison, users need to pay attention to the following points when selecting models at the functional level:

  • Users who are concerned about data security and compliance (such as financial and government institutions) should try to choose closed source K8s storage solutions. At the same time, closed source manufacturers often have stronger storage core code support capabilities. Solutions based on open source storage technology may not be able to resolve problems in a timely manner if they encounter storage failure.
  • OpenEBS and Portworx currently do not have local support in China, which further tests the knowledge and experience reserves of operation and maintenance personnel in the K8s environment.
  • If K8s is used to support application scenarios that require high I/O performance and strong data consistency requirements (database, message middleware, cache, etc.), you should try to choose a solution that supports block storage.
  • To run applications that require high continuity, you should try to choose products with high availability and data protection.

Performance Testing

Performance is a key indicator for judging whether a storage system can support core services. We conducted performance stress testing on four solutions*, IOMesh, Longhorn, Portworx and OpenEBS, in MySQL and PostgreSQL database scenarios (using sysbench-tpcc to simulate business loads).

* The performance test of Rook is still in progress, and the test results will be updated in subsequent articles. Stay tuned!

test environment

  • The test cluster is a 3-node mixed-flash configuration, equipped with Intel CPU, uses 2 SATA SSDs for cache, and the storage network card is 10GbE.
  • Test data selection 2 copy scenario, TPCC test parameters: time=600, tables=4, scale=50.
  • Software versions: IOMesh 0.10.2, Longhorn 1.1.1, Portworx 2.6.3, OpenEBS 2.9.0.

Test Results

The TPS, QPS, and P95 latency performance of the four cloud-native storage systems in the two tests are shown in the figure below.

02_kubernetes-persistent-storage-comparison.png

From the above data and comparison, we can see that the performance and stability of the four storage solutions are, from best to worst, IOMesh, Longhorn, Portworx and OpenEBS.

As the first K8s-native enterprise-level distributed storage in China, IOMesh can provide stable and high-performance persistent storage resources for various stateful applications running on Kubernetes clusters, reduce solution construction costs and operation and maintenance difficulties, and accelerate enterprise cloud Native transformation process. To learn more about the solution, you can read the blog , watch the product explanation video , or click to get the "IOMesh User Guide" .

Scan the QR code below to get the IOMesh 1.0.0 User Guide with one click.

 

Guess you like

Origin blog.csdn.net/weixin_43696211/article/details/131954601