Skip to content

Commit 0ee2776

Browse files
authored
Merge pull request #70625 from sr1kar99/using_raid_in_lvms
TELCODOCS#1254: Using software RAID in LVM Storage
2 parents 7bb70fb + 38b5d45 commit 0ee2776

File tree

4 files changed

+83
-7
lines changed

4 files changed

+83
-7
lines changed

_attributes/common-attributes.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ endif::openshift-origin[]
5151
:rh-storage: OpenShift Data Foundation
5252
:rh-rhacm-first: Red Hat Advanced Cluster Management (RHACM)
5353
:rh-rhacm: RHACM
54-
:rh-rhacm-version: 2.8
54+
:rh-rhacm-version: 2.9
5555
:sandboxed-containers-first: OpenShift sandboxed containers
5656
:sandboxed-containers-operator: OpenShift sandboxed containers Operator
5757
:sandboxed-containers-version: 1.5

modules/lvms-creating-logical-volume-manager-cluster.adoc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ spec:
5959
paths:
6060
- /dev/disk/by-path/pci-0000:87:00.0-nvme-1
6161
- /dev/disk/by-path/pci-0000:88:00.0-nvme-1
62+
- /dev/md/md-var
6263
optionalPaths:
6364
- /dev/disk/by-path/pci-0000:89:00.0-nvme-1
6465
- /dev/disk/by-path/pci-0000:90:00.0-nvme-1
@@ -82,7 +83,7 @@ When configuring multiple device classes, you must specify the device path for e
8283
<2> Set `fstype` to `ext4` or `xfs`. By default, it is set to `xfs` if the setting is not specified.
8384
<3> Mandatory: The `LVMCluster` resource must contain a single default storage class. Set `default: false` for secondary device storage classes.
8485
If you are updating the `LVMCluster` resource from a previous version, you must specify a single default device class.
85-
<4> Optional. To control or restrict the volume group to your preferred devices, you can manually specify the local paths of the devices in the `deviceSelector` section of the `LVMCluster` YAML. The `paths` section refers to devices the `LVMCluster` adds, which means those paths must exist. The `optionalPaths` section refers to devices the `LVMCluster` might add. You must specify at least one of `paths` or `optionalPaths` when specifying the `deviceSelector` section. If you specify `paths`, it is not mandatory to specify `optionalPaths`. If you specify `optionalPaths`, it is not mandatory to specify `paths` but at least one optional path must be present on the node. If you do not specify any paths, then the `LVMCluster` adds the unused devices on the node. After a device is added to the `LVMCluster`, it cannot be removed.
86+
<4> Optional. To control or restrict the volume group to your preferred devices, you can manually specify the local paths of the devices in the `deviceSelector` section of the `LVMCluster` YAML. The `paths` section refers to devices the `LVMCluster` adds, which means those paths must exist. The `optionalPaths` section refers to devices the `LVMCluster` might add. You must specify at least one of `paths` or `optionalPaths` when specifying the `deviceSelector` section. If you specify `paths`, it is not mandatory to specify `optionalPaths`. If you specify `optionalPaths`, it is not mandatory to specify `paths` but at least one optional path must be present on the node. If you do not specify any paths, then the `LVMCluster` adds the unused devices on the node. You can also add the path to the RAID arrays to integrate the RAID arrays with {lvms}. After a device is added to the `LVMCluster`, it cannot be removed.
8687
<5> Optional: To force wipe the selected disks, set `forceWipeDevicesAndDestroyAllData` to true. This parameter is set to `false` by default.
8788
<6> Optional: To control what worker nodes the `LVMCluster` CR is applied to, specify a set of node selector labels.
8889
The specified labels must be present on the node in order for the `LVMCluster` to be scheduled on that node.
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
// Module included in the following assemblies:
2+
//
3+
// storage/persistent_storage/persistent_storage_local/persistent-storage-using-lvms.adoc
4+
5+
:_mod-docs-content-type: PROCEDURE
6+
[id="lvms-integrating-software-raid-arrays_{context}"]
7+
= Integrating software RAID arrays with LVM Storage
8+
9+
You can create the Redundant Array of Independent Disks (RAID) array by using the `mdadm` utility, and integrate the RAID array with {lvms}. Logical Volume Manager (LVM) does not support creating a software RAID.
10+
11+
You can integrate the RAID array with {lvms} while creating the `LVMCluster` custom resource (CR).
12+
13+
.Prerequisites
14+
15+
* You created a software RAID during the {product-title} installation.
16+
+
17+
[IMPORTANT]
18+
====
19+
You can only create the RAID array during the installation of {product-title}.
20+
====
21+
22+
* You have installed {lvms}.
23+
24+
.Procedure
25+
26+
. Open the `LVMCluster` CR YAML file.
27+
+
28+
[NOTE]
29+
====
30+
If you have created the `LVMCluster` CR, edit the existing `LVMCluster` CR YAML file.
31+
====
32+
33+
. Add the path to the RAID array in the `deviceSelector` field of the `LVMCluster` CR YAML file.
34+
+
35+
.Example of RAID array paths in deviceSelector field
36+
[source,yaml]
37+
----
38+
apiVersion: lvm.topolvm.io/v1alpha1
39+
kind: LVMCluster
40+
metadata:
41+
name: my-lvmcluster
42+
spec:
43+
storage:
44+
deviceClasses:
45+
# ...
46+
deviceSelector: <1>
47+
paths:
48+
- /dev/md/md-var <2>
49+
- /dev/md0 <3>
50+
optionalPaths:
51+
# ...
52+
----
53+
<1> Contains the paths to the devices that are used to create the LVM volume group. You can specify the device paths in the `paths` field, the `optionalPaths` field, or both. You cannot remove or replace a device after adding it to the LVM volume group.
54+
<2> Example of a path to the RAID array that was created by using the `mdadm` utility. In this example, `md-var` is the RAID array.
55+
<3> In this device path example, `md0` is the RAID array
56+
57+
. Save the `LVMCluster` CR YAML file.
58+
59+
[NOTE]
60+
====
61+
If you do not add the path to the RAID array in the `deviceSelector` field, the {lvms} Operator does not recognize the RAID array.
62+
====

