From 6345f420f818d51e77994b7344b214f465b13b3a Mon Sep 17 00:00:00 2001 From: Sidharth Sharma Date: Tue, 4 Mar 2025 06:54:33 +0000 Subject: [PATCH 1/4] Update Powermax and Unity Prerequisite(Openshift) --- .../openshift/powermax/prerequisite/_index.md | 564 ++++++++++-------- .../openshift/unityxt/prerequisite/_index.md | 270 ++++++++- 2 files changed, 555 insertions(+), 279 deletions(-) diff --git a/content/docs/getting-started/installation/openshift/powermax/prerequisite/_index.md b/content/docs/getting-started/installation/openshift/powermax/prerequisite/_index.md index 9aa973e187..40acc8763c 100644 --- a/content/docs/getting-started/installation/openshift/powermax/prerequisite/_index.md +++ b/content/docs/getting-started/installation/openshift/powermax/prerequisite/_index.md @@ -37,7 +37,7 @@ openssl x509 -req -in tls.csr -signkey tls.key -out tls.crt -days 3650 -extensio kubectl create secret -n tls csirevproxy-tls-secret --cert=tls.crt --key=tls.key ``` {{< tabpane text=true lang="en" >}} -{{% tab header="Fibre Channel" lang="en" %}} +{{% tab header="Fibre Channel" lang="en" %}} ### Fibre Channel Requirements The following requirements must be fulfilled in order to successfully use the Fiber Channel protocol with the CSI PowerMax driver: @@ -45,134 +45,340 @@ The following requirements must be fulfilled in order to successfully use the Fi - Zoning of the Host Bus Adapters (HBAs) to the Fibre Channel port director must be completed. - Ensure that the HBA WWNs (initiators) appear on the list of initiators that are logged into the array. - If the number of volumes that will be published to nodes is high, then configure the maximum number of LUNs for your HBAs on each node. See the appropriate HBA document to configure the maximum number of LUNs. -{{% /tab %}} - - -{{% tab header="iSCSI" lang="en" %}} - -### iSCSI Requirements - -The following requirements must be fulfilled in order to successfully use the iSCSI protocol with the CSI PowerMax driver. -- Ensure that the necessary iSCSI initiator utilities are installed on each Kubernetes worker node. This typically includes the _iscsi-initiator-utils_ package for RHEL. -- Ensure that the unique initiator name is set in _/etc/iscsi/initiatorname.iscsi_. -- To configure iSCSI in Red Hat OpenShift clusters, you can create a `MachineConfig` object using the console or `oc` to ensure that the iSCSI daemon starts on all the Red Hat CoreOS nodes. Here is an example of a `MachineConfig` object: -```yaml -apiVersion: machineconfiguration.openshift.io/v1 -kind: MachineConfig -metadata: - name: 99-iscsid - labels: - machineconfiguration.openshift.io/role: worker -spec: - config: - ignition: - version: 3.4.0 - systemd: - units: - - name: "iscsid.service" - enabled: true -``` - -Once the `MachineConfig` object has been deployed, CoreOS will ensure that the `iscsid.service` starts automatically. You can check the status of the iSCSI service by entering the following command on each worker node in the cluster: `sudo systemctl status iscsid`. + 1. Complete the zoning of each host with the PowerMax Storage Array. Please refer the Host Connectivity Guide for the guidelines when setting a Fibre Channel SAN infrastructure. +
+ + 2. Verify the initiators of each host are logged in to the PowerMax Storage Array. CSM will perform the Host Registration of each host with the PowerMax Array. + +
+ + 3. Multipathing software configuration + + + a. Configure Device Mapper MPIO for PowerMax FC connectivity + + Use this command to create the machine configuration to configure the DM-MPIO service on all the worker hosts for FC connectivity. + ```bash + oc apply -f 99-workers-multipath-conf.yaml + ``` +
+ + Example: + ```yaml + cat < multipath.conf + defaults { + polling_interval 5 + checker_timeout 15 + disable_changed_wwids yes + find_multipaths no + } + devices { + device { + vendor DellEMC + product PowerMax + detect_prio "yes" + path_selector "queue-length 0" + path_grouping_policy "group_by_prio" + path_checker tur + failback immediate + fast_io_fail_tmo 5 + no_path_retry 3 + rr_min_io_rq 1 + max_sectors_kb 1024 + dev_loss_tmo 10 + } + } + EOF + ``` +
+
+ + ```yaml + cat < 99-workers-multipath-conf.yaml + apiVersion: machineconfiguration.openshift.io/v1 + kind: MachineConfig + metadata: + name: 99-workers-multipath-conf + labels: + machineconfiguration.openshift.io/role: worker + spec: + config: + ignition: + version: 3.4.0 + storage: + files: + - contents: + source: data:text/plain;charset=utf-8;base64,$(cat multipath.conf | base64 -w0) + verification: {} + filesystem: root + mode: 400 + path: /etc/multipath.conf + EOF + ``` + +
+
+ + b. Enable Linux Device Mapper MPIO + + Use this command to create the machine configuration to enable the DM-MPIO service on all the worker host + + ```bash + oc apply -f 99-workers-enable-multipathd.yaml + ``` + +
+ + ```yaml + cat << EOF > 99-workers-enable-multipathd.yaml + apiVersion: machineconfiguration.openshift.io/v1 + kind: MachineConfig + metadata: + name: 99-workers-enable-multipathd.yaml + labels: + machineconfiguration.openshift.io/role: worker + spec: + config: + ignition: + version: 3.4.0 + systemd: + units: + - name: "multipathd.service" + enabled: true + EOF + ``` + + + +
-- Ensure that the iSCSI initiators are available on all the nodes where the driver node plugin will be installed. -- Ensure that the unique initiator name is set in _/etc/iscsi/initiatorname.iscsi_. -- If your worker nodes are running Red Hat CoreOS, make sure that automatic iSCSI login at boot is configured. Please contact RedHat for more details. -- Kubernetes nodes must have network connectivity to an iSCSI director on the Dell PowerMax array that has IP interfaces. Manually create IP routes for each node that connects to the Dell PowerMax if required. -- Ensure that the iSCSI initiators on the nodes are not a part of any existing Host (Initiator Group) on the Dell PowerMax array. -- The CSI Driver needs the port group name containing the required iSCSI director ports. These port groups must be set up on each Dell PowerMax array. All the port group names supplied to the driver must exist on each Dell PowerMax with the same name. -Refer to the [Dell Host Connectivity Guide](https://elabnavigator.dell.com/vault/pdf/Linux.pdf) for more information. {{% /tab %}} -{{% tab header="NVMe" lang="en" %}} - -### NVMe Requirements - -The following requirements must be fulfilled in order to successfully use the NVMe/TCP protocols with the CSI PowerMax driver: - -- Modules including the nvme, nvme_core, nvme_fabrics, and nvme_tcp are required for using NVMe over Fabrics using TCP. Load the NVMe and NVMe-OF Modules using the below commands: -```bash -modprobe nvme -modprobe nvme_tcp -``` -- The NVMe modules may not be available after a node reboot. Loading the modules at startup is recommended. - -> Starting with OCP 4.14 NVMe/TCP is enabled by default on RCOS nodes. - - -**Cluster requirements** - -- All OpenShift or Kubernetes nodes connecting to Dell storage arrays must use unique host NQNs. -- The driver requires the NVMe command-line interface (nvme-cli) to manage the NVMe clients and targets. The NVMe CLI tool is installed in the host using the following command on RPM oriented Linux distributions. - -```bash -sudo dnf -y install nvme-cli -``` - -- Support for NVMe requires native NVMe multipathing to be configured on each worker node in the cluster. Please refer to the [Dell Host Connectivity Guide](https://elabnavigator.dell.com/vault/pdf/Linux.pdf) for more details on NVMe multipathing requirements. To determine if the worker nodes are configured for native NVMe multipathing run the following command on each worker node: - -```bash -cat /sys/module/nvme_core/parameters/multipath -``` +{{% tab header="iSCSI" lang="en" %}} - >If the result of the command displays Y then NVMe native multipathing is enabled in the kernel. If the output is N then native NVMe multipating is disabled. Consult the [Dell Host Connectivity Guide](https://elabnavigator.dell.com/vault/pdf/Linux.pdf) for Linux to enable native NVMe multipathing. +1. Complete the iSCSI network configuration to connect the hosts with the PowerMax Storage array. Please refer the [host connectivity guide](https://elabnavigator.dell.com/vault/pdf/Linux.pdf) for the best practices for attaching the hosts to a PowerMax storage array. +
+2. Verify the initiators of each host are logged in to the PowerMax Storage Array. CSM will perform the Host Registration of each host with the PowerMax Array. +
+3. Enable iSCSI service +
+ + Use this command to create the machine configuration to enable the iscsid service. + ```bash + oc apply -f 99-workers-enable-iscsid.yaml + ``` + +
+ + Example: + ```yaml + cat < 99-workers-enable-iscsid.yaml + apiVersion: machineconfiguration.openshift.io/v1 + kind: MachineConfig + metadata: + name: 99-workers-enable-iscsid + labels: + machineconfiguration.openshift.io/role: worker + spec: + config: + ignition: + version: 3.4.0 + systemd: + units: + - name: "iscsid.service" + enabled: true + ``` +
-**Configure the IO policy** +4. Multipathing software configuration + + + a. Configure Device Mapper MPIO for PowerMax FC connectivity -- The default NVMeTCP native multipathing policy is "numa". The preferred IO policy for NVMe devices used for PowerMax is round-robin. You can use udev rules to enable the round robin policy on all worker nodes. To view the IO policy you can use the following command: + Use this command to create the machine configuration to configure the DM-MPIO service on all the worker hosts for FC connectivity. -```bash -nvme list-subsys -``` + ```bash + oc apply -f 99-workers-multipath-conf.yaml + ``` +
+ + ```yaml + cat < multipath.conf + defaults { + polling_interval 5 + checker_timeout 15 + disable_changed_wwids yes + find_multipaths no + } + devices { + device { + vendor DellEMC + product PowerMax + detect_prio "yes" + path_selector "queue-length 0" + path_grouping_policy "group_by_prio" + path_checker tur + failback immediate + fast_io_fail_tmo 5 + no_path_retry 3 + rr_min_io_rq 1 + max_sectors_kb 1024 + dev_loss_tmo 10 + } + } + EOF + ``` + +
+ + ```yaml + cat < 99-workers-multipath-conf.yaml + apiVersion: machineconfiguration.openshift.io/v1 + kind: MachineConfig + metadata: + name: 99-workers-multipath-conf + labels: + machineconfiguration.openshift.io/role: worker + spec: + config: + ignition: + version: 3.4.0 + storage: + files: + - contents: + source: data:text/plain;charset=utf-8;base64,$(cat multipath.conf | base64 -w0) + verification: {} + filesystem: root + mode: 400 + path: /etc/multipath.conf + EOF + ``` + +
+
+ + b. Enable Linux Device Mapper MPIO + + Use this command to create the machine configuration to enable the DM-MPIO service on all the worker host + + ```bash + oc apply -f 99-workers-enable-multipathd.yaml + ``` + +
+ + ```yaml + cat << EOF > 99-workers-enable-multipathd.yaml + apiVersion: machineconfiguration.openshift.io/v1 + kind: MachineConfig + metadata: + name: 99-workers-enable-multipathd.yaml + labels: + machineconfiguration.openshift.io/role: worker + spec: + config: + ignition: + version: 3.4.0 + systemd: + units: + - name: "multipathd.service" + enabled: true + EOF + ``` + + + +
-To change the IO policy to round-robin you can add a udev rule on each worker node. Place a config file in /etc/udev/rules.d with the name 71-nvme-io-policy.rules with the following contents: +{{% /tab %}} -```text -ACTION=="add|change", SUBSYSTEM=="nvme-subsystem", ATTR{iopolicy}="round-robin" -``` -In order to change the rules on a running kernel you can run the following commands: -```bash -/sbin/udevadm control --reload-rules -/sbin/udevadm trigger --type=devices --action=change -``` +{{% tab header="NVMeFC" lang="en" %}} -On OCP clusters you can add a MachineConfig to enable this rule on all worker nodes: -```yaml -apiVersion: machineconfiguration.openshift.io/v1 -kind: MachineConfig -metadata: - name: 99-workers-multipath-round-robin - labels: - machineconfiguration.openshift.io/role: worker -spec: - config: - ignition: - version: 3.4.0 - storage: - files: - - contents: - source: data:text/plain;charset=utf-8;base64,QUNUSU9OPT0iYWRkfGNoYW5nZSIsIFNVQlNZU1RFTT09Im52bWUtc3Vic3lzdGVtIiwgQVRUUntpb3BvbGljeX09InJvdW5kLXJvYmluIg== - verification: {} - filesystem: root - mode: 420 - path: /etc/udev/rules.d/71-nvme-io-policy.rules -``` +1. Complete the zoning of each host with the PowerMax Storage Array. Please refer the Host Connectivity Guide for the guidelines when setting a Fibre Channel SAN infrastructure. + +
-**Array requirements** +2. Verify the initiators of each host are logged in to the PowerMax Storage Array. CSM will perform the Host Registration of each host with the PowerMax Array. -Once the NVMe endpoint is created on the array, follow the following steps to update the endpoint name to adhere to the CSI driver requirements. +
- - Run ```nvme discover --transport=tcp --traddr= --trsvcid=4420```. is the placeholder for actual IP address of NVMe Endpoint. - - Fetch the _subnqn_, for e.g., _nqn.1988-11.com.dell:PowerMax_2500:00:000120001100_, this will be used as the subnqn holder while updating NVMe endpoint name. - - Update the NVMe endpoint name as ```:>```. Here is an example how it should look, _nqn.1988-11.com.dell:PowerMax_2500:00:000120001100:OR1C000_ -{{% /tab %}} +3. Multipathing software configuration + + + ```yaml + cat < 71-nvmf-iopolicy-dell.rules + ACTION=="add", SUBSYSTEM=="nvme-subsystem", ATTR{model}=="dellemc-powermax",ATTR{iopolicy}="round-robin" + ``` +
+
+ + ```yaml + cat < 99-workers-multipath-round-robin.yaml + apiVersion: machineconfiguration.openshift.io/v1 + kind: MachineConfig + metadata: + name: 99-workers-multipath-round-robin + labels: + machineconfiguration.openshift.io/role: worker + spec: + config: + ignition: + version: 3.4.0 + storage: + files: + - contents: + source: data:text/plain;charset=utf-8;base64,$(cat 71-nvmf-iopolicy-dell.rules | base64 -w0) + verification: {} + filesystem: root + mode: 420 + path: /etc/udev/rules.d/71-nvme-io-policy.rules + + ``` +
+ +4. Configure NVMe reconnecting forever + + + ```yaml + cat < 72-nvmf-ctrl_loss_tmo.rules + ACTION=="add|change", SUBSYSTEM=="nvme", KERNEL=="nvme*", ATTR{ctrl_loss_tmo}="-1" + ``` + +
+ + ```yaml + cat < 99-nvmf-ctrl-loss-tmo.yaml + apiVersion: machineconfiguration.openshift.io/v1 + kind: MachineConfig + metadata: + name: 99-nvmf-ctrl-loss-tmo + labels: + machineconfiguration.openshift.io/role: worker + spec: + config: + ignition: + version: 3.4.0 + storage: + files: + - contents: + source: data:text/plain;charset=utf-8;base64,(cat 72-nvmf-ctrl_loss_tmo.rules | base64 -w0) + verification: {} + filesystem: root + mode: 420 + path: /etc/udev/rules.d/72-nvmf-ctrl_loss_tmo.rules + ``` + +{{% /tab %}} + +{{% tab header="NVMeTCP" lang="en" %}} +{{% /tab %}} {{% tab header="NFS" lang="en" %}} @@ -185,145 +391,6 @@ CSI Driver for Dell PowerMax supports NFS communication. Ensure that the followi {{% /tab %}} {{< /tabpane >}} -Choose your multipathing software between [Multipath](#linux-multipathing-requirements) & [PowerPath](#powerpath-for-linux-requirements) - -{{< tabpane text=true lang="en" >}} -{{< tab header="Linux Multipathing" lang="en" >}} -{{< markdownify >}} - - -### Linux Multipathing Requirements - - Configure Linux multipathing before installing the CSI Driver. - Supported Multipathing - - Dell PowerMax supports Linux multipathing (DM-MPIO) and NVMe native multipathing. - - Configure Linux multipathing before installing the CSI Driver. - - -{{< /markdownify >}} - - -{{< collapse id="1" title="NVMe" >}} For NVMe connectivity native NVMe multipathing is used. Refer [Dell Technologies Host Connectivity](https://elabnavigator.dell.com/vault/pdf/Linux.pdf#page=209) Linux Guide for more details.{{< /collapse >}} -
-{{< collapse id="2" title="FC/iSCSI" >}} - -1. Configuration steps: - - - Install the Device Mapper Multipathing package on all nodes: - - `dnf install device-mapper-multipath` - - Ensure the `mpathconf` command is available on all Kubernetes nodes. - - Enable multipathing: `mpathconf --enable --with_multipathd y` - - Edit `/etc/multipath.conf` to enable `user_friendly_names` and `find_multipaths`. - -
- -2. Best Practices - - Use these options in multipath.conf for efficient path detection: - - ```text - path_grouping_policy multibus - path_checker tur - features "1 queue_if_no_path" - path_selector "round-robin 0" - no_path_retry 10 - ``` -
-The following is a sample multipath.conf file. You may have to adjust these values based on your environment. - -```text -defaults { - user_friendly_names yes - find_multipaths yes - path_grouping_policy multibus - path_checker tur - features "1 queue_if_no_path" - path_selector "round-robin 0" - no_path_retry 10 -} - blacklist { -} -``` - -On some distributions the multipathd service for changes to the configuration and dynamically reconfigures itself. If you need to manually trigger a reload you can run the following command: -`sudo systemctl reload multipathd` - -To enable multipathd on RedHat CoreOS nodes you need to prepare a working configuration encoded in base64. For example you can run the following command to encode the above multipath.config file. - -```text -echo 'defaults { - user_friendly_names yes - find_multipaths yes - path_grouping_policy multibus - path_checker tur - features "1 queue_if_no_path" - path_selector "round-robin 0" - no_path_retry 10 -} - blacklist { -}' | base64 -w0 -``` - -The output of the above command follows: -```text -ZGVmYXVsdHMgewogIHVzZXJfZnJpZW5kbHlfbmFtZXMgeWVzCiAgZmluZF9tdWx0aXBhdGhzIHllcwogIHBhdGhfZ3JvdXBpbmdfcG9saWN5IG11bHRpYnVzCiAgcGF0aF9jaGVja2VyIHR1cgogIGZlYXR1cmVzICIxIHF1ZXVlX2lmX25vX3BhdGgiCiAgcGF0aF9zZWxlY3RvciAicm91bmQtcm9iaW4gMCIKICBub19wYXRoX3JldHJ5IDEwCn0KICBibGFja2xpc3Qgewp9Cg== -``` - -Use the base64 encoded string output in the following `MachineConfig` yaml file (under source section) - -```yaml -apiVersion: machineconfiguration.openshift.io/v1 -kind: MachineConfig -metadata: - name: 99-workers-multipath-conf-default - labels: - machineconfiguration.openshift.io/role: worker -spec: - config: - ignition: - version: 3.4.0 - storage: - files: - - contents: - source: data:text/plain;charset=utf-8;base64,ZGVmYXVsdHMgewogIHVzZXJfZnJpZW5kbHlfbmFtZXMgeWVzCiAgZmluZF9tdWx0aXBhdGhzIHllcwogIHBhdGhfZ3JvdXBpbmdfcG9saWN5IG11bHRpYnVzCiAgcGF0aF9jaGVja2VyIHR1cgogIGZlYXR1cmVzICIxIHF1ZXVlX2lmX25vX3BhdGgiCiAgcGF0aF9zZWxlY3RvciAicm91bmQtcm9iaW4gMCIKICBub19wYXRoX3JldHJ5IDEwCn0KICBibGFja2xpc3Qgewp9Cg== - verification: {} - filesystem: root - mode: 400 - path: /etc/multipath.conf -``` - -After deploying this`MachineConfig` object, CoreOS will start the multipath service automatically. -Alternatively, you can check the status of the multipath service by running the following command on each worker node. -`sudo multipath -ll` - -Refer to the [Dell Host Connectivity Guide](https://elabnavigator.dell.com/vault/pdf/Linux.pdf) for more information. - -{{< /collapse >}} - -{{< markdownify >}} - -{{< /markdownify >}} -{{< /tab >}} -{{% tab header="PowerPath" lang="en" %}} - -### PowerPath for Linux requirements - -The CSI Driver for Dell PowerMax supports PowerPath for Linux. Configure Linux PowerPath before installing the CSI Driver. - -Follow this procedure to set up PowerPath for Linux: - -- All the nodes must have the PowerPath package installed . Download the PowerPath archive for the environment from [Dell Online Support](https://www.dell.com/support/home/en-in/product-support/product/powerpath-for-linux/drivers). -- `Untar` the PowerPath archive, Copy the RPM package into a temporary folder and Install PowerPath using `rpm -ivh DellEMCPower.LINUX--..x86_64.rpm` -- Start the PowerPath service using `systemctl start PowerPath` - ->Note: Do not install Dell PowerPath if multi-path software is already installed, as they cannot co-exist with native multi-path software. -{{% /tab %}} - - - -{{< /tabpane >}} - - ### Replication Requirements (Optional) Applicable only if you decided to enable the Replication feature in `my-powermax-settings.yaml` @@ -337,4 +404,3 @@ replication: The CRDs for replication can be obtained and installed from the csm-replication project on Github. Use `csm-replication/deploy/replicationcrds.all.yaml` located in the csm-replication git repo for the installation. CRDs should be configured during replication prepare stage with repctl as described in [install-repctl](../../../../../getting-started/installation/kubernetes/powermax/helm/csm-modules/replication/install-repctl/) - diff --git a/content/docs/getting-started/installation/openshift/unityxt/prerequisite/_index.md b/content/docs/getting-started/installation/openshift/unityxt/prerequisite/_index.md index a6993b0350..00f943a0b3 100644 --- a/content/docs/getting-started/installation/openshift/unityxt/prerequisite/_index.md +++ b/content/docs/getting-started/installation/openshift/unityxt/prerequisite/_index.md @@ -13,44 +13,254 @@ Before you install CSI Driver for Unity XT, verify the requirements that are men * Install Kubernetes or OpenShift (see [supported versions](../../../../../concepts/csidriver/#features-and-capabilities)) * To use FC protocol, the host must be zoned with Unity XT array and Multipath needs to be configured * To use iSCSI protocol, iSCSI initiator utils packages needs to be installed and Multipath needs to be configured -* To use NFS protocol, NFS utility packages needs to be installed -* Mount propagation is enabled on container runtime that is being used +* To use NFS protocol, there is no prerequisite on Openshift -### Fibre Channel requirements +{{< tabpane text=true lang="en" >}} +{{% tab header="FC" lang="en" %}} -Unity XT supports Fibre Channel communication. If you use the Fibre Channel protocol, ensure that the -following requirement is met before you install the CSI Driver for Unity XT: -- Zoning of the Host Bus Adapters (HBAs) to the Fibre Channel port must be done. +1. Complete the zoning of each host with the Unity Storage Array. Please refer the Host Connectivity Guide for the guidelines when setting a Fibre Channel SAN infrastructure. +
-### Set up the iSCSI Initiator +2. Verify the initiators of each host are logged in to the Unity Storage Array. CSM will perform the Host Registration of each host with the Unity Array. -The CSI Driver for Unity XT supports iSCSI connectivity. +
-If you use the iSCSI protocol, set up the iSCSI initiators as follows: -- Ensure that each Kubernetes worker node has network connectivity to an iSCSI port on the Unity XT array, allowing access via IP interfaces. Manually create the necessary IP routes. -- Ensure that the necessary iSCSI initiator utilities are installed on each Kubernetes worker node. This typically includes the _iscsi-initiator-utils_ package for RHEL or _open-iscsi_ package for Ubuntu. -- Enable and start the _iscsid_ service on each Kubernetes worker node. This service is responsible for managing the iSCSI initiator. You can enable the service by running the following command on all worker nodes: `systemctl enable --now iscsid` -- Ensure that the unique initiator name is set in _/etc/iscsi/initiatorname.iscsi_. +3. Multipathing software configuration + + + a. Configure Device Mapper MPIO for Unity FC connectivity -For more information about configuring iSCSI, seeĀ [Dell Host Connectivity guide](https://www.delltechnologies.com/asset/en-us/products/storage/technical-support/docu5128.pdf). + Use this command to create the machine configuration to configure the DM-MPIO service on all the worker hosts for FC connectivity. + ```bash + oc apply -f 99-workers-multipath-conf.yaml + ``` +
-### Linux multipathing requirements + Example: + ```yaml + cat < multipath.conf + defaults { + polling_interval 5 + checker_timeout 15 + disable_changed_wwids yes + find_multipaths no + } + devices { + device { + vendor DellEMC + product Unity + detect_prio "yes" + path_selector "queue-length 0" + path_grouping_policy "group_by_prio" + path_checker tur + failback immediate + fast_io_fail_tmo 5 + no_path_retry 3 + rr_min_io_rq 1 + max_sectors_kb 1024 + dev_loss_tmo 10 + } + } + EOF + ``` +
+
-Unity XT supports Linux multipathing. Configure Linux multipathing before installing the CSI Driver for Unity XT. + ```yaml + cat < 99-workers-multipath-conf.yaml + apiVersion: machineconfiguration.openshift.io/v1 + kind: MachineConfig + metadata: + name: 99-workers-multipath-conf + labels: + machineconfiguration.openshift.io/role: worker + spec: + config: + ignition: + version: 3.4.0 + storage: + files: + - contents: + source: data:text/plain;charset=utf-8;base64,$(cat multipath.conf | base64 -w0) + verification: {} + filesystem: root + mode: 400 + path: /etc/multipath.conf + EOF + ``` -Set up Linux multipathing as follows: -- Ensure that all nodes have the _Device Mapper Multipathing_ package installed. -> You can install it by running `yum install device-mapper-multipath` on RHEL or `apt install multipath-tools` on Ubuntu. This package should create a multipath configuration file located in `/etc/multipath.conf`. -- Enable multipathing using the `mpathconf --enable --with_multipathd y` command. -- Enable `user_friendly_names` and `find_multipaths` in the `multipath.conf` file. -- Ensure that the multipath command for `multipath.conf` is available on all Kubernetes nodes. +
+
-As a best practice, use the following options to help the operating system and the mulitpathing software detect path changes efficiently: + b. Enable Linux Device Mapper MPIO -```text -path_grouping_policy multibus -path_checker tur -features "1 queue_if_no_path" -path_selector "round-robin 0" -no_path_retry 10 -``` + Use this command to create the machine configuration to enable the DM-MPIO service on all the worker host + + ```bash + oc apply -f 99-workers-enable-multipathd.yaml + ``` + +
+ + ```yaml + cat << EOF > 99-workers-enable-multipathd.yaml + apiVersion: machineconfiguration.openshift.io/v1 + kind: MachineConfig + metadata: + name: 99-workers-enable-multipathd.yaml + labels: + machineconfiguration.openshift.io/role: worker + spec: + config: + ignition: + version: 3.4.0 + systemd: + units: + - name: "multipathd.service" + enabled: true + EOF + ``` + + + +
+ +{{% /tab %}} +{{% tab header="iSCSI" lang="en" %}} + + + 1. Complete the iSCSI network configuration to connect the hosts with the Unity Storage array. Please refer the [host connectivity guide](https://www.delltechnologies.com/asset/en-us/products/storage/technical-support/docu5128.pdf). for the best practices for attaching the hosts to a Unity storage array. +
+ 2. Verify the initiators of each host are logged in to the Unity Storage Array. CSM will perform the Host Registration of each host with the Unity Array. +
+ 3. Enable iSCSI service +
+ + Use this command to create the machine configuration to enable the iscsid service. + ```bash + oc apply -f 99-workers-enable-iscsid.yaml + ``` + +
+ + Example: + ```yaml + cat < 99-workers-enable-iscsid.yaml + apiVersion: machineconfiguration.openshift.io/v1 + kind: MachineConfig + metadata: + name: 99-workers-enable-iscsid + labels: + machineconfiguration.openshift.io/role: worker + spec: + config: + ignition: + version: 3.4.0 + systemd: + units: + - name: "iscsid.service" + enabled: true + ``` +
+ + 4. Multipathing software configuration + + + a. Configure Device Mapper MPIO for Unity iSCSI connectivity + + Use this command to create the machine configuration to configure the DM-MPIO service on all the worker hosts for iSCSI connectivity. + + ```bash + oc apply -f 99-workers-multipath-conf.yaml + ``` +
+ + ```yaml + cat < multipath.conf + defaults { + polling_interval 5 + checker_timeout 15 + disable_changed_wwids yes + find_multipaths no + } + devices { + device { + vendor DellEMC + product Unity + detect_prio "yes" + path_selector "queue-length 0" + path_grouping_policy "group_by_prio" + path_checker tur + failback immediate + fast_io_fail_tmo 5 + no_path_retry 3 + rr_min_io_rq 1 + max_sectors_kb 1024 + dev_loss_tmo 10 + } + } + EOF + ``` + +
+ + ```yaml + cat < 99-workers-multipath-conf.yaml + apiVersion: machineconfiguration.openshift.io/v1 + kind: MachineConfig + metadata: + name: 99-workers-multipath-conf + labels: + machineconfiguration.openshift.io/role: worker + spec: + config: + ignition: + version: 3.4.0 + storage: + files: + - contents: + source: data:text/plain;charset=utf-8;base64,$(cat multipath.conf | base64 -w0) + verification: {} + filesystem: root + mode: 400 + path: /etc/multipath.conf + EOF + ``` + +
+
+ + b. Enable Linux Device Mapper MPIO + + Use this command to create the machine configuration to enable the DM-MPIO service on all the worker host + + ```bash + oc apply -f 99-workers-enable-multipathd.yaml + ``` + +
+ + ```yaml + cat << EOF > 99-workers-enable-multipathd.yaml + apiVersion: machineconfiguration.openshift.io/v1 + kind: MachineConfig + metadata: + name: 99-workers-enable-multipathd.yaml + labels: + machineconfiguration.openshift.io/role: worker + spec: + config: + ignition: + version: 3.4.0 + systemd: + units: + - name: "multipathd.service" + enabled: true + EOF + ``` + + + +
+{{% /tab %}} +{{< /tabpane >}} \ No newline at end of file From 9b7cd66fd20107ac02360fececd1d9b915e95368 Mon Sep 17 00:00:00 2001 From: Anand Raja Kesavamoorthy Date: Tue, 4 Mar 2025 21:25:37 +0000 Subject: [PATCH 2/4] fix review comments --- .../openshift/powermax/prerequisite/_index.md | 43 ++++++++++--------- .../openshift/unityxt/prerequisite/_index.md | 19 ++++---- go.sum | 8 ++++ 3 files changed, 39 insertions(+), 31 deletions(-) diff --git a/content/docs/getting-started/installation/openshift/powermax/prerequisite/_index.md b/content/docs/getting-started/installation/openshift/powermax/prerequisite/_index.md index 40acc8763c..d59b3b64c9 100644 --- a/content/docs/getting-started/installation/openshift/powermax/prerequisite/_index.md +++ b/content/docs/getting-started/installation/openshift/powermax/prerequisite/_index.md @@ -37,7 +37,8 @@ openssl x509 -req -in tls.csr -signkey tls.key -out tls.crt -days 3650 -extensio kubectl create secret -n tls csirevproxy-tls-secret --cert=tls.crt --key=tls.key ``` {{< tabpane text=true lang="en" >}} -{{% tab header="Fibre Channel" lang="en" %}} +{{% tab header="Fibre Channel" lang="en" %}} + ### Fibre Channel Requirements The following requirements must be fulfilled in order to successfully use the Fiber Channel protocol with the CSI PowerMax driver: @@ -46,15 +47,14 @@ The following requirements must be fulfilled in order to successfully use the Fi - Ensure that the HBA WWNs (initiators) appear on the list of initiators that are logged into the array. - If the number of volumes that will be published to nodes is high, then configure the maximum number of LUNs for your HBAs on each node. See the appropriate HBA document to configure the maximum number of LUNs. - - 1. Complete the zoning of each host with the PowerMax Storage Array. Please refer the Host Connectivity Guide for the guidelines when setting a Fibre Channel SAN infrastructure. + 1. Complete the zoning of each host with the PowerMax Storage Array. Please refer to Host Connectivity Guide for the guidelines when setting a Fibre Channel SAN infrastructure.
- 2. Verify the initiators of each host are logged in to the PowerMax Storage Array. CSM will perform the Host Registration of each host with the PowerMax Array. + 2. Verify the initiators of each host are logged in to the PowerMax Storage Array. CSM will perform the Host Registration of each host with the PowerMax Array.
- 3. Multipathing software configuration + 3. Multipathing software configuration a. Configure Device Mapper MPIO for PowerMax FC connectivity @@ -95,7 +95,8 @@ The following requirements must be fulfilled in order to successfully use the Fi

