Skip to content

Commit fce597c

Browse files
author
Bob
committed
Bug 1886229 - Make multipath docs platform-agnostic
1 parent 1ca1f0e commit fce597c

File tree

4 files changed

+152
-46
lines changed

4 files changed

+152
-46
lines changed

modules/installation-complete-user-infra.adoc

Lines changed: 8 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -147,40 +147,11 @@ command.
147147
+
148148
If the pod logs display, the Kubernetes API server can communicate with the
149149
cluster machines.
150-
ifdef::ibm-z,ibm-power[]
151-
. For an installation with FCP, additional steps are required to enable multipathing.
152-
.. To enable multipathing on master nodes, apply the following machine config file:
153-
+
154-
[source,yaml]
155-
--
156-
apiVersion: machineconfiguration.openshift.io/v1
157-
kind: MachineConfig
158-
metadata:
159-
labels:
160-
machineconfiguration.openshift.io/role: "master"
161-
name: 99-master-kargs-mpath
162-
spec:
163-
kernelArguments:
164-
- 'rd.multipath=default'
165-
- 'root=/dev/disk/by-label/dm-mpath-root'
166-
--
167150

168-
.. To enable multipathing on worker nodes, apply the following machine config file:
169-
+
170-
[source,yaml]
171-
--
172-
apiVersion: machineconfiguration.openshift.io/v1
173-
kind: MachineConfig
174-
metadata:
175-
labels:
176-
machineconfiguration.openshift.io/role: "worker"
177-
name: 99-worker-kargs-mpath
178-
spec:
179-
kernelArguments:
180-
- 'rd.multipath=default'
181-
- 'root=/dev/disk/by-label/dm-mpath-root'
182-
--
183-
endif::ibm-z,ibm-power[]
151+
. For an installation with Fibre Channel Protocol (FCP), additional steps are required to enable multipathing. Do not enable multipathing during installation.
152+
+
153+
See "Enabling multipathing with kernel arguments on RHCOS" in the _Post-installation configuration_ documentation for more information.
154+
184155
ifdef::ibm-power[]
185156
.. To display a boot list and specify the possible boot devices if the system is booted in normal mode, enter the following command:
186157
+
@@ -199,10 +170,10 @@ sdd
199170
sde
200171
----
201172
+
202-
If the original boot disk path is down, the node reboots from the alternate device registered in the normal boot device list.
173+
If the original boot disk path is down, the node reboots from the alternate device registered in the normal boot device list.
203174
endif::ibm-power[]
204175
ifdef::ibm-z,ibm-power[]
205-
.. All the worker nodes are restarted. To monitor the process, enter the following command:
176+
.. All the worker nodes are restarted. To monitor the process, enter the following command:
206177
+
207178
[source,terminal]
208179
----
@@ -211,7 +182,7 @@ $ oc get nodes -w
211182
+
212183
[NOTE]
213184
====
214-
If you have additional machine types such as infrastructure nodes, repeat the process for these types.
185+
If you have additional machine types such as infrastructure nodes, repeat the process for these types.
215186
====
216187
endif::ibm-z,ibm-power[]
217188

@@ -244,4 +215,4 @@ endif::[]
244215
ifeval::["{context}" == "installing-restricted-networks-ibm-power"]
245216
:!ibm-power:
246217
:restricted:
247-
endif::[]
218+
endif::[]

modules/installation-ibm-z-user-infra-machines-iso.adoc

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,9 @@ The rootfs image is the same for FCP and DASD.
4848
** For `coreos.live.rootfs_url=`, specify the matching rootfs artifact for the kernel and initramfs you are booting. Only HTTP and HTTPS protocols are supported.
4949

5050
** For installations on DASD-type disks, complete the following tasks:
51-
... For `coreos.inst.install_dev=`, specify `dasda`.
51+
... For `coreos.inst.install_dev=`, specify `dasda`.
5252
... Use `rd.dasd=` to specify the DASD where {op-system} is to be installed.
53-
... Leave all other parameters unchanged.
53+
... Leave all other parameters unchanged.
5454
+
5555
Example parameter file, `bootstrap-0.parm`, for the bootstrap machine:
5656
+
@@ -66,36 +66,36 @@ rd.znet=qeth,0.0.bdf0,0.0.bdf1,0.0.bdf2,layer2=1,portno=0 zfcp.allow_lun_scan=0
6666
+
6767
[NOTE]
6868
====
69-
`dfltcc=off` is required for IBM z15 and LinuxONE III.
69+
`dfltcc=off` is required for IBM z15 and LinuxONE III.
7070
====
7171

7272
** For installations on FCP-type disks, complete the following tasks:
73-
... Use `rd.zfcp=<adapter>,<wwpn>,<lun>` to specify the FCP disk where {op-system} is to be installed. For multipathing repeat this step for each additional path.
73+
... Use `rd.zfcp=<adapter>,<wwpn>,<lun>` to specify the FCP disk where {op-system} is to be installed. For multipathing repeat this step for each additional path.
7474
... For multipathing, set the following parameter: `rd.multipath=default`.
7575
... For multipathing, set the install device as: `coreos.inst.install_dev=/dev/mapper/mpatha`.
7676
... For single-path installation, set the install device as: `coreos.inst.install_dev=sda`.
7777
+
7878
[NOTE]
7979
====
80-
If additional LUNs are configured with NPIV, FCP requires `zfcp.allow_lun_scan=0`.
80+
If additional LUNs are configured with NPIV, FCP requires `zfcp.allow_lun_scan=0`.
8181
====
8282
... Leave all other parameters unchanged.
8383
+
8484
[NOTE]
8585
====
86-
Additional post-installation steps are required to fully enable multipathing. See “Completing installation on user-provisioned infrastructure” for more information.
86+
Additional post-installation steps are required to fully enable multipathing. See “Completing installation on user-provisioned infrastructure” for more information.
8787
====
8888
+
8989
The following is an example parameter file `bootstrap-0.parm` for the bootstrap machine with multipathing:
9090
+
9191
[source,terminal]
9292
----
93-
rd.neednet=1 dfltcc=off rd.multipath=default console=ttysclp0 coreos.inst.install_dev=/dev/mapper/mpatha
93+
rd.neednet=1 dfltcc=off rd.multipath=default console=ttysclp0 coreos.inst.install_dev=/dev/mapper/mpatha
9494
coreos.live.rootfs_url=http://cl1.provide.example.com:8080/assets/rhcos-live-rootfs.s390x.img
9595
coreos.inst.ignition_url=http://cl1.provide.example.com:8080/ignition/bootstrap.ign
9696
ip=172.18.78.2::172.18.78.1:255.255.255.0:::none nameserver=172.18.78.1
9797
rd.znet=qeth,0.0.bdf0,0.0.bdf1,0.0.bdf2,layer2=1,portno=0 zfcp.allow_lun_scan=0 cio_ignore=all,
98-
!condev
98+
!condev
9999
rd.zfcp=0.0.1987,0x50050763070bc5e3,0x4008400B00000000
100100
rd.zfcp=0.0.19C7,0x50050763070bc5e3,0x4008400B00000000
101101
rd.zfcp=0.0.1987,0x50050763071bc5e3,0x4008400B00000000
@@ -104,7 +104,7 @@ rd.zfcp=0.0.19C7,0x50050763071bc5e3,0x4008400B00000000
104104
+
105105
[NOTE]
106106
====
107-
`dfltcc=off` is required for IBM z15 and LinuxONE III.
107+
`dfltcc=off` is required for IBM z15 and LinuxONE III.
108108
====
109109

110110
. Transfer the initramfs, kernel, parameter files, and {op-system} images to z/VM, for example with FTP. For details about how to transfer the files with FTP and boot from the virtual reader, see link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/installation_guide/sect-installing-zvm-s390[Installing under Z/VM].
Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * post_installation_configuration/machine-configuration-tasks.adoc
4+
5+
[id="rhcos-enabling-multipath_{context}"]
6+
= Enabling multipathing with kernel arguments on {op-system}
7+
8+
{op-system} supports multipathing on the primary disk, allowing stronger resilience to hardware failure to achieve higher host availability.
9+
10+
[IMPORTANT]
11+
====
12+
Multipathing is only supported when it is activated using the machine config as documented in the following procedure. It must be enabled after {op-system} installation.
13+
====
14+
15+
.Prerequisites
16+
* You have a running {product-title} cluster that uses version 4.7 or later.
17+
* You are logged in to the cluster as a user with administrative privileges.
18+
19+
.Procedure
20+
21+
. To enable multipathing on master nodes:
22+
23+
* Create a machine config file, such as `99-master-kargs-mpath.yaml`, that instructs the cluster to add the `master` label and that identifies the multipath kernel argument, for example:
24+
25+
+
26+
[source,yaml]
27+
----
28+
apiVersion: machineconfiguration.openshift.io/v1
29+
kind: MachineConfig
30+
metadata:
31+
labels:
32+
machineconfiguration.openshift.io/role: "master"
33+
name: 99-master-kargs-mpath
34+
spec:
35+
kernelArguments:
36+
- 'rd.multipath=default'
37+
- 'root=/dev/disk/by-label/dm-mpath-root'
38+
----
39+
40+
. To enable multipathing on worker nodes:
41+
42+
* Create a machine config file, such as `99-worker-kargs-mpath.yaml`, that instructs the cluster to add the `worker` label and that identifies the multipath kernel argument, for example:
43+
+
44+
[source,yaml]
45+
----
46+
apiVersion: machineconfiguration.openshift.io/v1
47+
kind: MachineConfig
48+
metadata:
49+
labels:
50+
machineconfiguration.openshift.io/role: "worker"
51+
name: 99-worker-kargs-mpath
52+
spec:
53+
kernelArguments:
54+
- 'rd.multipath=default'
55+
- 'root=/dev/disk/by-label/dm-mpath-root'
56+
----
57+
58+
. Create the new machine config by using either the master or worker YAML file you previously created:
59+
+
60+
[source,terminal]
61+
----
62+
$ oc create -f ./99-master-kargs-mpath.yaml
63+
----
64+
65+
. Check the machine configs to see that the new one was added:
66+
+
67+
[source,terminal]
68+
----
69+
$ oc get MachineConfig
70+
----
71+
+
72+
.Example output
73+
[source,terminal]
74+
----
75+
NAME GENERATEDBYCONTROLLER IGNITIONVERSION AGE
76+
00-master 52dd3ba6a9a527fc3ab42afac8d12b693534c8c9 3.2.0 33m
77+
00-worker 52dd3ba6a9a527fc3ab42afac8d12b693534c8c9 3.2.0 33m
78+
01-master-container-runtime 52dd3ba6a9a527fc3ab42afac8d12b693534c8c9 3.2.0 33m
79+
01-master-kubelet 52dd3ba6a9a527fc3ab42afac8d12b693534c8c9 3.2.0 33m
80+
01-worker-container-runtime 52dd3ba6a9a527fc3ab42afac8d12b693534c8c9 3.2.0 33m
81+
01-worker-kubelet 52dd3ba6a9a527fc3ab42afac8d12b693534c8c9 3.2.0 33m
82+
99-master-kargs-mpath 52dd3ba6a9a527fc3ab42afac8d12b693534c8c9 3.2.0 105s
83+
99-master-generated-registries 52dd3ba6a9a527fc3ab42afac8d12b693534c8c9 3.2.0 33m
84+
99-master-ssh 3.2.0 40m
85+
99-worker-generated-registries 52dd3ba6a9a527fc3ab42afac8d12b693534c8c9 3.2.0 33m
86+
99-worker-ssh 3.2.0 40m
87+
rendered-master-23e785de7587df95a4b517e0647e5ab7 52dd3ba6a9a527fc3ab42afac8d12b693534c8c9 3.2.0 33m
88+
rendered-worker-5d596d9293ca3ea80c896a1191735bb1 52dd3ba6a9a527fc3ab42afac8d12b693534c8c9 3.2.0 33m
89+
----
90+
91+
. Check the nodes:
92+
+
93+
[source,terminal]
94+
----
95+
$ oc get nodes
96+
----
97+
+
98+
.Example output
99+
[source,terminal]
100+
----
101+
NAME STATUS ROLES AGE VERSION
102+
ip-10-0-136-161.ec2.internal Ready worker 28m v1.20.0
103+
ip-10-0-136-243.ec2.internal Ready master 34m v1.20.0
104+
ip-10-0-141-105.ec2.internal Ready,SchedulingDisabled worker 28m v1.20.0
105+
ip-10-0-142-249.ec2.internal Ready master 34m v1.20.0
106+
ip-10-0-153-11.ec2.internal Ready worker 28m v1.20.0
107+
ip-10-0-153-150.ec2.internal Ready master 34m v1.20.0
108+
----
109+
+
110+
You can see that scheduling on each worker node is disabled as the change is being applied.
111+
112+
. Check that the kernel argument worked by going to one of the worker nodes and listing
113+
the kernel command line arguments (in `/proc/cmdline` on the host):
114+
+
115+
[source,terminal]
116+
----
117+
$ oc debug node/ip-10-0-141-105.ec2.internal
118+
----
119+
+
120+
.Example output
121+
[source,terminal]
122+
----
123+
Starting pod/ip-10-0-141-105ec2internal-debug ...
124+
To use host binaries, run `chroot /host`
125+
126+
sh-4.2# cat /host/proc/cmdline
127+
...
128+
rd.multipath=default root=/dev/disk/by-label/dm-mpath-root
129+
...
130+
131+
sh-4.2# exit
132+
----
133+
+
134+
You should see the added kernel arguments.

post_installation_configuration/machine-configuration-tasks.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ link:https://access.redhat.com/solutions/4510281[updating] SSH authorized keys,
2828

2929
include::modules/installation-special-config-crony.adoc[leveloffset=+2]
3030
include::modules/nodes-nodes-kernel-arguments.adoc[leveloffset=+2]
31+
include::modules/rhcos-enabling-multipath.adoc[leveloffset=+2]
3132
include::modules/nodes-nodes-rtkernel-arguments.adoc[leveloffset=+2]
3233
include::modules/machineconfig-modify-journald.adoc[leveloffset=+2]
3334
include::modules/rhcos-add-extensions.adoc[leveloffset=+2]

0 commit comments

Comments
 (0)