storage/persistent_storage/persistent_storage_local/persistent-storage-using-lvms.adoc

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ include::modules/deploying-lvms-on-sno-cluster.adoc[leveloffset=+1]
1616
[role="_additional-resources"]
1717
.Additional resources
1818

19-
* link:https://access.redhat.com/documentation/en-us/red_hat_advanced_cluster_management_for_kubernetes/2.6/html/install/installing#installing-while-connected-online[Red Hat Advanced Cluster Management for Kubernetes: Installing while connected online]
19+
* link:https://access.redhat.com/documentation/en-us/red_hat_advanced_cluster_management_for_kubernetes/{rh-rhacm-version}/html/install/installing#installing-while-connected-online[Red Hat Advanced Cluster Management for Kubernetes: Installing while connected online]
2020
2121
include::modules/lvms-installing-logical-volume-manager-operator-using-cli.adoc[leveloffset=+2]
2222

@@ -47,7 +47,7 @@ include::modules/lvms-installing-logical-volume-manager-operator-using-rhacm.ado
4747
[role="_additional-resources"]
4848
.Additional resources
4949

50-
* link:https://access.redhat.com/documentation/en-us/red_hat_advanced_cluster_management_for_kubernetes/2.6/html/install/installing#installing-while-connected-online[Red Hat Advanced Cluster Management for Kubernetes: Installing while connected online]
50+
* link:https://access.redhat.com/documentation/en-us/red_hat_advanced_cluster_management_for_kubernetes/{rh-rhacm-version}/html/install/installing#installing-while-connected-online[Red Hat Advanced Cluster Management for Kubernetes: Installing while connected online]
5151
5252
* xref:../../../storage/persistent_storage/persistent_storage_local/persistent-storage-using-lvms.adoc#lvms-reference-file_logical-volume-manager-storage[{lvms} reference YAML file]
5353
@@ -65,10 +65,23 @@ include::modules/lvms-unsupported-devices.adoc[leveloffset=+2]
6565
[role="_additional-resources"]
6666
.Additional resources
6767

