Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Resiliency Support for Powermax #1130

Merged
merged 1 commit into from
Jun 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions content/docs/deployment/csmoperator/modules/resiliency.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,14 @@ When utilizing CSM for Resiliency module, it is crucial to note that it will sol
```bash
kubectl get pods -A -l podmon.dellemc.com/driver=csi-vxflexos
```
Similarly, labels for for csi-powerscale, csi-unity, csi-powerstore and csi-powermax would be as:
```bash
podmon.dellemc.com/driver:csi-isilon
podmon.dellemc.com/driver:csi-unity
podmon.dellemc.com/driver:csi-powerstore
podmon.dellemc.com/driver:csi-powermax
```

```
NAMESPACE NAME READY STATUS RESTARTS AGE
pmtu1 podmontest-0 1/1 Running 0 3m7s
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ For information on the PowerScale CSI driver, see [PowerScale CSI Driver](https:

For information on the PowerStore CSI driver, see [PowerStore CSI Driver](https://github.com/dell/csi-powerstore).

For information on the PowerStore CSI driver, see [PowerMax CSI Driver](https://github.com/dell/csi-powermax).

Configure all the helm chart parameters described below before installing the drivers.

## Helm Chart Installation
Expand Down Expand Up @@ -194,6 +196,38 @@ podmon:
- "--ignoreVolumelessPods=false"
```

## PowerMax Specific Recommendations

Here is a typical installation used for testing:

```yaml
podmon:
enabled: false
controller:
args:
- "--csisock=unix:/var/run/csi/csi.sock"
- "--labelvalue=csi-powermax"
- "--arrayConnectivityPollRate=60"
- "--driverPath=csi-powermax.dellemc.com"
- "--mode=controller"
- "--skipArrayConnectionValidation=false"
- "--driver-config-params=/powermax-config-params/driver-config-params.yaml"
- "--driverPodLabelValue=dell-storage"
- "--ignoreVolumelessPods=false"

node:
args:
- "--csisock=unix:/var/lib/kubelet/plugins/powermax.emc.dell.com/csi_sock"
- "--labelvalue=csi-powermax"
- "--arrayConnectivityPollRate=60"
- "--driverPath=csi-powermax.dellemc.com"
- "--mode=node"
- "--leaderelection=false"
- "--driver-config-params=/powermax-config-params/driver-config-params.yaml"
- "--driverPodLabelValue=dell-storage"
- "--ignoreVolumelessPods=false"
```

## Dynamic parameters

CSM for Resiliency has configuration parameters that can be updated dynamically, such as the logging level and format. This can be
Expand Down
6 changes: 3 additions & 3 deletions content/docs/prerequisites/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ Container Storage Modules (CSM) does not officially support specific operating s
| [CSM Authorization](../authorization/) | Yes | Yes | No | Yes | No |
| [CSM Observability](../observability/) | Yes | Yes | No | Yes | Yes |
| [CSM Replication](../replication/) | Yes | Yes | No | Yes | Yes |
| [CSM Resiliency](../resiliency/) | No | Yes | Yes | Yes | Yes |
| [CSM Resiliency](../resiliency/) | Yes | Yes | Yes | Yes | Yes |
| [CSM Encryption](../secure/encryption/)| No | No | No | Yes | No |
| [CSM Application Mobility](../applicationmobility/) | Yes | Yes | Yes | Yes | Yes |
| [Volume Group Snapshot](../snapshots/volume-group-snapshots/) | No | Yes | No | No | Yes |
Expand All @@ -82,9 +82,9 @@ The table below lists the driver and modules versions installable with the CSM O
| CSI PowerStore | 2.10.0 | ❌ | ❌ | ❌ | ✔ 1.9.0 |
| CSI PowerStore | 2.9.0 | ❌ | ❌ | ❌ | ✔ 1.8.0 |
| CSI PowerStore | 2.8.0 | ❌ | ❌ | ❌ | ✔ 1.7.0 |
| CSI PowerMax | 2.10.0 | ✔ 1.10.0 | ✔ 1.8.0 | ✔ 1.8.0 | ❌ |
| CSI PowerMax | 2.11.0 | ✔ 1.11.0 | ✔ 1.9.0 | ✔ 1.9.0 | ✔ 1.10.0 |
| CSI PowerMax | 2.10.1 | ✔ 1.10.1 | ✔ 1.8.1 | ✔ 1.8.1 | ❌ |
| CSI PowerMax | 2.9.0 | ✔ 1.9.0 | ✔ 1.7.0 | ✔ 1.7.0 | ❌ |
| CSI PowerMax | 2.8.0 | ✔ 1.8.0 | ✔ 1.6.0 | ✔ 1.6.0 | ❌ |
| CSI Unity XT | 2.10.0 | ❌ | ❌ | ❌ | ❌ |
| CSI Unity XT | 2.9.0 | ❌ | ❌ | ❌ | ❌ |
| CSI Unity XT | 2.8.0 | ❌ | ❌ | ❌ | ❌ |
Expand Down
25 changes: 18 additions & 7 deletions content/docs/resiliency/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@ CSM for Resiliency provides the following capabilities:
{{<table "table table-striped table-bordered table-sm">}}
| Capability | PowerScale | Unity XT | PowerStore | PowerFlex | PowerMax |
| --------------------------------------- | :--------: | :------: | :--------: | :-------: | :------: |
| Detect pod failures when: Node failure, K8S Control Plane Network failure, K8S Control Plane failure, Array I/O Network failure | yes | yes | yes | yes | no |
| Cleanup pod artifacts from failed nodes | yes | yes | yes | yes | no |
| Revoke PV access from failed nodes | yes | yes | yes | yes | no |
| Detect pod failures when: Node failure, K8S Control Plane Network failure, K8S Control Plane failure, Array I/O Network failure | yes | yes | yes | yes | yes |
| Cleanup pod artifacts from failed nodes | yes | yes | yes | yes | yes |
| Revoke PV access from failed nodes | yes | yes | yes | yes | yes |
{{</table>}}

