-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Bug 1886229 - Make multipath docs platform-agnostic
- Loading branch information
Bob
committed
Apr 23, 2021
1 parent
1ca1f0e
commit fce597c
Showing
4 changed files
with
152 additions
and
46 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,134 @@ | ||
// Module included in the following assemblies: | ||
// | ||
// * post_installation_configuration/machine-configuration-tasks.adoc | ||
|
||
[id="rhcos-enabling-multipath_{context}"] | ||
= Enabling multipathing with kernel arguments on {op-system} | ||
|
||
{op-system} supports multipathing on the primary disk, allowing stronger resilience to hardware failure to achieve higher host availability. | ||
|
||
[IMPORTANT] | ||
==== | ||
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. | ||
==== | ||
|
||
.Prerequisites | ||
* You have a running {product-title} cluster that uses version 4.7 or later. | ||
* You are logged in to the cluster as a user with administrative privileges. | ||
|
||
.Procedure | ||
|
||
. To enable multipathing on master nodes: | ||
|
||
* 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: | ||
|
||
+ | ||
[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, 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: | ||
+ | ||
[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' | ||
---- | ||
|
||
. Create the new machine config by using either the master or worker YAML file you previously created: | ||
+ | ||
[source,terminal] | ||
---- | ||
$ oc create -f ./99-master-kargs-mpath.yaml | ||
---- | ||
|
||
. Check the machine configs to see that the new one was added: | ||
+ | ||
[source,terminal] | ||
---- | ||
$ oc get MachineConfig | ||
---- | ||
+ | ||
.Example output | ||
[source,terminal] | ||
---- | ||
NAME GENERATEDBYCONTROLLER IGNITIONVERSION AGE | ||
00-master 52dd3ba6a9a527fc3ab42afac8d12b693534c8c9 3.2.0 33m | ||
00-worker 52dd3ba6a9a527fc3ab42afac8d12b693534c8c9 3.2.0 33m | ||
01-master-container-runtime 52dd3ba6a9a527fc3ab42afac8d12b693534c8c9 3.2.0 33m | ||
01-master-kubelet 52dd3ba6a9a527fc3ab42afac8d12b693534c8c9 3.2.0 33m | ||
01-worker-container-runtime 52dd3ba6a9a527fc3ab42afac8d12b693534c8c9 3.2.0 33m | ||
01-worker-kubelet 52dd3ba6a9a527fc3ab42afac8d12b693534c8c9 3.2.0 33m | ||
99-master-kargs-mpath 52dd3ba6a9a527fc3ab42afac8d12b693534c8c9 3.2.0 105s | ||
99-master-generated-registries 52dd3ba6a9a527fc3ab42afac8d12b693534c8c9 3.2.0 33m | ||
99-master-ssh 3.2.0 40m | ||
99-worker-generated-registries 52dd3ba6a9a527fc3ab42afac8d12b693534c8c9 3.2.0 33m | ||
99-worker-ssh 3.2.0 40m | ||
rendered-master-23e785de7587df95a4b517e0647e5ab7 52dd3ba6a9a527fc3ab42afac8d12b693534c8c9 3.2.0 33m | ||
rendered-worker-5d596d9293ca3ea80c896a1191735bb1 52dd3ba6a9a527fc3ab42afac8d12b693534c8c9 3.2.0 33m | ||
---- | ||
|
||
. Check the nodes: | ||
+ | ||
[source,terminal] | ||
---- | ||
$ oc get nodes | ||
---- | ||
+ | ||
.Example output | ||
[source,terminal] | ||
---- | ||
NAME STATUS ROLES AGE VERSION | ||
ip-10-0-136-161.ec2.internal Ready worker 28m v1.20.0 | ||
ip-10-0-136-243.ec2.internal Ready master 34m v1.20.0 | ||
ip-10-0-141-105.ec2.internal Ready,SchedulingDisabled worker 28m v1.20.0 | ||
ip-10-0-142-249.ec2.internal Ready master 34m v1.20.0 | ||
ip-10-0-153-11.ec2.internal Ready worker 28m v1.20.0 | ||
ip-10-0-153-150.ec2.internal Ready master 34m v1.20.0 | ||
---- | ||
+ | ||
You can see that scheduling on each worker node is disabled as the change is being applied. | ||
|
||
. Check that the kernel argument worked by going to one of the worker nodes and listing | ||
the kernel command line arguments (in `/proc/cmdline` on the host): | ||
+ | ||
[source,terminal] | ||
---- | ||
$ oc debug node/ip-10-0-141-105.ec2.internal | ||
---- | ||
+ | ||
.Example output | ||
[source,terminal] | ||
---- | ||
Starting pod/ip-10-0-141-105ec2internal-debug ... | ||
To use host binaries, run `chroot /host` | ||
sh-4.2# cat /host/proc/cmdline | ||
... | ||
rd.multipath=default root=/dev/disk/by-label/dm-mpath-root | ||
... | ||
sh-4.2# exit | ||
---- | ||
+ | ||
You should see the added kernel arguments. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters