diff --git a/_topic_maps/_topic_map.yml b/_topic_maps/_topic_map.yml index 791e4394ad..ffd1d99699 100644 --- a/_topic_maps/_topic_map.yml +++ b/_topic_maps/_topic_map.yml @@ -2525,7 +2525,14 @@ Topics: - Name: Performance considerations for etcd File: etcd-performance - Name: Backing up and restoring etcd data - File: etcd-backup + Dir: etcd-backup-restore + Topics: + - Name: Backing up etcd + File: etcd-backup + - Name: Replacing an unhealthy etcd member + File: replace-unhealthy-etcd-member + - Name: Disaster recovery + File: etcd-disaster-recovery - Name: Encrypting etcd data File: etcd-encrypt - Name: Setting up fault-tolerant control planes that span data centers diff --git a/backup_and_restore/control_plane_backup_and_restore/backing-up-etcd.adoc b/backup_and_restore/control_plane_backup_and_restore/backing-up-etcd.adoc index d2c4741c36..14c83d7b0e 100644 --- a/backup_and_restore/control_plane_backup_and_restore/backing-up-etcd.adoc +++ b/backup_and_restore/control_plane_backup_and_restore/backing-up-etcd.adoc @@ -1,3 +1,7 @@ +//NOTE TO CONTRIBUTORS: +// +//If you update any of the content in this assembly file, be sure to also make the same changes in the assemblies in the following file: backup_and_restore/control_plane_backup_and_restore/etcd-backup.adoc. + :_mod-docs-content-type: ASSEMBLY [id="backup-etcd"] = Backing up etcd diff --git a/backup_and_restore/control_plane_backup_and_restore/disaster_recovery/about-disaster-recovery.adoc b/backup_and_restore/control_plane_backup_and_restore/disaster_recovery/about-disaster-recovery.adoc index 326c9ecee5..856228c109 100644 --- a/backup_and_restore/control_plane_backup_and_restore/disaster_recovery/about-disaster-recovery.adoc +++ b/backup_and_restore/control_plane_backup_and_restore/disaster_recovery/about-disaster-recovery.adoc @@ -1,3 +1,7 @@ +//NOTE TO CONTRIBUTORS: +// +//If you update any of the content in this assembly file, be sure to also make the same changes in the assemblies in the following directory: etcd/etcd-backup-restore/etcd-disaster-recovery.adoc. + :_mod-docs-content-type: ASSEMBLY [id="about-dr"] = About disaster recovery diff --git a/backup_and_restore/control_plane_backup_and_restore/disaster_recovery/quorum-restoration.adoc b/backup_and_restore/control_plane_backup_and_restore/disaster_recovery/quorum-restoration.adoc index b3188128c4..56f319c0ad 100644 --- a/backup_and_restore/control_plane_backup_and_restore/disaster_recovery/quorum-restoration.adoc +++ b/backup_and_restore/control_plane_backup_and_restore/disaster_recovery/quorum-restoration.adoc @@ -1,3 +1,7 @@ +//NOTE TO CONTRIBUTORS: +// +//If you update any of the content in this assembly file, be sure to also make the same changes in the assemblies in the following directory: etcd/etcd-backup-restore/etcd-disaster-recovery.adoc. + :_mod-docs-content-type: ASSEMBLY [id="dr-quorum-restoration"] = Quorum restoration diff --git a/backup_and_restore/control_plane_backup_and_restore/disaster_recovery/scenario-2-restoring-cluster-state.adoc b/backup_and_restore/control_plane_backup_and_restore/disaster_recovery/scenario-2-restoring-cluster-state.adoc index 6a5b423c68..f16d43ff75 100644 --- a/backup_and_restore/control_plane_backup_and_restore/disaster_recovery/scenario-2-restoring-cluster-state.adoc +++ b/backup_and_restore/control_plane_backup_and_restore/disaster_recovery/scenario-2-restoring-cluster-state.adoc @@ -1,3 +1,7 @@ +//NOTE TO CONTRIBUTORS: +// +//If you update any of the content in this assembly file, be sure to also make the same changes in the assemblies in the following directory: etcd/etcd-backup-restore/etcd-disaster-recovery.adoc. + :_mod-docs-content-type: ASSEMBLY [id="dr-restoring-cluster-state"] = Restoring to a previous cluster state diff --git a/backup_and_restore/control_plane_backup_and_restore/disaster_recovery/scenario-3-expired-certs.adoc b/backup_and_restore/control_plane_backup_and_restore/disaster_recovery/scenario-3-expired-certs.adoc index 907c61922a..99cb364126 100644 --- a/backup_and_restore/control_plane_backup_and_restore/disaster_recovery/scenario-3-expired-certs.adoc +++ b/backup_and_restore/control_plane_backup_and_restore/disaster_recovery/scenario-3-expired-certs.adoc @@ -1,3 +1,7 @@ +//NOTE TO CONTRIBUTORS: +// +//If you update any of the content in this assembly file, be sure to also make the same changes in the assemblies in the following directory: etcd/etcd-backup-restore/etcd-disaster-recovery.adoc. + :_mod-docs-content-type: ASSEMBLY [id="dr-recovering-expired-certs"] = Recovering from expired control plane certificates diff --git a/backup_and_restore/control_plane_backup_and_restore/replacing-unhealthy-etcd-member.adoc b/backup_and_restore/control_plane_backup_and_restore/replacing-unhealthy-etcd-member.adoc index 3ca6c053af..eb9906840c 100644 --- a/backup_and_restore/control_plane_backup_and_restore/replacing-unhealthy-etcd-member.adoc +++ b/backup_and_restore/control_plane_backup_and_restore/replacing-unhealthy-etcd-member.adoc @@ -1,3 +1,7 @@ +//NOTE TO CONTRIBUTORS: +// +//If you update any of the content in this assembly file, be sure to also make the same changes in the assemblies in the following file: etcd/etcd-backup-and-restore/replace-unhealthy-etcd-member.adoc + :_mod-docs-content-type: ASSEMBLY [id="replacing-unhealthy-etcd-member"] = Replacing an unhealthy etcd member diff --git a/etcd/etcd-backup-restore/_attributes b/etcd/etcd-backup-restore/_attributes new file mode 120000 index 0000000000..f27fd275ea --- /dev/null +++ b/etcd/etcd-backup-restore/_attributes @@ -0,0 +1 @@ +../_attributes/ \ No newline at end of file diff --git a/etcd/etcd-backup-restore/etcd-backup.adoc b/etcd/etcd-backup-restore/etcd-backup.adoc new file mode 100644 index 0000000000..5af8153ad4 --- /dev/null +++ b/etcd/etcd-backup-restore/etcd-backup.adoc @@ -0,0 +1,36 @@ +//NOTE TO CONTRIBUTORS: +// +//If you update any of the content in this assembly file, be sure to also make the same changes in the assemblies in the following file: backup_and_restore/control_plane_backup_and_restore/backing-up-etcd.adoc. + +:_mod-docs-content-type: ASSEMBLY +[id="etcd-backup"] +include::_attributes/common-attributes.adoc[] += Backing up and restoring etcd data +:context: etcd-backup + +toc::[] + +As the key-value store for {product-title}, etcd persists the state of all resource objects. + +Back up the etcd data for your cluster regularly and store it in a secure location, ideally outside the {product-title} environment. Do not take an etcd backup before the first certificate rotation completes, which occurs 24 hours after installation, otherwise the backup will contain expired certificates. It is also recommended to take etcd backups during non-peak usage hours because the etcd snapshot has a high I/O cost. + +Be sure to take an etcd backup before you update your cluster. Taking a backup before you update is important because when you restore your cluster, you must use an etcd backup that was taken from the same z-stream release. For example, an {product-title} 4.17.5 cluster must use an etcd backup that was taken from 4.17.5. + +[IMPORTANT] +==== +Back up your cluster's etcd data by performing a single invocation of the backup script on a control plane host. Do not take a backup for each control plane host. +==== + +After you have an etcd backup, you can xref:../../backup_and_restore/control_plane_backup_and_restore/disaster_recovery/scenario-2-restoring-cluster-state.adoc#dr-restoring-cluster-state[restore to a previous cluster state]. + +// Backing up etcd data +include::modules/backup-etcd.adoc[leveloffset=+1] + +[role="_additional-resources"] +.Additional resources +* xref:../../hosted_control_planes/hcp_high_availability/hcp-recovering-etcd-cluster.adoc#hcp-recovering-etcd-cluster[Recovering an unhealthy etcd cluster] + +// Creating automated etcd backups +include::modules/etcd-creating-automated-backups.adoc[leveloffset=+1] +include::modules/creating-single-etcd-backup.adoc[leveloffset=+2] +include::modules/creating-recurring-etcd-backups.adoc[leveloffset=+2] \ No newline at end of file diff --git a/etcd/etcd-backup-restore/etcd-disaster-recovery.adoc b/etcd/etcd-backup-restore/etcd-disaster-recovery.adoc new file mode 100644 index 0000000000..937ef2a2c7 --- /dev/null +++ b/etcd/etcd-backup-restore/etcd-disaster-recovery.adoc @@ -0,0 +1,81 @@ +//NOTE TO CONTRIBUTORS: +// +//If you update any of the content in this assembly file, be sure to also make the same changes in the assemblies in the following directory: backup_and_restore/control_plane_backup_and_restore/disaster-recovery/. + +:_mod-docs-content-type: ASSEMBLY +[id="etcd-disaster-recovery"] +include::_attributes/common-attributes.adoc[] += Disaster recovery +:context: etcd-disaster-recovery + +toc::[] + +The disaster recovery documentation provides information for administrators on how to recover from several disaster situations that might occur with their {product-title} cluster. As an administrator, you might need to follow one or more of the following procedures to return your cluster to a working state. + +[IMPORTANT] +==== +Disaster recovery requires you to have at least one healthy control plane host. +==== + +[id="etcd-dr-quorum"] +== Quorum restoration + +You can use the `quorum-restore.sh` script to restore etcd quorum on clusters that are offline due to quorum loss. When quorum is lost, the {product-title} API becomes read-only. After quorum is restored, the {product-title} API returns to read/write mode. + +// Restoring etcd quorum for high availability clusters +include::modules/dr-restoring-etcd-quorum-ha.adoc[leveloffset=+2] + +[role="_additional-resources"] +.Additional resources +* xref:../../installing/installing_bare_metal/upi/installing-bare-metal.adoc#installing-bare-metal[Installing a user-provisioned cluster on bare metal] +* xref:../../installing/installing_bare_metal/bare-metal-expanding-the-cluster.adoc#replacing-a-bare-metal-control-plane-node_bare-metal-expanding[Replacing a bare-metal control plane node] + +[NOTE] +==== +If you have a majority of your control plane nodes still available and have an etcd quorum, xref:../../backup_and_restore/control_plane_backup_and_restore/replacing-unhealthy-etcd-member.adoc#replacing-unhealthy-etcd-member[replace a single unhealthy etcd member]. +==== + +[id="etcd-dr-restore"] +== Restoring to a previous cluster state + +To restore the cluster to a previous state, you must have previously backed up the `etcd` data by creating a snapshot. You will use this snapshot to restore the cluster state. For more information, see "Backing up etcd data". + +If applicable, you might also need to xref:../../backup_and_restore/control_plane_backup_and_restore/disaster_recovery/scenario-3-expired-certs.adoc#dr-recovering-expired-certs[recover from expired control plane certificates]. + +[WARNING] +==== +Restoring to a previous cluster state is a destructive and destablizing action to take on a running cluster. This procedure should only be used as a last resort. + +Before performing a restore, see "About restoring to a previous cluster state" for more information on the impact to the cluster. +==== + +// About restoring to a previous cluster state +include::modules/dr-restoring-cluster-state-about.adoc[leveloffset=+2] + +// Restoring to a previous cluster state for a single node +include::modules/dr-restoring-cluster-state-sno.adoc[leveloffset=+2] + +// Restoring to a previous cluster state +include::modules/dr-restoring-cluster-state.adoc[leveloffset=+2] + +// Restoring a cluster from etcd backup manually +include::modules/manually-restoring-cluster-etcd-backup.adoc[leveloffset=+2] + +[role="_additional-resources"] +.Additional resources +* xref:../../backup_and_restore/control_plane_backup_and_restore/backing-up-etcd.adoc#backing-up-etcd-data_backup-etcd[Backing up etcd data] +* xref:../../installing/installing_bare_metal/upi/installing-bare-metal.adoc#installing-bare-metal[Installing a user-provisioned cluster on bare metal] +* xref:../../networking/accessing-hosts.adoc#accessing-hosts-on-aws_accessing-hosts[Accessing hosts on Amazon Web Services in an installer-provisioned infrastructure cluster] +* xref:../../installing/installing_bare_metal/bare-metal-expanding-the-cluster.adoc#replacing-a-bare-metal-control-plane-node_bare-metal-expanding[Replacing a bare-metal control plane node] + +include::modules/dr-scenario-cluster-state-issues.adoc[leveloffset=+2] + +// Recovering from expired control plane certificates +include::modules/dr-recover-expired-control-plane-certs.adoc[leveloffset=+1] + +//Testing restore procedures +include::modules/dr-testing-restore-procedures.adoc[leveloffset=+1] + +[role="_additional-resources"] +.Additional resources +* xref:../../backup_and_restore/control_plane_backup_and_restore/disaster_recovery/scenario-2-restoring-cluster-state.adoc#dr-restoring-cluster-state[Restoring to a previous cluster state] \ No newline at end of file diff --git a/etcd/etcd-backup-restore/images b/etcd/etcd-backup-restore/images new file mode 120000 index 0000000000..e4c5bd02a1 --- /dev/null +++ b/etcd/etcd-backup-restore/images @@ -0,0 +1 @@ +../images/ \ No newline at end of file diff --git a/etcd/etcd-backup-restore/modules b/etcd/etcd-backup-restore/modules new file mode 120000 index 0000000000..43aab75b53 --- /dev/null +++ b/etcd/etcd-backup-restore/modules @@ -0,0 +1 @@ +../modules/ \ No newline at end of file diff --git a/etcd/etcd-backup-restore/replace-unhealthy-etcd-member.adoc b/etcd/etcd-backup-restore/replace-unhealthy-etcd-member.adoc new file mode 100644 index 0000000000..37b18638e4 --- /dev/null +++ b/etcd/etcd-backup-restore/replace-unhealthy-etcd-member.adoc @@ -0,0 +1,55 @@ +//NOTE TO CONTRIBUTORS: +// +//If you update any of the content in this assembly file, be sure to also make the same changes in the assemblies in the following file: backup_and_restore/control_plane_backup_and_restore/replacing-unhealthy-etcd-member.adoc. + +:_mod-docs-content-type: ASSEMBLY +[id="replace-unhealthy-etcd-member"] +include::_attributes/common-attributes.adoc[] += Replacing an unhealthy etcd member +:context: replace-unhealthy-etcd-member + +toc::[] + +The process to replace a single unhealthy etcd member depends on whether the etcd member is unhealthy because the machine is not running or the node is not ready, or because the etcd pod is crashlooping. + +[NOTE] +==== +If you have lost the majority of your control plane hosts, follow the disaster recovery procedure to xref:../../backup_and_restore/control_plane_backup_and_restore/disaster_recovery/scenario-2-restoring-cluster-state.adoc#dr-restoring-cluster-state[restore to a previous cluster state] instead of this procedure. + +If the control plane certificates are not valid on the member being replaced, then you must follow the procedure to xref:../../backup_and_restore/control_plane_backup_and_restore/disaster_recovery/scenario-3-expired-certs.adoc#dr-recovering-expired-certs[recover from expired control plane certificates] instead of this procedure. + +If a control plane node is lost and a new one is created, the etcd cluster Operator handles generating the new TLS certificates and adding the node as an etcd member. +==== + +// Identifying an unhealthy etcd member +include::modules/restore-identify-unhealthy-etcd-member.adoc[leveloffset=+1] + +// Determining the state of the unhealthy etcd member +include::modules/restore-determine-state-etcd-member.adoc[leveloffset=+1] + +== Replacing the unhealthy etcd member + +Depending on the state of your unhealthy etcd member, use one of the following procedures: + +* Replacing an unhealthy etcd member whose machine is not running or whose node is not ready +* Installing a primary control plane node on an unhealthy cluster +* Replacing an unhealthy etcd member whose etcd pod is crashlooping +* Replacing an unhealthy stopped baremetal etcd member + +// Replacing an unhealthy etcd member whose machine is not running or whose node is not ready +include::modules/restore-replace-stopped-etcd-member.adoc[leveloffset=+2] + +[role="_additional-resources"] +.Additional resources +* xref:../../machine_management/control_plane_machine_management/cpmso-troubleshooting.adoc#cpmso-ts-etcd-degraded_cpmso-troubleshooting[Recovering a degraded etcd Operator] +* link:https://docs.redhat.com/en/documentation/assisted_installer_for_openshift_container_platform/2024/html/installing_openshift_container_platform_with_the_assisted_installer/expanding-the-cluster#installing-primary-control-plane-node-unhealthy-cluster_expanding-the-cluster[Installing a primary control plane node on an unhealthy cluster] + +// Replacing an unhealthy etcd member whose etcd pod is crashlooping +include::modules/restore-replace-crashlooping-etcd-member.adoc[leveloffset=+2] + +// Replacing an unhealthy baremetal stopped etcd member +include::modules/restore-replace-stopped-baremetal-etcd-member.adoc[leveloffset=+2] + +[role="_additional-resources"] +.Additional resources +* xref:../../machine_management/deleting-machine.adoc#machine-lifecycle-hook-deletion-etcd_deleting-machine[Quorum protection with machine lifecycle hooks] \ No newline at end of file diff --git a/etcd/etcd-backup-restore/snippets b/etcd/etcd-backup-restore/snippets new file mode 120000 index 0000000000..9f5bc7e4dd --- /dev/null +++ b/etcd/etcd-backup-restore/snippets @@ -0,0 +1 @@ +../snippets \ No newline at end of file diff --git a/etcd/etcd-backup.adoc b/etcd/etcd-backup.adoc deleted file mode 100644 index bb122c6d63..0000000000 --- a/etcd/etcd-backup.adoc +++ /dev/null @@ -1,149 +0,0 @@ -:_mod-docs-content-type: ASSEMBLY -[id="etcd-backup"] -include::_attributes/common-attributes.adoc[] -= Backing up and restoring etcd data -:context: etcd-backup - -toc::[] - -As the key-value store for {product-title}, etcd persists the state of all resource objects. - -Back up the etcd data for your cluster regularly and store it in a secure location, ideally outside the {product-title} environment. Do not take an etcd backup before the first certificate rotation completes, which occurs 24 hours after installation, otherwise the backup will contain expired certificates. It is also recommended to take etcd backups during non-peak usage hours because the etcd snapshot has a high I/O cost. - -Be sure to take an etcd backup before you update your cluster. Taking a backup before you update is important because when you restore your cluster, you must use an etcd backup that was taken from the same z-stream release. For example, an {product-title} 4.17.5 cluster must use an etcd backup that was taken from 4.17.5. - -[IMPORTANT] -==== -Back up your cluster's etcd data by performing a single invocation of the backup script on a control plane host. Do not take a backup for each control plane host. -==== - -After you have an etcd backup, you can xref:../etcd/etcd-backup.adoc#dr-scenario-2-restoring-cluster-state-about_etcd-backup[restore to a previous cluster state]. - -// Backing up etcd data -include::modules/backup-etcd.adoc[leveloffset=+1] - -[role="_additional-resources"] -.Additional resources -* xref:../hosted_control_planes/hcp_high_availability/hcp-recovering-etcd-cluster.adoc[Recovering an unhealthy etcd cluster for {hcp}] - -// Creating automated etcd backups -include::modules/etcd-creating-automated-backups.adoc[leveloffset=+1] - -// Creating a single etcd backup -include::modules/creating-single-etcd-backup.adoc[leveloffset=+2] - -// Creating recurring etcd backups -include::modules/creating-recurring-etcd-backups.adoc[leveloffset=+2] - -[id="replace-unhealthy-etcd-member_{context}"] -== Replacing an unhealthy etcd member - -The process to replace a single unhealthy etcd member depends on whether the etcd member is unhealthy because the machine is not running or the node is not ready, or because the etcd pod is crashlooping. - -[NOTE] -==== -If you have lost the majority of your control plane hosts, follow the disaster recovery procedure to xref:../etcd/etcd-backup.adoc#dr-scenario-2-restoring-cluster-state-about_etcd-backup[restore to a previous cluster state] instead of this procedure. - -If the control plane certificates are not valid on the member being replaced, then you must follow the procedure to xref:../etcd/etcd-backup.adoc#dr-scenario-3-recovering-expired-certs_etcd-backup[recover from expired control plane certificates] instead of this procedure. - -If a control plane node is lost and a new one is created, the etcd cluster Operator handles generating the new TLS certificates and adding the node as an etcd member. -==== - -// Identifying an unhealthy etcd member -include::modules/restore-identify-unhealthy-etcd-member.adoc[leveloffset=+2] - -[.role=_additional-resources] -.Additional resources -* xref:../etcd/etcd-backup.adoc#backing-up-etcd-data_etcd-backup[Backing up etcd data] - -// Determining the state of the unhealthy etcd member -include::modules/restore-determine-state-etcd-member.adoc[leveloffset=+2] - -// Replacing an unhealthy etcd member whose machine is not running or whose node is not ready -include::modules/restore-replace-stopped-etcd-member.adoc[leveloffset=+3] - -[role="_additional-resources"] -.Additional resources -* xref:../machine_management/control_plane_machine_management/cpmso-troubleshooting.adoc#cpmso-ts-etcd-degraded_cpmso-troubleshooting[Recovering a degraded etcd Operator] -* link:https://docs.redhat.com/en/documentation/assisted_installer_for_openshift_container_platform/2023/html/assisted_installer_for_openshift_container_platform/expanding-the-cluster#installing-primary-control-plane-node-unhealthy-cluster_expanding-the-cluster[Installing a primary control plane node on an unhealthy cluster] - -// Replacing an unhealthy etcd member whose etcd pod is crashlooping -include::modules/restore-replace-crashlooping-etcd-member.adoc[leveloffset=+3] - -// Replacing an unhealthy baremetal stopped etcd member -include::modules/restore-replace-stopped-baremetal-etcd-member.adoc[leveloffset=+3] - -[role="_additional-resources"] -.Additional resources -* xref:../machine_management/deleting-machine.adoc#machine-lifecycle-hook-deletion-etcd_deleting-machine[Quorum protection with machine lifecycle hooks] - -[id="etcd-disaster-recovery_{context}"] -== Disaster recovery - -The disaster recovery documentation provides information for administrators on how to recover from several disaster situations that might occur with their {product-title} cluster. As an administrator, you might need to follow one or more of the following procedures to return your cluster to a working state. - -[IMPORTANT] -==== -Disaster recovery requires you to have at least one healthy control plane host. -==== - -xref:../etcd/etcd-backup.adoc#dr-restoring-etcd-quorum-ha_etcd-backup[Restoring etcd quorum for high availability clusters]:: This solution handles situations where you have lost the majority of your control plane hosts, leading to etcd quorum loss and the cluster going offline. This solution does not require an etcd backup. -+ -[NOTE] -==== -If you have a majority of your control plane nodes still available and have an etcd quorum, xref:../etcd/etcd-backup.adoc#replace-unhealthy-etcd-member_etcd-backup[replace a single unhealthy etcd member]. -==== - -xref:../etcd/etcd-backup.adoc#dr-scenario-2-restoring-cluster-state-about_etcd-backup[Restoring to a previous cluster state]:: This solution handles situations where you want to restore your cluster to a previous state, for example, if an administrator deletes something critical. If you have taken an etcd backup, you can restore your cluster to a previous state. -+ -If applicable, you might also need to xref:../etcd/etcd-backup.adoc#dr-scenario-3-recovering-expired-certs_etcd-backup[recover from expired control plane certificates]. -+ -[WARNING] -==== -Restoring to a previous cluster state is a destructive and destablizing action to take on a running cluster. This procedure should only be used as a last resort. - -Before performing a restore, see xref:../etcd/etcd-backup.adoc#dr-scenario-2-restoring-cluster-state-about_etcd-backup[Restoring a cluster state] for more information on the impact to the cluster. -==== - -xref:../etcd/etcd-backup.adoc#dr-scenario-3-recovering-expired-certs_etcd-backup[Recovering from expired control plane certificates]:: This solution handles situations where your control plane certificates have expired. For example, if you shut down your cluster before the first certificate rotation, which occurs 24 hours after installation, your certificates will not be rotated and will expire. You can follow this procedure to recover from expired control plane certificates. - -// Testing restore procedures -include::modules/dr-testing-restore-procedures.adoc[leveloffset=+2] - -[role="_additional-resources"] -.Additional resources -* xref:../etcd/etcd-backup.adoc#dr-scenario-2-restoring-cluster-state-about_etcd-backup[Restoring to a previous cluster state] - -// Restoring etcd quorum for high availability clusters -include::modules/dr-restoring-etcd-quorum-ha.adoc[leveloffset=+2] - -[role="_additional-resources"] -.Additional resources -* xref:../installing/installing_bare_metal/upi/installing-bare-metal.adoc[Installing a user-provisioned cluster on bare metal] - -* xref:../installing/installing_bare_metal/bare-metal-expanding-the-cluster.adoc#replacing-a-bare-metal-control-plane-node_bare-metal-expanding[Replacing a bare-metal control plane node] - -// Restoring to a previous cluster state -include::modules/dr-restoring-cluster-state-about.adoc[leveloffset=+2] - -// Restoring to a previous cluster state for a single node -include::modules/dr-restoring-cluster-state-sno.adoc[leveloffset=+3] - -// Restoring to a previous cluster state -include::modules/dr-restoring-cluster-state.adoc[leveloffset=+3] - -// Restoring a cluster from etcd backup manually -include::modules/manually-restoring-cluster-etcd-backup.adoc[leveloffset=+3] - -[role="_additional-resources"] -.Additional resources -* xref:../etcd/etcd-backup.adoc#backing-up-etcd-data_etcd-backup[Backing up etcd data] -* xref:../installing/installing_bare_metal/upi/installing-bare-metal.adoc[Installing a user-provisioned cluster on bare metal] -* xref:../networking/accessing-hosts.adoc#accessing-hosts[Accessing hosts on Amazon Web Services in an installer-provisioned infrastructure cluster] -* xref:../installing/installing_bare_metal/bare-metal-expanding-the-cluster.adoc#replacing-a-bare-metal-control-plane-node_bare-metal-expanding[Replacing a bare-metal control plane node] - -// Issues and workarounds for restoring a persistent storage state -include::modules/dr-scenario-cluster-state-issues.adoc[leveloffset=+3] - -// Recovering from expired control plane certificates -include::modules/dr-recover-expired-control-plane-certs.adoc[leveloffset=+2] \ No newline at end of file diff --git a/modules/backup-etcd.adoc b/modules/backup-etcd.adoc index f31b3d00dc..9deecda302 100644 --- a/modules/backup-etcd.adoc +++ b/modules/backup-etcd.adoc @@ -2,7 +2,6 @@ // // * backup_and_restore/control_plane_backup_and_restore/backing-up-etcd.adoc // * post_installation_configuration/cluster-tasks.adoc -// * etcd/etcd-backup.adoc :_mod-docs-content-type: PROCEDURE [id="backing-up-etcd-data_{context}"] diff --git a/modules/creating-recurring-etcd-backups.adoc b/modules/creating-recurring-etcd-backups.adoc index 02dfed1705..7404588004 100644 --- a/modules/creating-recurring-etcd-backups.adoc +++ b/modules/creating-recurring-etcd-backups.adoc @@ -1,6 +1,6 @@ //Module included in the following assemblies: // -// * etcd/etcd-backup.adoc +// * etcd/etcd-backup-restore/etcd-backup.adoc :_mod-docs-content-type: PROCEDURE [id="creating-recurring-etcd-backups_{context}"] diff --git a/modules/creating-single-etcd-backup.adoc b/modules/creating-single-etcd-backup.adoc index b6c08b0193..09ba879620 100644 --- a/modules/creating-single-etcd-backup.adoc +++ b/modules/creating-single-etcd-backup.adoc @@ -1,7 +1,7 @@ // Module included in the following assemblies: // // * backup_and_restore/control_plane_backup_and_restore/backing-up-etcd.adoc -// * etcd/etcd-backup.adoc +// * etcd/etcd-backup-restore/etcd-backup.adoc :_mod-docs-content-type: PROCEDURE [id="creating-single-etcd-backup_{context}"] diff --git a/modules/dr-recover-expired-control-plane-certs.adoc b/modules/dr-recover-expired-control-plane-certs.adoc index a5ddb30a0c..588f3c4414 100644 --- a/modules/dr-recover-expired-control-plane-certs.adoc +++ b/modules/dr-recover-expired-control-plane-certs.adoc @@ -1,7 +1,7 @@ // Module included in the following assemblies: // // * disaster_recovery/scenario-3-expired-certs.adoc -// * etcd/etcd-backup.adoc +// * etcd/etcd-backup-restore/etcd-disaster-recovery.adoc :_mod-docs-content-type: PROCEDURE [id="dr-scenario-3-recovering-expired-certs_{context}"] diff --git a/modules/dr-restoring-cluster-state-about.adoc b/modules/dr-restoring-cluster-state-about.adoc index c9e6d98907..66744095c2 100644 --- a/modules/dr-restoring-cluster-state-about.adoc +++ b/modules/dr-restoring-cluster-state-about.adoc @@ -1,11 +1,11 @@ // Module included in the following assemblies: // -// * disaster_recovery/scenario-2-restoring-cluster-state.adoc -// * etcd/etcd-backup.adoc +// * backup_and_recovery/control_plane_backup_and_restore/disaster_recovery/scenario-2-restoring-cluster-state.adoc +// * etcd/etcd-backup-restore/etcd-disaster-recovery.adoc :_mod-docs-content-type: CONCEPT [id="dr-scenario-2-restoring-cluster-state-about_{context}"] -= Restoring to a previous cluster state += About restoring to a previous cluster state To restore the cluster to a previous state, you must have previously backed up the `etcd` data by creating a snapshot. You will use this snapshot to restore the cluster state. For more information, see "Backing up etcd data". diff --git a/modules/dr-restoring-cluster-state-sno.adoc b/modules/dr-restoring-cluster-state-sno.adoc index cc8a8dc27a..da6bef5471 100644 --- a/modules/dr-restoring-cluster-state-sno.adoc +++ b/modules/dr-restoring-cluster-state-sno.adoc @@ -1,7 +1,7 @@ // Module included in the following assemblies: // // * disaster_recovery/scenario-2-restoring-cluster-state.adoc -// * etcd/etcd-backup.adoc +// * etcd/etcd-backup-restore/etcd-disaster-recovery.adoc :_mod-docs-content-type: PROCEDURE [id="dr-restoring-cluster-state-sno_{context}"] diff --git a/modules/dr-restoring-cluster-state.adoc b/modules/dr-restoring-cluster-state.adoc index f3005d1a70..7224449b61 100644 --- a/modules/dr-restoring-cluster-state.adoc +++ b/modules/dr-restoring-cluster-state.adoc @@ -2,7 +2,7 @@ // // * disaster_recovery/scenario-2-restoring-cluster-state.adoc // * post_installation_configuration/cluster-tasks.adoc -// * etcd/etcd-backup.adoc +// * etcd/etcd-backup-restore/etcd-disaster-recovery.adoc // Contributors: The documentation for this section changed drastically for 4.18+. diff --git a/modules/dr-restoring-etcd-quorum-ha.adoc b/modules/dr-restoring-etcd-quorum-ha.adoc index e91458c08c..7143d8c435 100644 --- a/modules/dr-restoring-etcd-quorum-ha.adoc +++ b/modules/dr-restoring-etcd-quorum-ha.adoc @@ -1,7 +1,7 @@ // Module included in the following assemblies: // // * disaster_recovery/quorum-restoration.adoc -// * etcd/etcd-backup.adoc +// * etcd/etcd-backup-restore/etcd-disaster-recovery.adoc :_mod-docs-content-type: PROCEDURE [id="dr-restoring-etcd-quorum-ha_{context}"] diff --git a/modules/dr-scenario-cluster-state-issues.adoc b/modules/dr-scenario-cluster-state-issues.adoc index e250b7f78d..26867e9777 100644 --- a/modules/dr-scenario-cluster-state-issues.adoc +++ b/modules/dr-scenario-cluster-state-issues.adoc @@ -2,7 +2,7 @@ // // * disaster_recovery/scenario-2-restoring-cluster-state.adoc // * post_installation_configuration/cluster-tasks.adoc -// * etcd/etcd-backup.adoc +// * etcd/etcd-backup-restore/etcd-disaster-recovery.adoc [id="dr-scenario-cluster-state-issues_{context}"] = Issues and workarounds for restoring a persistent storage state diff --git a/modules/dr-testing-restore-procedures.adoc b/modules/dr-testing-restore-procedures.adoc index ffa70a2861..1f04312934 100644 --- a/modules/dr-testing-restore-procedures.adoc +++ b/modules/dr-testing-restore-procedures.adoc @@ -1,7 +1,7 @@ // Module included in the following assemblies: // // * disaster_recovery/about-disaster-recovery.adoc -// * etcd/etcd-backup.adoc +// * etcd/etcd-backup-restore/etcd-disaster-recovery.adoc :_mod-docs-content-type: PROCEDURE [id="dr-testing-restore-procedures_{context}"] diff --git a/modules/manually-restoring-cluster-etcd-backup.adoc b/modules/manually-restoring-cluster-etcd-backup.adoc index 26e217d65f..6644e865fc 100644 --- a/modules/manually-restoring-cluster-etcd-backup.adoc +++ b/modules/manually-restoring-cluster-etcd-backup.adoc @@ -2,7 +2,7 @@ // // * disaster_recovery/scenario-2-manually-restoring-cluster-etcd-backup.adoc // * post_installation_configuration/cluster-tasks.adoc -// * etcd/etcd-backup.adoc +// * etcd/etcd-backup-restore/etcd-disaster-recovery.adoc :_mod-docs-content-type: PROCEDURE diff --git a/modules/restore-determine-state-etcd-member.adoc b/modules/restore-determine-state-etcd-member.adoc index dac5bfdf6b..23f69d0f8f 100644 --- a/modules/restore-determine-state-etcd-member.adoc +++ b/modules/restore-determine-state-etcd-member.adoc @@ -1,7 +1,7 @@ // Module included in the following assemblies: // // * backup_and_restore/replacing-unhealthy-etcd-member.adoc -// * etcd/etcd-backup.adoc +// * etcd/etcd-backup-restore/replace-unhealthy-etcd-member.adoc :_mod-docs-content-type: PROCEDURE [id="restore-determine-state-etcd-member_{context}"] diff --git a/modules/restore-identify-unhealthy-etcd-member.adoc b/modules/restore-identify-unhealthy-etcd-member.adoc index db6feb6c83..efa1ce5356 100644 --- a/modules/restore-identify-unhealthy-etcd-member.adoc +++ b/modules/restore-identify-unhealthy-etcd-member.adoc @@ -1,7 +1,7 @@ // Module included in the following assemblies: // // * backup_and_restore/replacing-unhealthy-etcd-member.adoc -// * etcd/etcd-backup.adoc +// * etcd/etcd-backup-restore/replace-unhealthy-etcd-member.adoc :_mod-docs-content-type: PROCEDURE [id="restore-identify-unhealthy-etcd-member_{context}"] diff --git a/modules/restore-replace-crashlooping-etcd-member.adoc b/modules/restore-replace-crashlooping-etcd-member.adoc index 803b3d308a..303c2b21f1 100644 --- a/modules/restore-replace-crashlooping-etcd-member.adoc +++ b/modules/restore-replace-crashlooping-etcd-member.adoc @@ -1,7 +1,7 @@ // Module included in the following assemblies: // // * backup_and_restore/replacing-unhealthy-etcd-member.adoc -// * etcd/etcd-backup.adoc +// * etcd/etcd-backup-restore/replace-unhealthy-etcd-member.adoc :_mod-docs-content-type: PROCEDURE [id="restore-replace-crashlooping-etcd-member_{context}"] diff --git a/modules/restore-replace-stopped-baremetal-etcd-member.adoc b/modules/restore-replace-stopped-baremetal-etcd-member.adoc index 3d3a51053d..e4c3b61967 100644 --- a/modules/restore-replace-stopped-baremetal-etcd-member.adoc +++ b/modules/restore-replace-stopped-baremetal-etcd-member.adoc @@ -1,7 +1,7 @@ // Module included in the following assemblies: // // * /backup_and_restore/control_plane_backup_and_restore/replacing-unhealthy-etcd-member.adoc -// * etcd/etcd-backup.adoc +// * etcd/etcd-backup-restore/replace-unhealthy-etcd-member.adoc :_mod-docs-content-type: PROCEDURE [id="restore-replace-stopped-baremetal-etcd-member_{context}"] diff --git a/modules/restore-replace-stopped-etcd-member.adoc b/modules/restore-replace-stopped-etcd-member.adoc index 7f0dd47053..7c2255d6c5 100644 --- a/modules/restore-replace-stopped-etcd-member.adoc +++ b/modules/restore-replace-stopped-etcd-member.adoc @@ -1,7 +1,7 @@ // Module included in the following assemblies: // // * backup_and_restore/control_plane_backup_and_restore/modules/restore-replace-stopped-etcd-member.adoc -// * etcd/etcd-backup.adoc +// * etcd/etcd-backup-restore/replace-unhealthy-etcd-member.adoc :_mod-docs-content-type: PROCEDURE [id="restore-replace-stopped-etcd-member_{context}"]