## Supported Operating Systems/Container Orchestrator Platforms
Expand All @@ -48,9 +48,9 @@ CSM for Resiliency provides the following capabilities:
## Supported Storage Platforms

{{<table "table table-striped table-bordered table-sm">}}
| | PowerFlex | Unity XT | PowerScale | PowerStore |
| ------------- | :----------: | :-------------------------------: | :-------------------------------------: | :---------------------------: |
| Storage Array | 3.6.x, 4.0.x, 4.5 | 5.1.x, 5.2.x, 5.3.0 | OneFS 9.3, 9.4, 9.5.0.x (x >= 5) | 3.0, 3.2, 3.5, 3.6 |
| | PowerFlex | Unity XT | PowerScale | PowerStore | PowerMax |
| ------------- | :----------: | :-------------------------------: | :-------------------------------------: | :---------------------------: | :---------------------------: |
| Storage Array | 3.6.x, 4.0.x, 4.5 | 5.1.x, 5.2.x, 5.3.0 | OneFS 9.3, 9.4, 9.5.0.x (x >= 5) | 3.0, 3.2, 3.5, 3.6 | 2500/8500 PowerMax OS 10 (6079), Unisphere 10.x |
{{</table>}}

## Supported CSI Drivers
Expand All @@ -63,6 +63,7 @@ CSM for Resiliency supports the following CSI drivers and versions.
| CSI Driver for Dell Unity XT | [csi-unity](https://github.com/dell/csi-unity) | v2.0.0 + |
| CSI Driver for Dell PowerScale | [csi-powerscale](https://github.com/dell/csi-powerscale) | v2.3.0 + |
| CSI Driver for Dell PowerStore | [csi-powerstore](https://github.com/dell/csi-powerstore) | v2.6.0 + |
| CSI Driver for Dell PowerMax | [csi-powermax](https://github.com/dell/csi-powermax) | v2.11.0 + |
{{</table>}}

### PowerFlex Support
Expand Down Expand Up @@ -102,6 +103,14 @@ PowerStore is a highly scalable array that is very well suited to Kubernetes dep
* A robust mechanism to detect if Nodes are actively doing I/O to volumes.
* Low latency REST API supports fast CSI provisioning and de-provisioning operations.

### PowerMax Support

PowerMax is the highest performing block storage array that is very well suited to Kubernetes deployments. The CSM for Resiliency support for PowerMax leverages the following PowerMax features:

* Detection of Array I/O Network Connectivity status changes.
* A robust mechanism to detect if Nodes are actively doing I/O to volumes.
* Low latency REST API supports fast CSI provisioning and de-provisioning operations.

## Limitations and Exclusions

This file contains information on Limitations and Exclusions that users should be aware of. Additionally, there are driver specific limitations and exclusions that may be called out in the [Deploying CSM for Resiliency](../deployment/helm/modules/installation/resiliency/) page.
Expand Down Expand Up @@ -161,10 +170,12 @@ pmtu3 podmontest-0 1/1 Running 0 3m6s

CSM for Resiliency may also generate events if it is unable to clean up a pod for some reason. For example, it may not clean up a pod because the pod is still doing I/O to the array.

Similarly, the label selector for csi-powerscale and csi-unity would be as shown respectively.
Similarly, the label selector for csi-powerscale, csi-unity, csi-powerstore and csi-powermax would be as shown respectively.
```yaml
labelSelector: {map[podmon.dellemc.com/driver:csi-isilon]
labelSelector: {map[podmon.dellemc.com/driver:csi-unity]
labelSelector: {map[podmon.dellemc.com/driver:csi-powerstore]
labelSelector: {map[podmon.dellemc.com/driver:csi-powermax]
```

#### Important
Expand Down
Loading