FAQ / CSI Driver for PowerFlex (formely VxFlexOS)
To which CSI driver Unity version does this FAQ apply?
This FAQ applies to version 1.2.0 of the CSI Driver for PowerFlex available here :https://github.com/dell/csi-vxflexos/tree/v1.2.0
What's new with 1.2.0 ?
• Support for Kubernetes 1.19/1.18/1.17
• Support for Red Hat OpenShift 4.4 with RHEL worker nodes
• Support for Docker EE 3.1
• Support for RedHat Enterprise Linux 7.8 Host OS
• Support for CentOS Linux 7.6/7.7/7.8 Host OS
• Support for SLES Linux 15 Host OS
• Support for Online Volume Expansion
• Support for Topology
• Support for Raw Block Volumes
• New installation scripts
Which CSI version driver conforms to?
The driver works with Kubernetes 1.14 and 1.16 with the CSI specification 1.1. The CSI interface enabled
What are the supported features?
The following table lists the supported action to manage the lifecycle of a PowerFlex volume managed with the CSI driver.
|Action |Supported (version)| |---------------------------|-------------------| |Static Provisioning |yes | |Dynamic Provisioning |yes | |Binding |yes | |Retain Reclaiming |yes | |Delete Reclaiming |yes | |Recycle Reclaiming |no | |Expand Persistent Volume |yes | |Shrink Persistent Volume |no | |Create Snapshot Volume |yes | |Create Volume from Snapshot|yes | |Delete Snapshot |yes |
|CSI Volume Cloning |no |
|CSI Raw Block Volume |yes |
|CSI ephemeral volumes |no |
|Access Modes |ROW |
How do I access a different storage pool ?
It is possible to create multiple or different StorageClass in order to access different storage pool.
What are the known limitations?
The current implementation has a limitation on the number of snaps that can be taken (cf. Release Notes).
A single node can connect to only one PowerFlex gateway.
How do I set up the PowerFlex CSI driver?
The CSI driver can be installed with the installation scripts provided (with helm) or with the dell-csi-operator.
The operator is available directly from Openshift OperatorHub UI. For other distributions, you can download it from operatorhub.io.
The details of each installation methods are documented in the product guide
A video showing the Operator usage in context CSI Isilon is viewable here : (https://www.youtube.com/watch?v=l4z2tRqHnSg&list=PLbssOJyyvHuVXyKi0c9Z7NLqBiDiwF1eA&index=6)
How do I install the beta snapshot capability?
With the promotion of Volume Snapshot to beta, one significant change is the CSI external-snapshotter sidecar has been split into two controllers, a common snapshot controller and a CSI external-snapshotter sidecar.
The provided install script will :
- By default, install of the external-snaphotter for CSI PowerStore.
- Optionally, install the beta snapshot CRD when the option --snapshot-crd is set during the initial installation.
It is up to your Kubernetes distribution or you to deploy the common snapshotter controller.
How to uninstall the CSI driver?
With helm deployments, you can uninstall the driver with helm:
helm delete VXFLEX_RELEASE [--purge]
Or execute the script:
For Operator deployments you can run :
kubectl delete vxflexos/ -n
How to upgrade the CSI driver?
- If you come from an installation with helm v3 (i.e. from v1.1.5) :
- Run the csi-install.sh script with the same required arguments, along with a --upgrade argument:
cd ../dell-csi-helm-installer && ./csi-install.sh --namespace vxflexos --values ../helm/myvalues.yaml --upgrade
- If you come from an installation with helm v2 (i.e. earlier to v1.1.4). You have to uninstall then reinstall the driver with helm v3 :
- Uninstall the driver using the latest uninstall.vxflexos script
- Make sure helm binary point to helm v3
- Install the driver using the latest install.vxflexos script and the new myvalues.yaml file
- If you deployed with the dell-csi-operator :
- Edit with the Openshift UI or kubectl edit the CSIVXFlexOS image to image: "dellemc/csi-vxflexos:v1.2.0.000R"
What are the prerequisites for CSI drive installation?
To check your system complies with the pre-requisites, you can execute the script `sh verify.sh`
The exhaustive list of pre-requisites is given in the release notes.
Which k8s distributions are supported?
The supported versions are upstream Kubernetes 1.17, 1.18, 1.19 ; OpenShift 4.3 & 4.4 with RHEL nodes ; Docker EE 3.1
What operating systems are supported?
The supported OSes are Red Hat Enterprise Linux and CentOS versions 7.6, 7.7, 7.8 ; Ubuntu 18.04 and SLES 15.
How to troubleshoot the driver?
The driver can be troubleshooting using the usual `kubectl` commands as any other k8s pod/resources.
In particular, the driver logs can be check with: `kubectl logs -n vxflexos vxflexos-controller-0 driver`
Which driver version is installed?
helm list -c VXFLEX_RELEASE
Which SDC versions are supported?
The CSI Driver for PowerFlex has been tested against PowerFlex 3.0, and 3.5
Exhaustive details are given in the release notes https://github.com/dell/csi-vxflexos/blob/master/CSI%20Driver%20for%20VxFlex%20OS%20Release%20Notes.pdf
Where do I submit an issue against the driver?
The PowerFlex driver is officially supported by Dell EMC.
We encourage you to post questions and issues in this forum.
You could also open a ticket directly on the support website https://www.dell.com/support/
and also by phone.
Can I run this driver in the production environment?
Yes, the driver is production-grade. Please make sure your environment follows the pre-requisites and Kubernetes best practices.
How do I build the driver from the sources on GitHub?
The PowerFlex driver is implemented in golang. To build it from the source you can check out the code from: https://github.com/dell/csi-vxflexos/ and follow the instructions.
If you patched the driver and built, the easiest way to distribute it within your Kubernetes cluster is to patch the helm chart from: https://github.com/dell/csi-vxflexos/blob/master/helm/csi-vxflexos/Chart.yaml and follow the usual steps.
Why my volume instantiated size is 8Gb instead of the value I configured?
The minimum volume size value in PowerFlex is 8GB. For any persistent volume claim lower than 8Gb the created volume in PowerFlex will be 8Gb.
Do I need to have programming skills to use CSI driver?
To use the driver, you need to have basic knowledge around k8s administration (How to create a PV, How to use a Volume, etc.) and basic knowledge of PowerFlex administration (install the SDS client, configure the connectivity to the VxFlex Gateway, etc.).