- ```yaml + ```yaml + cat < 99-workers-multipath-conf.yaml apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfig @@ -149,9 +150,6 @@ The following requirements must be fulfilled in order to successfully use the Fi enabled: true EOF ``` - - -
@@ -160,12 +158,12 @@ The following requirements must be fulfilled in order to successfully use the Fi {{% tab header="iSCSI" lang="en" %}} -1. Complete the iSCSI network configuration to connect the hosts with the PowerMax Storage array. Please refer the [host connectivity guide](https://elabnavigator.dell.com/vault/pdf/Linux.pdf) for the best practices for attaching the hosts to a PowerMax storage array. +1. Complete the iSCSI network configuration to connect the hosts with the PowerMax Storage array. Please refer to Host Connectivity Guide for the best practices for attaching the hosts to a PowerMax storage array.
2. Verify the initiators of each host are logged in to the PowerMax Storage Array. CSM will perform the Host Registration of each host with the PowerMax Array.
-3. Enable iSCSI service -
+3. Enable iSCSI service +
Use this command to create the machine configuration to enable the iscsid service. ```bash @@ -191,15 +189,16 @@ The following requirements must be fulfilled in order to successfully use the Fi units: - name: "iscsid.service" enabled: true + EOF ```
-4. Multipathing software configuration +4. Multipathing software configuration - a. Configure Device Mapper MPIO for PowerMax FC connectivity + a. Configure Device Mapper MPIO for PowerMax FC connectivity - Use this command to create the machine configuration to configure the DM-MPIO service on all the worker hosts for FC connectivity. + Use this command to create the machine configuration to configure the DM-MPIO service on all the worker hosts for FC connectivity. ```bash oc apply -f 99-workers-multipath-conf.yaml @@ -301,7 +300,7 @@ The following requirements must be fulfilled in order to successfully use the Fi {{% tab header="NVMeFC" lang="en" %}} -1. Complete the zoning of each host with the PowerMax Storage Array. Please refer the Host Connectivity Guide for the guidelines when setting a Fibre Channel SAN infrastructure. +1. Complete the zoning of each host with the PowerMax Storage Array. Please refer to Host Connectivity Guide for the guidelines when setting a Fibre Channel SAN infrastructure.
@@ -309,12 +308,13 @@ The following requirements must be fulfilled in order to successfully use the Fi
-3. Multipathing software configuration +3. Multipathing software configuration ```yaml cat < 71-nvmf-iopolicy-dell.rules ACTION=="add", SUBSYSTEM=="nvme-subsystem", ATTR{model}=="dellemc-powermax",ATTR{iopolicy}="round-robin" + EOF ```

