docs/doc/source/storage/kubernetes/configure-unity-xt-csi-backend-c1abbbd371dc.rst
Ngairangbam Mili 35e126e210 Dell PowerStore CSM/CSI support
Story: 2010693
Task: 50902

Change-Id: I75bf7c15a7539e15c768a18c5069248aa4f9b5c7
Signed-off-by: Ngairangbam Mili <ngairangbam.mili@windriver.com>
2024-09-05 07:27:37 +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.

    :name: unityOverrides.yaml
    
     csm:
       resiliency: false
     app.starlingx.io/component: platform
    
     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
  3. Apply overrides.

    (keystone_admin)$ system helm-override-update dell-storage csi-unity dell-storage --values=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
app.starlingx.io/component Core Affinity. No platform

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