// Module included in the following assemblies:
//
// * installing/installing_bibm_power/installing-ibm-power.adoc
// * installing/installing_ibm_power/installing-restricted-networks-ibm-power.adoc

:_mod-docs-content-type: PROCEDURE
[id="rhcos-enabling-multipathday-1-power_{context}"]
= Enabling multipathing with kernel arguments on {op-system}

In {product-title} version {product-version}, during installation, you can enable multipathing for provisioned nodes. {op-system} supports multipathing on the primary disk. Multipathing provides added benefits of stronger resilience to hardware failure to achieve higher host availability.

During the initial cluster creation, you might want to add kernel arguments to all master or worker nodes. To add kernel arguments to master or worker nodes, you can create a `MachineConfig` object and inject that object into the set of manifest files used by Ignition during cluster setup.

.Procedure

. Change to the directory that contains the installation program and generate the Kubernetes manifests for the cluster:
+
[source,terminal]
----
$ ./openshift-install create manifests --dir <installation_directory>
----

. Decide if you want to add kernel arguments to worker or control plane nodes.

* Create a machine config file. For example, create a `99-master-kargs-mpath.yaml` that instructs the cluster to add the `master` label and identify the multipath kernel argument:
+
[source,yaml]
----
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig
metadata:
  labels:
    machineconfiguration.openshift.io/role: "master"
  name: 99-master-kargs-mpath
spec:
  kernelArguments:
    - 'rd.multipath=default'
    - 'root=/dev/disk/by-label/dm-mpath-root'
----

. To enable multipathing on worker nodes:

* Create a machine config file. For example, create a `99-worker-kargs-mpath.yaml` that instructs the cluster to add the `worker` label and identify the multipath kernel argument:
+
[source,yaml]
----
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig
metadata:
  labels:
    machineconfiguration.openshift.io/role: "worker"
  name: 99-worker-kargs-mpath
spec:
  kernelArguments:
    - 'rd.multipath=default'
    - 'root=/dev/disk/by-label/dm-mpath-root'
----
+
You can now continue on to create the cluster.

[IMPORTANT]
====
Additional postinstallation steps are required to fully enable multipathing. For more information, see “Enabling multipathing with kernel arguments on {op-system}" in _Postinstallation machine configuration tasks_.
====

In case of MPIO failure, use the bootlist command to update the boot device list with alternate logical device names.
The command displays a boot list and it designates the possible boot devices for when the system is booted in normal mode.

.. To display a boot list and specify the possible boot devices if the system is booted in normal mode, enter the following command:
+
[source,terminal]
----
$ bootlist -m normal -o
sda
----
.. To update the boot list for normal mode and add alternate device names, enter the following command:
+
[source,terminal]
----
$ bootlist -m normal -o /dev/sdc /dev/sdd /dev/sde
sdc
sdd
sde
----
+
If the original boot disk path is down, the node reboots from the alternate device registered in the normal boot device list.