@@ -339,16 +339,16 @@ The following requirements must be fulfilled in order to successfully use the Fi filesystem: root mode: 420 path: /etc/udev/rules.d/71-nvme-io-policy.rules - + EOF ```
4. Configure NVMe reconnecting forever - ```yaml cat < 72-nvmf-ctrl_loss_tmo.rules ACTION=="add|change", SUBSYSTEM=="nvme", KERNEL=="nvme*", ATTR{ctrl_loss_tmo}="-1" + EOF ```
@@ -373,12 +373,13 @@ The following requirements must be fulfilled in order to successfully use the Fi filesystem: root mode: 420 path: /etc/udev/rules.d/72-nvmf-ctrl_loss_tmo.rules + EOF ``` -{{% /tab %}} +{{% /tab %}} {{% tab header="NVMeTCP" lang="en" %}} -{{% /tab %}} +{{% /tab %}} {{% tab header="NFS" lang="en" %}} diff --git a/content/docs/getting-started/installation/openshift/unityxt/prerequisite/_index.md b/content/docs/getting-started/installation/openshift/unityxt/prerequisite/_index.md index 00f943a0b3..c89b4661d6 100644 --- a/content/docs/getting-started/installation/openshift/unityxt/prerequisite/_index.md +++ b/content/docs/getting-started/installation/openshift/unityxt/prerequisite/_index.md @@ -15,22 +15,21 @@ Before you install CSI Driver for Unity XT, verify the requirements that are men * To use iSCSI protocol, iSCSI initiator utils packages needs to be installed and Multipath needs to be configured * To use NFS protocol, there is no prerequisite on Openshift -{{< tabpane text=true lang="en" >}} +{{< tabpane text=true lang="en" >}} {{% tab header="FC" lang="en" %}} -1. Complete the zoning of each host with the Unity Storage Array. Please refer the Host Connectivity Guide for the guidelines when setting a Fibre Channel SAN infrastructure. +1. Complete the zoning of each host with the Unity Storage Array. Please refer to Host Connectivity Guide for the guidelines when setting a Fibre Channel SAN infrastructure.
2. Verify the initiators of each host are logged in to the Unity Storage Array. CSM will perform the Host Registration of each host with the Unity Array.
-3. Multipathing software configuration - - +3. Multipathing software configuration + a. Configure Device Mapper MPIO for Unity FC connectivity - Use this command to create the machine configuration to configure the DM-MPIO service on all the worker hosts for FC connectivity. + Use this command to create the machine configuration to configure the DM-MPIO service on all the worker hosts for FC connectivity. ```bash oc apply -f 99-workers-multipath-conf.yaml ``` @@ -122,18 +121,17 @@ Before you install CSI Driver for Unity XT, verify the requirements that are men ``` -
{{% /tab %}} {{% tab header="iSCSI" lang="en" %}} - 1. Complete the iSCSI network configuration to connect the hosts with the Unity Storage array. Please refer the [host connectivity guide](https://www.delltechnologies.com/asset/en-us/products/storage/technical-support/docu5128.pdf). for the best practices for attaching the hosts to a Unity storage array. + 1. Complete the iSCSI network configuration to connect the hosts with the Unity Storage array. Please refer to Host Connectivity Guide. for the best practices for attaching the hosts to a Unity storage array.
2. Verify the initiators of each host are logged in to the Unity Storage Array. CSM will perform the Host Registration of each host with the Unity Array.
- 3. Enable iSCSI service + 3. Enable iSCSI service
Use this command to create the machine configuration to enable the iscsid service. @@ -143,7 +141,7 @@ Before you install CSI Driver for Unity XT, verify the requirements that are men
- Example: + Example: ```yaml cat < 99-workers-enable-iscsid.yaml apiVersion: machineconfiguration.openshift.io/v1 @@ -160,6 +158,7 @@ Before you install CSI Driver for Unity XT, verify the requirements that are men units: - name: "iscsid.service" enabled: true + EOF ```
diff --git a/go.sum b/go.sum index e69de29bb2..7d2f09f135 100644 --- a/go.sum +++ b/go.sum @@ -0,0 +1,8 @@ +github.com/FortAwesome/Font-Awesome v0.0.0-20230327165841-0698449d50f2/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo= +github.com/FortAwesome/Font-Awesome v0.0.0-20240716171331-37eff7fa00de/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo= +github.com/google/docsy v0.11.0 h1:QnV40cc28QwS++kP9qINtrIv4hlASruhC/K3FqkHAmM= +github.com/google/docsy v0.11.0/go.mod h1:hGGW0OjNuG5ZbH5JRtALY3yvN8ybbEP/v2iaK4bwOUI= +github.com/google/docsy/dependencies v0.7.2 h1:+t5ufoADQAj4XneFphz4A+UU0ICAxmNaRHVWtMYXPSI= +github.com/google/docsy/dependencies v0.7.2/go.mod h1:gihhs5gmgeO+wuoay4FwOzob+jYJVyQbNaQOh788lD4= +github.com/twbs/bootstrap v5.2.3+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0= +github.com/twbs/bootstrap v5.3.3+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0= From e7da15d14be68f6c556345bd65715424d5e48f7b Mon Sep 17 00:00:00 2001 From: Anand Raja Kesavamoorthy Date: Tue, 4 Mar 2025 21:27:40 +0000 Subject: [PATCH 3/4] fix review comments --- go.sum | 8 -------- 1 file changed, 8 deletions(-) diff --git a/go.sum b/go.sum index 7d2f09f135..e69de29bb2 100644 --- a/go.sum +++ b/go.sum @@ -1,8 +0,0 @@ -github.com/FortAwesome/Font-Awesome v0.0.0-20230327165841-0698449d50f2/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo= -github.com/FortAwesome/Font-Awesome v0.0.0-20240716171331-37eff7fa00de/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo= -github.com/google/docsy v0.11.0 h1:QnV40cc28QwS++kP9qINtrIv4hlASruhC/K3FqkHAmM= -github.com/google/docsy v0.11.0/go.mod h1:hGGW0OjNuG5ZbH5JRtALY3yvN8ybbEP/v2iaK4bwOUI= -github.com/google/docsy/dependencies v0.7.2 h1:+t5ufoADQAj4XneFphz4A+UU0ICAxmNaRHVWtMYXPSI= -github.com/google/docsy/dependencies v0.7.2/go.mod h1:gihhs5gmgeO+wuoay4FwOzob+jYJVyQbNaQOh788lD4= -github.com/twbs/bootstrap v5.2.3+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0= -github.com/twbs/bootstrap v5.3.3+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0= From f560ec5b14d7fc83d2690761d8d44a452f853420 Mon Sep 17 00:00:00 2001 From: Anand Raja Kesavamoorthy Date: Tue, 4 Mar 2025 21:45:36 +0000 Subject: [PATCH 4/4] Fix review commits --- .../installation/openshift/powermax/prerequisite/_index.md | 2 +- .../installation/openshift/unityxt/prerequisite/_index.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/docs/getting-started/installation/openshift/powermax/prerequisite/_index.md b/content/docs/getting-started/installation/openshift/powermax/prerequisite/_index.md index d59b3b64c9..29667b80ce 100644 --- a/content/docs/getting-started/installation/openshift/powermax/prerequisite/_index.md +++ b/content/docs/getting-started/installation/openshift/powermax/prerequisite/_index.md @@ -300,7 +300,7 @@ The following requirements must be fulfilled in order to successfully use the Fi {{% tab header="NVMeFC" lang="en" %}} -1. Complete the zoning of each host with the PowerMax Storage Array. Please refer to Host Connectivity Guide for the guidelines when setting a Fibre Channel SAN infrastructure. +1. Complete the zoning of each host with the PowerMax Storage Array. Please refer to Host Connectivity Guide for the guidelines when setting up a Fibre Channel SAN infrastructure.
diff --git a/content/docs/getting-started/installation/openshift/unityxt/prerequisite/_index.md b/content/docs/getting-started/installation/openshift/unityxt/prerequisite/_index.md index c89b4661d6..46f1cacdd5 100644 --- a/content/docs/getting-started/installation/openshift/unityxt/prerequisite/_index.md +++ b/content/docs/getting-started/installation/openshift/unityxt/prerequisite/_index.md @@ -18,7 +18,7 @@ Before you install CSI Driver for Unity XT, verify the requirements that are men {{< tabpane text=true lang="en" >}} {{% tab header="FC" lang="en" %}} -1. Complete the zoning of each host with the Unity Storage Array. Please refer to Host Connectivity Guide for the guidelines when setting a Fibre Channel SAN infrastructure. +1. Complete the zoning of each host with the Unity Storage Array. Please refer to Host Connectivity Guide for the guidelines when setting up a Fibre Channel SAN infrastructure.
2. Verify the initiators of each host are logged in to the Unity Storage Array. CSM will perform the Host Registration of each host with the Unity Array.