Configure PowerMax CSI Backend¶
CSI driver for PowerMax is a part of the CSM open-source suite of Kubernetes storage enablers for Dell products. It is a CSI driver that provides support for provisioning persistent storage using Dell PowerMax storage array.
Note
By default, the csi-powermax chart is disabled. It is necessary to enable the chart and update user-overrides before applying the dell-storage application.
Enable CSI PowerMax Chart¶
Note
Disable any other CSI/CSM 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
Enable the chart.
(keystone_admin)$ system helm-chart-attribute-modify --enabled true dell-storage csi-powermax dell-storage
Create overrides to configure the storage connection.
:name: powermaxOverrides.yaml secret: username: <USERNAME> password: <PASSWORD> authorization: configs: - username: <USERNAME> password: <PASSWORD> intendedEndpoint: endpoint1 systemID: <SYSTEM_ID> isDefault: true global: managementServers: - endpoint: https://primary-1.unisphe.re:8443 credentialsSecret: primary-1-secret username: <USERNAME> password: <PASSWORD> skipCertificateValidation: true storageClasses: - name: "sc-0" SRP: "TEST" SYMID: "TEST1" ApplicationPrefix: "prefix1" HostLimitName: "1000" DynamicDistribution: "Optimized
Apply overrides.
(keystone_admin)$ system helm-override-update dell-storage csi-powermax dell-storage --values=powermaxOverrides.yaml
Apply the chart.
(keystone_admin)$ system application-apply dell-storage
UserOverrides Parameters¶
General Parameters¶
Parameter |
Description |
Required |
Default |
---|---|---|---|
csm.replication |
Enables/disables replication sidecar container. |
No |
false |
csm.authorization |
Enables/disables CSM authorization and sidecar container. |
No |
false |
app.starlingx.io/component |
Core affinity. |
No |
platform |
replication.replicationPrefix |
Change replication prefix. |
No |
replication.storage.dell.com |
controller.snapshot.deletionPolicy |
Specifies what happens when VolumeSnapshot is deleted. |
No |
Delete |
defaultFsType |
Default value for Filesystem type for mounted volumes. |
No |
ext4 |
certSecret |
Secret containing the certificate. |
No |
Not Applicable |
global.storageArrays |
This refers to the list of arrays managed by the driver and Reverse Proxy in StandAlone mode. |
Yes |
Not Applicable |
global.storageArrays[0].storageArrayId |
This refers to PowerMax Symmetrix ID. |
Yes |
Not Applicable |
global.storageArrays[0].endpoint |
This refers to the URL of the Unisphere server managing storageArrayId. |
Yes |
Not Applicable |
global.storageArrays[0].backupEndpoint |
This refers to the URL of the backup Unisphere server managing storageArrayId, if Reverse Proxy is installed in StandAlone mode. |
Yes |
Not Applicable |
StorageClasses Parameters¶
Parameter |
Description |
Required |
Default |
---|---|---|---|
storageClasses[0].name |
StorageClass name. |
Yes |
Not Applicable |
storageClasses[0].ServiceLevel |
Name of service level on PowerMax array that should be used for provisioning. |
No |
Optimized |
storageClasses[0].SRP |
Serial ID of the array that is used for provisioning. |
Yes |
Not Applicable |
storageClasses[0].SYMID |
Name of service level on PowerMax array that should be used for provisioning. |
No |
Not Applicable |
storageClasses[0].ApplicationPrefix |
Name of application to be used to group volumes. |
No |
Not Applicable |
storageClasses[0].HostLimitName |
HostLimitName uniquely identifies given set of limits on a storage class (max of 3 letters). |
No |
Not Applicable |
storageClasses[0].HostIOLimitMBSec |
The MBs per Second Host IO limit for the storage class. |
No |
Not Applicable |
storageClasses[0].HostIOLimitIOSec |
The IOs per Second Host IO limit for the storage class. |
No |
Not Applicable |
storageClasses[0].DynamicDistribution |
Distribution of the Host IO limits for the storage class. |
No |
Not Applicable |
storageClasses[0].nasServer |
NAS server’s name. Important: required for NFS protocol. |
No |
Not Applicable |
storageClasses[0].provisioner |
Driver name. |
No |
csi-powermax.dellemc.com |
storageClasses[0].fstype |
Filesystem type for mounted volumes. |
No |
$.Values.defaultFsType |
storageClasses[0].reclaimPolicy |
PVs that are dynamically created by a StorageClass will have the reclaim policy specified here. |
No |
Delete |
storageClasses[0].allowVolumeExpansion |
Allows the users to resize the volume by editing the corresponding PVC object. |
No |
true |
storageClasses[0].volumeBindingMode |
Controls when volume binding and dynamic provisioning should occur. |
No |
Immediate |
storageClasses[0].allowRoot |
Enables or disables root squashing (valid only for NFS). |
No |
Not Applicable |
storageClasses[0].mountOptions |
Specifies additional mount options when a persistent volume is being mounted on a node. |
No |
Not Applicable |
storageClasses[0].allowedTopologies |
This feature lets you specify sub-divisions of a cluster for a volume to be placed in. |
Yes |
Not Applicable |
storageClasses[0].replication |
Used to configure replication sidecar container. |
No |
Not Applicable |
storageClasses[0].replication.remoteStorageClassName |
Storage class name on remote cluster to create remote PV. |
No |
csi-powermax-replication |
storageClasses[0].replication.remoteClusterID |
ClusterID to which resources will get replicated. |
No |
Not Applicable |
storageClasses[0].replication.RemoteSRP |
Name of SRP on the remote array that should be used for provisioning. |
No |
Not Applicable |
storageClasses[0].replication.RemoteSYMID |
Serial ID of the remote array that is used for replication. |
No |
Not Applicable |
storageClasses[0].replication.RemoteServiceLevel |
Service Level on remote PowerMax array. |
No |
Not Applicable |
storageClasses[0].replication.RdfMode |
SRDF mode of the replication. |
No |
Not Applicable |
storageClasses[0].replication.RdfGroup |
Local SRDF group which protects using mode mentioned above. |
No |
Not Applicable |
storageClasses[0].replication.Bias |
Configure Bias for Metro mode. |
No |
Not Applicable |
storageClasses[0].replication.RemoteRDFGroup |
Remote SRDF Group which is bound with Local SRDF group. |
No |
Not Applicable |
Secret Parameters¶
Parameter |
Description |
Required |
Default |
---|---|---|---|
global.defaultSecret |
Used to configure default credential secrets values. |
Yes |
Not Applicable |
global.defaultSecret.username |
Username for connecting to REST API server. |
Yes |
Not Applicable |
global.defaultSecret.password |
Password for connecting to REST API server. |
Yes |
Not Applicable |
global.defaultSecret.chapsecret |
Secret that contains chap to authentication. |
No |
Not Applicable |
global.defaultSecret.managementServers |
A list of values to configure all credential secrets used. |
Yes |
[] |
global.defaultSecret.managementServers[0].credentialsSecret |
Secret name. |
No |
$.Release.Name -creds- $index |
global.defaultSecret.managementServers[0].username |
Username for connecting to REST API server. |
Yes |
Not Applicable |
global.defaultSecret.managementServers[0].password |
Password for connecting to REST API server. |
Yes |
Not Applicable |
global.defaultSecret.managementServers[0].chapsecret |
Secret that contains chap to authentication. |
No |
Not Applicable |
global.defaultSecret.managementServers[0].endpoint |
Endpoint to REST API server. |
Yes |
Not Applicable |
global.defaultSecret.managementServers[0].skipCertificateValidation |
Indicates if client side validation of server’s certificate can be skipped. |
Yes |
Not Applicable |
global.defaultSecret.managementServers[0].certSecret |
Secret containing the certificate. |
No |
Not Applicable |
global.defaultSecret.managementServers[0].limits |
This refers to various limits for Reverse Proxy. |
No |
Not Applicable |
global.defaultSecret.managementServers[0].limits.maxActiveRead |
This refers to the maximum concurrent READ request handled by the reverse proxy. |
No |
5 |
global.defaultSecret.managementServers[0].limits.maxActiveWrite |
This refers to the maximum concurrent WRITE request handled by the reverse proxy. |
No |
4 |
global.defaultSecret.managementServers[0].limits.maxOutStandingRead |
This refers to maximum queued READ request when reverse proxy receives more than maxActiveRead requests. |
No |
50 |
global.defaultSecret.managementServers[0].limits.maxOutStandingWrite |
This refers to maximum queued WRITE request when reverse proxy receives more than maxActiveWrite requests. |
No |
50 |