Dell Container Storage Modules 1.2 release

By on

The quarterly update for Dell CSI Drivers & Dell Container Storage Modules (CSM) is there !

CSM Features

New CSM operator!

The Dell Container Storage Modules (CSM) are modules that aim to add data services and features that are not in the scope of the CSI specification today. With an ever-growing ecosystem and added features, the deployment of a driver and affiliated modules needs to be carefully studied before beginning the deployment.

The new operator goals are to :

  • Be a one-stop-shop for all Dell CSI driver and Container Storage Modules deployment
  • Ease the install and upgrade operations
  • Leverage the Operator framework to give a clear status on the deployment of the resources
  • Be certified by RedHat Openshift

In the short/middle term, the CSM Operator will deprecate the experimental CSM Installer.

Replication support with PowerScale

For disaster recovery protection, PowerScale implements the data replication between appliances via the feature named SyncIQ.

The SyncIQ replicates the data between two sites, one being read-write while the other is read-only ; just like with different Dell storage backends with async or sync replication.

The role of the CSM replication module and underlying CSI driver will be to provision the volume within Kubernetes clusters and prepare the export configurations, quotas, etc..

The CSM Replication for PowerScale has been designed and implemented in such a way that it won’t collide with your existing Superna Eyeglass DR utility.

A live-action demo will be posted soon on : https://www.youtube.com/user/itzikreich/

CSI features

Across portfolio

This release gives for every driver the:

fsGroupPolicy support

Kubernetes v1.19 introduced the fsGroupPolicy to give more control to the CSI driver over the permission sets in the securityContext.

There are three possible options :

  • None ; which means the fsGroup directive from the securityContext will be ignored
  • File ; which means the fsGroup directive will be applied on the volume ; that is the default setting for NAS systems like PowerScale or Unity-File
  • ReadWriteOnceWithFSType ; which means the fsGroup directive will be applied on the volume if it has fsType defined and is ReadWriteOnce ; that is the default setting for block systems like PowerMax, PowerStore-Block, etc.

In all cases, Dell CSI drivers let kubelet do the change ownership operations and do not do it at the driver level.

Standalone Helm install

Drivers for PowerFlex and Unity can now be installed with the help of the install scripts we provide under dell-csi-installer directory.

Standalone helm chart helps to easily integrate it with the agent for Continuous Deployment like Flux or Argo CD.

Note that to ensure you install the driver on the supported Kubernetes version, the helm charts take advantage of the kubeVersion field. This field is clunky with Kubernetes distribution using labels in kubectl version (e.g. v1.21.3-mirantis-1, v1.20.7-eks-1-20-7).

Volume Health Monitoring support

Drivers for PowerFlex and Unity implement the Volume Health Monitoring.

That feature being in alpha in Q1-2022, is disabled by default.

Once enabled, the drivers will expose the standard storage metrics like capacity usage, inode usage, etc. through, the Kubernetes /metrics endpoint.

The metrics will flow natively in popular dashboards like the ones built-in Openshift Monitoring: Image

Pave the road for full opensource!

Every Dell Drivers and dependencies like gopowerstore, gobrick, and more are now all on Github and will be fully open-sourced.

The umbrella project is and remains https://github.com/dell/csm, from which you can open tickets, see the roadmap, etc.

Google Anthos 1.9

The partnership with Google continues, and the latest CSI drivers for PowerScale & PowerStore support Anthos v1.9.

NFSv4 POSIX and ACL support

Both CSI PowerScale and now PowerStore allows setting the default permission for the newly created volume.

You can use POSIX octal notation or ACL.

In PowerScale, you can use plain ACL or the built-in values like : private_read, private, public_read, public_read_write, public or custom ones; and in PowerStore you can use the custom ones like : A::OWNER@:RWX,A::GROUP@:RWX, A::OWNER@:rxtncy, etc.

Useful links

For more details you can :