As the digital landscape has continued to evolve, storage solutions that can accommodate a wide range of enterprise workloads and emerging application development platforms have become increasingly important. Notably, Dell Technologies PowerStore is a primary storage array designed to meet the needs of both traditional enterprise workloads and modern, containerized applications running on Kubernetes (K8s).
As the digital landscape has continued to evolve, storage solutions that can accommodate both a wide range of enterprise workloads and emerging application development platforms have become increasingly important. Notably, Dell Technologies PowerStore is a primary storage array designed to meet the needs of both traditional enterprise workloads and modern, containerized applications running on Kubernetes (K8s).
Containers have dramatically changed the way workloads are delivered in the modern data center. In some ways, it is hard to believe that since their inception less than a decade ago, they’ve established such a strong and growing footprint in the data center. However, one feature containers have continued to lack over this timeframe is persistent storage with enterprise features. To address this inadequacy, Dell Technologies has enabled its PowerStore line with a Container Storage Interface (CSI) and Container Storage Modules (CSM).
When containers were first released, they were designed to be stateless and didn’t have persistent storage. However, as companies discovered the usefulness of containers and their use cases increased, it became apparent that they would need persistent storage. This discrepancy ultimately led to introducing two solutions: volume plugins, followed quickly by CSI-provided containers with another level of abstraction for storage.
The CSI driver is a software component that allows container orchestration systems like K8s to communicate with storage systems. It provides a standard API for creating, deleting, and managing storage volumes and data services, enabling storage providers to interoperate with various container orchestration systems.
Dell PowerStore – Container-Ready Storage
Dell has released a set of CSI drivers for its PowerFlex, PowerScale, Unity, PowerMax, and PowerStore series of storage devices. The diagram below shows how a Dell storage system can interface with K8s using CSI.
Dell’s CSI has proven to be very popular—for instance, the PowerScale CSI driver has had over five million downloads, and PowerStore has had 1.7 million downloads in just two years.
Dell PowerStore Container Storage Modules
While using CSIs is extremely powerful, enterprise users have come to expect enterprise storage features for their storage. With Dell’s release of Container Storage Modules (CSM), managing container storage has become considerably less complex.
In the case of Dell PowerStore, Dell CSM modules enable K8s applications to provide data services, such as group snapshots, thin clones, replication, encryption, and others. These features are supported for storage objects, including block and file over Fibre Channel, iSCSI, NVMe/TCP, and NFS protocols.
Dell CSM for PowerStore delivers on two fundamental tenets. First, application developers can manage common storage tasks through the K8s control plane, saving the need for the DevOps team to go to the storage administrator. Secondly, the DevOps team can access the performance and deep data services PowerStore offers without modifying current workflows. This ensures that storage administrators can deliver applications precisely as they need to meet SLAs.
Dell has open-sourced all of their CSM and CSI work, not just for PowerStore, but for many of their other storage systems on GitHub. Additionally, Dell has Ansible and Terraform provider modules that help users handle various tasks like storage provisioning, modifying storage configurations, and local/remote replication settings.
To ensure compatibility, Dell’s CSM has been validated to work with Amazon EKS, Mirantis, VMware Tanzu, SUSE Rancher, and other K8s and container orchestration platforms.
The CSM comprises multiple modules that enable capabilities that Dell enterprise customers have come to expect.
Dell PowerStore Container Storage Modules are updated regularly. To see all the currently supported modules, check out the project’s GitHub repository.
With that background laid out, let’s investigate the specifics around a few of these modules.
Dell PowerStore Container Storage Modules for Replication and Resiliency
CSM for Replication brings replication and disaster recovery capabilities of Dell PowerStore to an organization’s K8s clusters. It uses the native replication technology available on the PowerStore array to provide a way to restart applications in case of planned and unplanned migration. Replication is supported on stretched and replica K8s clusters, and the resilient feature is enabled in the helm chart when installing the CSM.
The resilience feature uses a pod monitor to protect stateful applications from various failures. It is designed to detect the following kinds of failures: Kubernetes node failures, control plane failures, and IO network failures. A node failure occurs when an event, such as a power failure, takes down an entire node. An IO network failure is detected by polling the array to see if it has a healthy connection to the node.
Currently, PowerStore Replication supports the following:
- Replicating data using native storage array-based replication
- Replicating asynchronous block volume
- Creating PersistentVolume objects in the cluster representing the replicated volume
- Creating DellCSIReplicationGroup objects in the cluster
- Creating DellCSIReplicationGroup objects in the clusterProvides via a command line utility, repctl, which is used for configuring & managing replication-related resources across multiple clusters
The repctl command is a CLI tool that helps with replication-related procedures across multiple K8s clusters.
To demonstrate how this works, we set up two storage arrays in our StorageReview lab: RT-D0355 and RT-D0338. We then ran repctl cluster list, and repctl list rg commands on the console, with the output listing the clusters and the replication groups.
Note that there are not any objects shown in the clusters.
When a K8s application is deployed, its backend storage will be deployed on both arrays. This can be seen using the command line.
Note that each node of the cluster has one object in it.
This can be viewed in the PowerStore web portal as well.
If a failover is instigated, this will be indicated as in progress.
This can be seen in the portal as well.
The repctl command is used to re-protect the objects as well.
The repctl command allows users to use the command line to interface with their storage programmatically. Dell has a document laying out various ways replication can be used for disaster recovery workflows.
Dell PowerStore Container Storage Modules for Observability
Dell’s open-source suite of K8s storage visibility and reporting tools is called CSM for Observability, which uses common open-source components frequently found in K8s deployments. It has an OpenTelemetry agent that collects array-level metrics for Dell PowerStore and places them into a Prometheus database. This allows K8s admins to collect array-level metrics to check the overall capacity and performance directly from the Prometheus/Grafana tools rather than interfacing directly with the storage system itself.
CSM for Observability allows for visibility into the capacity and performance of the volumes and file shares on PowerStore that are managed with Dell CSM CSI drivers. The module also includes pre-packaged Grafana dashboards to analyze historical metrics and see the topology between a K8s PV and its translation as a LUN or file share in the backend array.
It’s possible to deploy the CSI and CSM modules with Helm or by using CSI and CSM operators (tech preview for CSM).
Dell recognizes the position and continued importance that containers and K8s have in today’s modern data center. As such, Dell has added new features to the trusted line of PowerStore storage appliances to meet those needs. These features enable modern workloads to have many of the same storage features as traditional workloads. But Dell is not content to sit on its laurels; it continues to enable its CSI/CSM integration and will soon add Application Mobility (currently in Tech-preview), encryption, and volume placement modules to its offerings as well.
Of these, we find App mobility the most intriguing as it allows Kubernetes administrators to clone their stateful application workloads and application data to other clusters, either on-premise or in the cloud. Application Mobility uses Velero and its integration of Restic to copy both application metadata and data to object storage.
Dell’s work empowers application developers and DevOps teams to handle more provisioning and maintenance, thereby saving IT resources. IT teams know they’re providing the data services and performance apps teams need. A prime example of bringing enterprise-grade tools to K8s storage is its replication model, which allows data to be protected from storage objects automatically and from the command line like other K8s services.
Dell continues to be the leader in the K8s community and has built considerable credibility by integrating its storage with commonly used tools such as Grafana and Prometheus. Moreover, Dell is working with all the most popular K8s platforms (VMware Tanzu, EKS, etc.), which is essential in today’s multi-cloud world.
This report is sponsored by Dell Technologies. All views and opinions expressed in this report are based on our unbiased view of the product(s) under consideration.
Engage with StorageReview