Storage software

Dell Open Source Container Storage Software Linking Its Arrays to CSI Channels – Blocks and Files

Dell offers open-source Container Storage Modules (CSM), software that connects enterprise storage services on its arrays to containers through the Kubernetes CSI plugin.

The CSI (Container Storage Interface) exposes block and file storage systems to containers orchestrated by Kubernetes. Storage vendors such as Dell can produce CSI plugins to attach their storage systems to containers requiring storage services without having to write basic Kubernetes code. Dell’s CSMs are additional plug-ins between CSI and its arrays, used to expose six services to containers.

A blog post by Magi Kapoor, Director of Product Management at Dell, states, “Container storage modules aim to provide additional functionality beyond standard lifecycle management of volumes and snapshots for storage workloads. Kubernetes work that is currently available with Container Storage Interface (CSI) drivers.”

The announcement is part of Dell’s Karavi project, announced last December, as an initiative to add enterprise storage functionality to the Kubernetes CSI interface.

CSMs inject storage code into Kubernetes so users can access features from Dell PowerMax (high-end block and file), PowerStore (unified mid-range file and block), PowerScale (scalable files), PowerFlex (HCI software ) and Unity Bays XT (pre-PowerStore unified file and block).

The six additional services are:

  • Observability – provides a high-level view of storage capacity and performance utilization via Grafana dashboards to Kubernetes users. Kubernetes administrators get insight into the CSI driver’s persistent storage topology, usage, and performance.
  • Replication — enables array replication to implement a high availability/disaster recovery architecture.
  • Authorisation — gives storage administrators the ability to limit and control storage consumption in Kubernetes environments by applying quotas and role-based access control rules that instantly and automatically restrict the use of storage resources by cluster tenants.
  • Elasticity – designed to make Kubernetes applications more resilient by detecting node failures (power failure), K8 control plane network failures, and array I/O network failures, and moving protected pods to functional equipment.
  • Placement of volumes — Analyzes capacity and automates volume placement for Kubernetes workloads.
  • Snapshots — Built on top of the CSI snapshot feature, this module provides additional functionality such as group/crash consistent snapshots with referential integrity.

Each of the six modules as well as all CSI drivers are available for download from GitHub, such as CSM for authorization. There is also a CSM installer. A CSM FAQ on GitHub provides more information as well as a CSM module storage array coverage chart:

Not all bays are covered by all CSMs yet.

There is also a CSM short-term roadmap.