Files
docs/doc/source/storage/kubernetes/configure-unity-xt-csi-backend-c1abbbd371dc.rst
Suzana Fernandes 3fec5e77a0 Update Starlingx Dell PowerStore CSM/CSI support documentation
Story: 2011308
Task: 52533

Change-Id: Icb6a2ec38c0ff7d1b1a2f48780895a415f6b2087
Signed-off-by: Suzana Fernandes <Suzana.Fernandes@windriver.com>
2025-09-09 19:15:32 +00:00

14 KiB

Configure Unity XT CSI Backend

driver for Unity XT is a part of the open-source suite of Kubernetes storage enablers for Dell products. It is a CSI driver that provides support for provisioning persistent storage using Dell Unity XT storage array.

Note

By default, the csi-unity chart is disabled. It is necessary to enable the chart and update user-overrides before applying the dell-storage application.

Enable CSI Unity Chart

Note

Disable any other / if not used/configured, otherwise it could cause the application to fail on apply.

~(keystone_admin)$ system helm-chart-attribute-modify --enabled false dell-storage <chart_name> dell-storage
  1. Enable the chart.

    ~(keystone_admin)$  system helm-chart-attribute-modify --enabled true dell-storage csi-unity dell-storage
  2. Create overrides to configure the storage connection.

    ~(keystone_admin)$ cat << EOF > /home/sysadmin/unityOverrides.yaml
     csm:
       resiliency: true
     labels:
       isApplication: false
     storageClasses:
     - name: unity-virt2307pjxdbt-nfs
       arrayId: <ARRAY_ID>
       nasServer: nas_2
       provisioner: csi-unity.dellemc.com
       fstype: nfs
       reclaimPolicy: Delete
       allowVolumeExpansion: true
       volumeBindingMode: Immediate
       mountOptions: ["hard"]
       hostIoSize: 8192
       tieringPolicy: 0
       isDataReductionEnabled: "false"
       thinProvisioned: "true"
       storagePool: pool_2
       protocol: NFS
       allowedTopologies:
         - matchLabelExpressions:
           - key: "csi-unity.dellemc.com/virt2307pjxdbt-nfs"
             values:
               - "true"
    
     secret:
       arrays:
       - arrayId: <ARRAY_ID>
         username: <USER>
         password: <PASSWORD>
         endpoint: https://<UNITY_ADDRESS>
         isDefault: true
         skipCertificateValidation: true
     EOF
  3. Apply overrides.

    ~(keystone_admin)$ system helm-override-update dell-storage csi-unity dell-storage --values=/home/sysadmin/unityOverrides.yaml
  4. Apply the chart.

    ~(keystone_admin)$ system application-apply dell-storage

UserOverrides Parameters

General Parameters

Parameter Description Required Default
csm.resiliency Enables/disables podmon sidecar container. No false
labels.isApplication If set to true it can run with application core affinity, otherwise it runs as platform. No false

StorageClasses Parameters

Parameter Description Required Default
storageClasses[0].hostIoSize Inserts Host IO size that is to be set for the filesystem. No 8192
storageClasses[0].name StorageClass name. No "unity-" + arrayId + "-" + protocol
storageClasses[0].mountOptions Defines mount input values. No []
storageClasses[0].provisioner Driver name. No csi-unity.dellemc.com
storageClasses[0].reclaimPolicy PVs that are dynamically created by a StorageClass will have the reclaim policy specified here. No Delete
storageClasses[0].volumeBindingMode Controls when volume binding and dynamic provisioning should occur. No Immediate
storageClasses[0].fstype Filesystem type for mounted volumes. No nfs
storageClasses[0].protocol Defines FC or FIBRE for FibreChannel, ISCSI, , or "" for auto selection. No
storageClasses[0].allowVolumeExpansion Allows the users to resize the volume by editing the corresponding object. No true
storageClasses[0].isDataReductionEnabled Defines Boolean to choose value of is DataReductionEnabled while creating a new volume. Type: string. No true
storageClasses[0].thinProvisioned Defines Boolean to choose value of thinProvisioned while creating a new volume. Type: string. No true
storageClasses[0].arrayId ID of array to be used for volumes. arrayID corresponding to array's globalID specified in secrets. Yes Not Applicable
storageClasses[0].nasServer server's name. Important: required for protocol. No Not Applicable
storageClasses[0].hostIOLimitName Insert Host IO Limit Name that is to be used for provisioning here. No Not Applicable
storageClasses[0].tieringPolicy Tiering policy to be used during provisioning. Requires FAST VP license. No Not Applicable
storageClasses[0].storagePool Defines storage pool. Value should be picked from the column labeled "CLI ID" of pools in the Unisphere GUI. Yes Not Applicable
storageClasses[0].allowedTopologies This feature lets you specify sub-divisions of a cluster for a volume to be placed in. No Not Applicable

Secret Parameters

Parameter Description Required Default
secret.arrays List of Unity XT. Yes Not Applicable
secret.arrays[0].arrayId Array ID of Unity XT. Yes Not Applicable
secret.arrays[0].username Username for connecting to Unity XT Unisphere REST API server. Yes Not Applicable
secret.arrays[0].password Password for connecting to Unity XT Unisphere REST API server. Yes Not Applicable
secret.arrays[0].endpoint HTTPS endpoint of the Unity XT Unisphere REST API server. Yes Not Applicable
secret.arrays[0].isDefault Treats current array as a default. Use at least one of the arrays as default. No false
secret.arrays[0].skipCertificateValidation Indicates if client side validation of server's certificate can be skipped. No true