68+
* xref:../../../storage/persistent_storage/persistent_storage_local/persistent-storage-using-lvms.adoc#lvms-integrating-software-raid-arrays_logical-volume-manager-storage[Integrating software RAID arrays with {lvms}]
69+
6870
* xref:../../../nodes/nodes/nodes-sno-worker-nodes.adoc[Adding worker nodes to {sno} clusters]
6971
7072
* xref:../../../storage/persistent_storage/persistent_storage_local/persistent-storage-using-lvms.adoc#lvms-reference-file_logical-volume-manager-storage[{lvms} reference YAML file]
7173
74+
//Integrating software RAID arrays
75+
include::modules/lvms-integrating-software-raid-arrays.adoc[leveloffset=+1]
76+
77+
[role="_additional-resources"]
78+
.Additional resources
79+
80+
* xref:../../../installing/install_config/installing-customizing.adoc#installation-special-config-raid_installing-customizing[Configuring a RAID-enabled data volume]
81+
* link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_storage_devices/managing-raid_managing-storage-devices#creating-a-software-raid-on-an-installed-system_managing-raid[Creating a software RAID on an installed system]
82+
* link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_storage_devices/managing-raid_managing-storage-devices#replacing-a-failed-disk-in-raid_managing-raid[Replacing a failed disk in RAID]
83+
* link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_storage_devices/managing-raid_managing-storage-devices#repairing-raid-disks_managing-raid[Repairing RAID disks]
84+
7285
//Provisioning
7386
include::modules/lvms-provisioning-storage-using-logical-volume-manager-operator.adoc[leveloffset=+1]
7487

@@ -78,9 +91,9 @@ include::modules/lvms-monitoring-logical-volume-manager-operator.adoc[leveloffse
7891
[role="_additional-resources"]
7992
.Additional resources
8093

81-
* link:https://access.redhat.com/documentation/en-us/red_hat_advanced_cluster_management_for_kubernetes/2.6/html-single/observability/index[Observability]
94+
* link:https://access.redhat.com/documentation/en-us/red_hat_advanced_cluster_management_for_kubernetes/{rh-rhacm-version}/html-single/observability/index[Observability]
8295
83-
* link:https://access.redhat.com/documentation/en-us/red_hat_advanced_cluster_management_for_kubernetes/2.6/html-single/observability/index#adding-custom-metrics[Adding custom metrics]
96+
* link:https://access.redhat.com/documentation/en-us/red_hat_advanced_cluster_management_for_kubernetes/{rh-rhacm-version}/html-single/observability/index#adding-custom-metrics[Adding custom metrics]
8497
8598
//Scaling
8699
include::modules/lvms-scaling-storage-of-single-node-open-concept.adoc[leveloffset=+1]
@@ -102,7 +115,7 @@ include::modules/lvms-scaling-storage-of-single-node-openshift-cluster-using-rha
102115
[role="_additional-resources"]
103116
.Additional resources
104117

105-
* link:https://access.redhat.com/documentation/en-us/red_hat_advanced_cluster_management_for_kubernetes/2.6/html/install/installing#installing-while-connected-online[Red Hat Advanced Cluster Management for Kubernetes: Installing while connected online]
118+
* link:https://access.redhat.com/documentation/en-us/red_hat_advanced_cluster_management_for_kubernetes/{rh-rhacm-version}/html/install/installing#installing-while-connected-online[Red Hat Advanced Cluster Management for Kubernetes: Installing while connected online]
106119
107120
* xref:../../../storage/persistent_storage/persistent_storage_local/persistent-storage-using-lvms.adoc#lvms-reference-file_logical-volume-manager-storage[{lvms} reference YAML file]
108121

0 commit comments

Comments
 (0)