From 3a18315fe5a4f0fab53d1b5b6ff4f9f6510fe7c3 Mon Sep 17 00:00:00 2001 From: Dwight Hodge Date: Mon, 9 Sep 2024 11:54:54 -0400 Subject: [PATCH 1/5] Backups and DDLs --- .../preview/manage/backup-restore/_index.md | 17 ++++++++++++++--- .../cloud-clusters/backup-clusters.md | 4 ++++ .../back-up-restore-universes/_index.md | 12 ++++++++++++ 3 files changed, 30 insertions(+), 3 deletions(-) diff --git a/docs/content/preview/manage/backup-restore/_index.md b/docs/content/preview/manage/backup-restore/_index.md index 6a1cc7f095f7..278e57a36dce 100644 --- a/docs/content/preview/manage/backup-restore/_index.md +++ b/docs/content/preview/manage/backup-restore/_index.md @@ -20,9 +20,20 @@ Backup and restoration is the process of creating and storing copies of your dat Unlike traditional single-instance databases, YugabyteDB is designed for fault tolerance. By maintaining at least three copies of your data across multiple data regions or multiple clouds, it makes sure no losses occur if a single node or single data region becomes unavailable. Thus, with YugabyteDB, you would mainly use backups to: -* Recover from a user or software error, such as accidental table removal. -* Recover from a disaster scenario, like a full cluster failure or a simultaneous outage of multiple data regions. Even though such scenarios are extremely unlikely, it's still a best practice to maintain a way to recover from them. -* Maintain a remote copy of data, as required by data protection regulations. +- Recover from a user or software error, such as accidental table removal. +- Recover from a disaster scenario, like a full cluster failure or a simultaneous outage of multiple data regions. Even though such scenarios are extremely unlikely, it's still a best practice to maintain a way to recover from them. +- Maintain a remote copy of data, as required by data protection regulations. + +## Best practices + +- Don't perform cluster operations at the same time as your scheduled backup. +- Configure your maintenance window and backup schedule so that they do not conflict. +- Performing a backup or restore incurs a load on the cluster. Perform backup operations when the cluster isn't experiencing heavy traffic. Backing up during times of heavy traffic can temporarily degrade application performance and increase the length of time of the backup. +- Avoid running a backup during or before a scheduled maintenance. + +{{< warning title="Backups and high DDL activity" >}} +In some circumstances, a backup can fail during high DDL activity. Avoid performing major DDL operstions during scheduled backups or while a backup is in progress. +{{< /warning >}} {{}} diff --git a/docs/content/preview/yugabyte-cloud/cloud-clusters/backup-clusters.md b/docs/content/preview/yugabyte-cloud/cloud-clusters/backup-clusters.md index a21e0dd91008..34178c68e185 100644 --- a/docs/content/preview/yugabyte-cloud/cloud-clusters/backup-clusters.md +++ b/docs/content/preview/yugabyte-cloud/cloud-clusters/backup-clusters.md @@ -53,6 +53,10 @@ You can't restore a backup to a cluster with an version of YugabyteDB that is ea Backups are not supported for Sandbox clusters. +{{< warning title="Backups and high DDL activity" >}} +In some circumstances, a backup can fail during high DDL activity. Avoid performing major DDL operstions during scheduled backups or while a backup is in progress. +{{< /warning >}} + ## Recommendations - Don't perform cluster operations at the same time as your scheduled backup. diff --git a/docs/content/preview/yugabyte-platform/back-up-restore-universes/_index.md b/docs/content/preview/yugabyte-platform/back-up-restore-universes/_index.md index 6da8f58c632a..6cbd96e9f9c6 100644 --- a/docs/content/preview/yugabyte-platform/back-up-restore-universes/_index.md +++ b/docs/content/preview/yugabyte-platform/back-up-restore-universes/_index.md @@ -32,6 +32,18 @@ You can use YugabyteDB to schedule and manage backups of your universe data. Thi Configurable performance parameters and incremental backups are mediated using the yb-controller process, which is only available in YugabyteDB Anywhere v2.16 or later for universes with YugabyteDB version 2.16 or later. {{< /note >}} +## Best practices + +- Don't perform cluster operations at the same time as your scheduled backup. +- Configure your maintenance window and backup schedule so that they do not conflict. +- Performing a backup or restore incurs a load on the cluster. Perform backup operations when the cluster isn't experiencing heavy traffic. Backing up during times of heavy traffic can temporarily degrade application performance and increase the length of time of the backup. +- Avoid running a backup during or before a scheduled maintenance. + +{{< warning title="Backups and high DDL activity" >}} +In some circumstances, a backup can fail during high DDL activity. Avoid performing major DDL operstions during scheduled backups or while a backup is in progress. To view active tasks, navigate to **Tasks**. +{{< /warning >}} + + {{}} {{ Date: Mon, 9 Sep 2024 14:19:35 -0400 Subject: [PATCH 2/5] typo --- docs/content/preview/manage/backup-restore/_index.md | 2 +- .../preview/yugabyte-cloud/cloud-clusters/backup-clusters.md | 2 +- .../yugabyte-platform/back-up-restore-universes/_index.md | 3 +-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/docs/content/preview/manage/backup-restore/_index.md b/docs/content/preview/manage/backup-restore/_index.md index 278e57a36dce..178a3cc9462b 100644 --- a/docs/content/preview/manage/backup-restore/_index.md +++ b/docs/content/preview/manage/backup-restore/_index.md @@ -32,7 +32,7 @@ Unlike traditional single-instance databases, YugabyteDB is designed for fault t - Avoid running a backup during or before a scheduled maintenance. {{< warning title="Backups and high DDL activity" >}} -In some circumstances, a backup can fail during high DDL activity. Avoid performing major DDL operstions during scheduled backups or while a backup is in progress. +In some circumstances, a backup can fail during high DDL activity. Avoid performing major DDL operations during scheduled backups or while a backup is in progress. {{< /warning >}} {{}} diff --git a/docs/content/preview/yugabyte-cloud/cloud-clusters/backup-clusters.md b/docs/content/preview/yugabyte-cloud/cloud-clusters/backup-clusters.md index 34178c68e185..833cb8bd2ee6 100644 --- a/docs/content/preview/yugabyte-cloud/cloud-clusters/backup-clusters.md +++ b/docs/content/preview/yugabyte-cloud/cloud-clusters/backup-clusters.md @@ -54,7 +54,7 @@ You can't restore a backup to a cluster with an version of YugabyteDB that is ea Backups are not supported for Sandbox clusters. {{< warning title="Backups and high DDL activity" >}} -In some circumstances, a backup can fail during high DDL activity. Avoid performing major DDL operstions during scheduled backups or while a backup is in progress. +In some circumstances, a backup can fail during high DDL activity. Avoid performing major DDL operations during scheduled backups or while a backup is in progress. {{< /warning >}} ## Recommendations diff --git a/docs/content/preview/yugabyte-platform/back-up-restore-universes/_index.md b/docs/content/preview/yugabyte-platform/back-up-restore-universes/_index.md index 6cbd96e9f9c6..e8d43731d00f 100644 --- a/docs/content/preview/yugabyte-platform/back-up-restore-universes/_index.md +++ b/docs/content/preview/yugabyte-platform/back-up-restore-universes/_index.md @@ -40,10 +40,9 @@ Configurable performance parameters and incremental backups are mediated using t - Avoid running a backup during or before a scheduled maintenance. {{< warning title="Backups and high DDL activity" >}} -In some circumstances, a backup can fail during high DDL activity. Avoid performing major DDL operstions during scheduled backups or while a backup is in progress. To view active tasks, navigate to **Tasks**. +In some circumstances, a backup can fail during high DDL activity. Avoid performing major DDL operations during scheduled backups or while a backup is in progress. To view active tasks, navigate to **Tasks**. {{< /warning >}} - {{}} {{ Date: Wed, 11 Sep 2024 21:20:22 -0400 Subject: [PATCH 3/5] copy to stable --- .../back-up-universe-data.md | 4 +- .../configure-backup-storage.md | 100 +++++++++-------- .../disaster-recovery-setup.md | 2 +- .../restore-universe-data.md | 6 +- .../schedule-data-backups.md | 2 +- .../cloud-permissions-storage.md | 12 +-- .../stable/manage/backup-restore/_index.md | 17 ++- .../back-up-restore-universes/_index.md | 13 ++- .../back-up-universe-data.md | 6 +- .../configure-backup-storage.md | 102 ++++++++++-------- .../disaster-recovery-setup.md | 2 +- .../restore-universe-data.md | 18 ++-- .../schedule-data-backups.md | 2 +- .../cloud-permissions-storage.md | 12 +-- 14 files changed, 168 insertions(+), 130 deletions(-) diff --git a/docs/content/preview/yugabyte-platform/back-up-restore-universes/back-up-universe-data.md b/docs/content/preview/yugabyte-platform/back-up-restore-universes/back-up-universe-data.md index 178cf04eeb29..5eef4449fbae 100644 --- a/docs/content/preview/yugabyte-platform/back-up-restore-universes/back-up-universe-data.md +++ b/docs/content/preview/yugabyte-platform/back-up-restore-universes/back-up-universe-data.md @@ -134,9 +134,9 @@ s3://user_bucket | Component | Description | | :-------- | :---------- | -| Storage address | The name of the bucket as specified in the [backup configuration](../configure-backup-storage/) that was used for the backup. | +| Storage address | The name of the bucket as specified in the [storage configuration](../configure-backup-storage/) that was used for the backup. | | Sub-directories | The path of the sub-folders (if any) in a bucket. | -| Universe UUID | The UUID of the universe that was backed up. You can move this folder to different a location, but to successfully restore, do not modify this folder or any of its contents. | +| Universe UUID | The UUID of the universe that was backed up. You can move this folder to different a location, but to successfully restore, do not modify this folder, or any of its contents. | | Backup series name and UUID | The name of the backup series and YBA-generated UUID. The UUID ensures that YBA can correctly identify the appropriate folder. | | Backup type | `full` or `incremental`. Indicates whether the subfolders contain full or incremental backups. | | Creation time | The time the backup was started. | diff --git a/docs/content/preview/yugabyte-platform/back-up-restore-universes/configure-backup-storage.md b/docs/content/preview/yugabyte-platform/back-up-restore-universes/configure-backup-storage.md index 4ee2cd0a5763..1333c976d03e 100644 --- a/docs/content/preview/yugabyte-platform/back-up-restore-universes/configure-backup-storage.md +++ b/docs/content/preview/yugabyte-platform/back-up-restore-universes/configure-backup-storage.md @@ -18,26 +18,6 @@ Before you can back up universes, you need to configure a storage location for y Depending on your environment, you can save your YugabyteDB universe data to a variety of storage solutions. -## Local storage - -If your YugabyteDB universe has one node, you can create a local directory on a T-Server to which to back up, as follows: - -1. Navigate to **Universes**, select your universe, and then select **Nodes**. - -2. Click **Connect**. - -3. Take note of the services and endpoints information displayed in the **Connect** dialog, as shown in the following illustration: - - ![Connect dialog](/images/yp/cloud-provider-local-backup1.png) - -4. While connected using `ssh`, create a directory `/backup` and then change the owner to `yugabyte`, as follows: - - ```sh - sudo mkdir /backup; sudo chown yugabyte /backup - ``` - -If there is more than one node, you should consider using a network file system mounted on each server. - ## Amazon S3 You can configure Amazon S3 as your backup target, as follows: @@ -48,7 +28,7 @@ You can configure Amazon S3 as your backup target, as follows: ![S3 Backup](/images/yp/cloud-provider-configuration-backup-aws.png) -3. Use the **Configuration Name** field to provide a meaningful name for your backup configuration. +3. Use the **Configuration Name** field to provide a meaningful name for your storage configuration. 4. Enable **IAM Role** to use the YugabyteDB Anywhere instance's Identity Access Management (IAM) role for the S3 backup. See [Required S3 IAM permissions](#required-s3-iam-permissions). @@ -80,33 +60,17 @@ The following S3 IAM permissions are required: "s3:GetBucketLocation" ``` -## Network File System - -You can configure Network File System (NFS) as your backup target, as follows: - -1. Navigate to **Integrations > Backup > Network File System**. - -2. Click **Create NFS Backup** to access the configuration form shown in the following illustration: - - ![NFS Configuration](/images/yp/cloud-provider-configuration-backup-nfs.png) - -3. Use the **Configuration Name** field to provide a meaningful name for your backup configuration. - -4. Complete the **NFS Storage Path** field by entering `/backup` or another directory that provides read, write, and access permissions to the SSH user of the YugabyteDB Anywhere instance. - -5. Click **Save**. - ## Google Cloud Storage You can configure Google Cloud Storage (GCS) as your backup target, as follows: 1. Navigate to **Integrations > Backup > Google Cloud Storage**. -1. Click **Create GCS Backup** to access the configuration form shown in the following illustration: +1. Click **Create GCS Backup**. ![GCS Configuration](/images/yp/cloud-provider-configuration-backup-gcs-stable.png) -1. Use the **Configuration Name** field to provide a meaningful name for your backup configuration. +1. Use the **Configuration Name** field to provide a meaningful name for your storage configuration. 1. Enter the URI of your GCS bucket in the **GCS Bucket** field. For example, `gs://gcp-bucket/test_backups`. @@ -149,9 +113,27 @@ To enable GCP IAM during universe creation, refer to [Configure Helm overrides]( To upgrade an existing universe with GCP IAM, refer to [Upgrade universes for GKE service account-based IAM support](../../manage-deployments/edit-helm-overrides/#upgrade-universes-for-gke-service-account-based-iam). +## Network File System + +You can configure Network File System (NFS) as your backup target, as follows: + +1. Navigate to **Integrations > Backup > Network File System**. + +2. Click **Create NFS Backup** to access the configuration form shown in the following illustration: + + ![NFS Configuration](/images/yp/cloud-provider-configuration-backup-nfs.png) + +3. Use the **Configuration Name** field to provide a meaningful name for your storage configuration. + +4. Complete the **NFS Storage Path** field by entering `/backup` or another directory that provides read, write, and access permissions to the SSH user of the YugabyteDB Anywhere instance. + +5. Click **Save**. + ## Azure Storage -You can configure Azure as your backup target, as follows: +You can configure Azure as your backup target. + +### Configure storage on Azure 1. Create a storage account in Azure, as follows: @@ -179,12 +161,38 @@ You can configure Azure as your backup target, as follows: ![Azure Shared Access Signature page](/images/yp/cloud-provider-configuration-backup-azure-generate-token.png) -1. On your YugabyteDB Anywhere instance, provide the container URL and SAS token for creating a backup, as follows: +### Create an Azure storage configuration + +In YugabyteDB Anywhere: + +1. Navigate to **Integrations > Backup > Azure Storage**. + +1. Click **Create AZ Backup**. + + ![Azure Configuration](/images/yp/cloud-provider-configuration-backup-azure.png) + +1. Use the **Configuration Name** field to provide a meaningful name for your storage configuration. - - Navigate to **Integrations** > **Backup** > **Azure Storage**. - - Click **Create AZ Backup** to access the configuration form shown in the following illustration: +1. Enter values for the **Container URL** and **SAS Token** fields. - ![Azure Configuration](/images/yp/cloud-provider-configuration-backup-azure.png) +1. Click **Save**. + +## Local storage + +If your YugabyteDB universe has one node, you can create a local directory on a YB-TServer to which to back up, as follows: + +1. Navigate to **Universes**, select your universe, and then select **Nodes**. + +2. Click **Connect**. + +3. Take note of the services and endpoints information displayed in the **Connect** dialog, as shown in the following illustration: + + ![Connect dialog](/images/yp/cloud-provider-local-backup1.png) + +4. While connected using `ssh`, create a directory `/backup` and then change the owner to `yugabyte`, as follows: + + ```sh + sudo mkdir /backup; sudo chown yugabyte /backup + ``` - - Use the **Configuration Name** field to provide a meaningful name for your backup configuration. - - Enter values for the **Container URL** and **SAS Token** fields, and then click **Save**. +If there is more than one node, you should consider using a [network file system](#network-file-system) mounted on each server. diff --git a/docs/content/preview/yugabyte-platform/back-up-restore-universes/disaster-recovery/disaster-recovery-setup.md b/docs/content/preview/yugabyte-platform/back-up-restore-universes/disaster-recovery/disaster-recovery-setup.md index a7a8995c880d..aaa23b6d7e09 100644 --- a/docs/content/preview/yugabyte-platform/back-up-restore-universes/disaster-recovery/disaster-recovery-setup.md +++ b/docs/content/preview/yugabyte-platform/back-up-restore-universes/disaster-recovery/disaster-recovery-setup.md @@ -24,7 +24,7 @@ Ensure the universes have the following characteristics: - Both universes are running the same version of YugabyteDB (v2.18.0.0 or later). - Both universes have the same [encryption in transit](../../../security/enable-encryption-in-transit/) settings. Encryption in transit is recommended, and you should create the DR primary and DR replica universes with TLS enabled. -- They can be backed up and restored using the same backup configuration. +- They can be backed up and restored using the same [storage configuration](../../configure-backup-storage/). - They have enough disk space to support storage of write-ahead logs (WALs) in case of a network partition or a temporary outage of the DR replica universe. During these cases, WALs will continue to write until replication is restored. Consider sizing your disk according to your ability to respond and recover from network or other infrastructure outages. - DR enables [Point-in-time-recovery](../../pitr/) (PITR) on the DR replica, requiring additional disk space for the replica. diff --git a/docs/content/preview/yugabyte-platform/back-up-restore-universes/restore-universe-data.md b/docs/content/preview/yugabyte-platform/back-up-restore-universes/restore-universe-data.md index 9d0fda3e4e90..790df765e54e 100644 --- a/docs/content/preview/yugabyte-platform/back-up-restore-universes/restore-universe-data.md +++ b/docs/content/preview/yugabyte-platform/back-up-restore-universes/restore-universe-data.md @@ -156,11 +156,11 @@ To perform an advanced restore, on the YugabyteDB Anywhere installation where yo s3://user_bucket/some/sub/folders/univ-a85b5b01-6e0b-4a24-b088-478dafff94e4/ybc_backup-92317948b8e444ba150616bf182a061/incremental/20204-01-04T12: 11: 03/multi-table-postgres_40522fc46c69404893392b7d92039b9e ``` -1. Select the **Backup config** that corresponds to the location of the backup. The storage could be on Google Cloud, Amazon S3, Azure, or Network File System. +1. Select the **Backup config** that corresponds to the storage configuration that was used for the backup. The storage could be on Google Cloud, Amazon S3, Azure, or Network File System. - Note that the backup config bucket takes precedence over the bucket specified in the backup location. + Note that the storage configuration bucket takes precedence over the bucket specified in the backup location. - For example, if the backup config you provide is for the following S3 Bucket: + For example, if the storage configuration you select is for the following S3 Bucket: ```output s3://test_bucket/test diff --git a/docs/content/preview/yugabyte-platform/back-up-restore-universes/schedule-data-backups.md b/docs/content/preview/yugabyte-platform/back-up-restore-universes/schedule-data-backups.md index cf0d0e7fbc54..44db4cacfe70 100644 --- a/docs/content/preview/yugabyte-platform/back-up-restore-universes/schedule-data-backups.md +++ b/docs/content/preview/yugabyte-platform/back-up-restore-universes/schedule-data-backups.md @@ -37,7 +37,7 @@ Before scheduling a backup of your universe data, create a policy, as follows: 1. Select the API type for the backup. -1. Select the backup storage configuration. The available configurations depend on your existing backup storage configurations. For more information, see [Configure backup storage](../configure-backup-storage/). +1. Select the storage configuration. For more information, see [Configure backup storage](../configure-backup-storage/). 1. Select the database/keyspace to back up. diff --git a/docs/content/preview/yugabyte-platform/prepare/cloud-permissions/cloud-permissions-storage.md b/docs/content/preview/yugabyte-platform/prepare/cloud-permissions/cloud-permissions-storage.md index 4cce69354ab2..03c8d2f8549d 100644 --- a/docs/content/preview/yugabyte-platform/prepare/cloud-permissions/cloud-permissions-storage.md +++ b/docs/content/preview/yugabyte-platform/prepare/cloud-permissions/cloud-permissions-storage.md @@ -78,11 +78,11 @@ The following permissions are required: "s3:GetBucketLocation" ``` -The Access key ID and Secret Access Key for the service account are used when creating a [backup storage configuration](../../../back-up-restore-universes/configure-backup-storage/#amazon-s3) for S3. +The Access key ID and Secret Access Key for the service account are used when creating a backup [storage configuration](../../../back-up-restore-universes/configure-backup-storage/#amazon-s3) for S3. | Save for later | To configure | | :--- | :--- | -| Service account Access key ID and Secret Access Key | [Backup storage configuration](../../../back-up-restore-universes/configure-backup-storage/#amazon-s3) for S3 | +| Service account Access key ID and Secret Access Key | [Storage configuration](../../../back-up-restore-universes/configure-backup-storage/#amazon-s3) for S3 | @@ -96,11 +96,11 @@ To grant the required access, create a GCP service account with [IAM roles for c roles/storage.admin ``` -The credentials for this account (in JSON format) are used when creating a [backup storage configuration](../../../back-up-restore-universes/configure-backup-storage/#google-cloud-storage) for GCS. +The credentials for this account (in JSON format) are used when creating a backup [storage configuration](../../../back-up-restore-universes/configure-backup-storage/#google-cloud-storage) for GCS. | Save for later | To configure | | :--- | :--- | -| Storage service account JSON credentials | [Backup storage configuration](../../../back-up-restore-universes/configure-backup-storage/#google-cloud-storage) for GCS | +| Storage service account JSON credentials | [Storage configuration](../../../back-up-restore-universes/configure-backup-storage/#google-cloud-storage) for GCS | For database clusters deployed to GKE, you can alternatively assign the appropriate IAM roles to the YugabyteDB Anywhere VM and the YugabyteDB nodes. @@ -114,11 +114,11 @@ To grant the required access, create a [Shared Access Signature (SAS)](https://l ![Azure Shared Access Signature page](/images/yp/cloud-provider-configuration-backup-azure-generate-token.png) -The Connection string and SAS token are used when creating a [backup storage configuration](../../../back-up-restore-universes/configure-backup-storage/#azure-storage) for Azure. +The Connection string and SAS token are used when creating a backup [storage configuration](../../../back-up-restore-universes/configure-backup-storage/#azure-storage) for Azure. | Save for later | To configure | | :--- | :--- | -| Azure storage Connection string and SAS token | [Backup storage configuration](../../../back-up-restore-universes/configure-backup-storage/#azure-storage) for Azure | +| Azure storage Connection string and SAS token | [Storage configuration](../../../back-up-restore-universes/configure-backup-storage/#azure-storage) for Azure | diff --git a/docs/content/stable/manage/backup-restore/_index.md b/docs/content/stable/manage/backup-restore/_index.md index 41a2407ce3c7..52ef83db9de1 100644 --- a/docs/content/stable/manage/backup-restore/_index.md +++ b/docs/content/stable/manage/backup-restore/_index.md @@ -17,9 +17,20 @@ Backup and restoration is the process of creating and storing copies of your dat Unlike traditional single-instance databases, YugabyteDB is designed for fault tolerance. By maintaining at least three copies of your data across multiple data regions or multiple clouds, it makes sure no losses occur if a single node or single data region becomes unavailable. Thus, with YugabyteDB, you would mainly use backups to: -* Recover from a user or software error, such as accidental table removal. -* Recover from a disaster scenario, like a full cluster failure or a simultaneous outage of multiple data regions. Even though such scenarios are extremely unlikely, it's still a best practice to maintain a way to recover from them. -* Maintain a remote copy of data, as required by data protection regulations. +- Recover from a user or software error, such as accidental table removal. +- Recover from a disaster scenario, like a full cluster failure or a simultaneous outage of multiple data regions. Even though such scenarios are extremely unlikely, it's still a best practice to maintain a way to recover from them. +- Maintain a remote copy of data, as required by data protection regulations. + +## Best practices + +- Don't perform cluster operations at the same time as your scheduled backup. +- Configure your maintenance window and backup schedule so that they do not conflict. +- Performing a backup or restore incurs a load on the cluster. Perform backup operations when the cluster isn't experiencing heavy traffic. Backing up during times of heavy traffic can temporarily degrade application performance and increase the length of time of the backup. +- Avoid running a backup during or before a scheduled maintenance. + +{{< warning title="Backups and high DDL activity" >}} +In some circumstances, a backup can fail during high DDL activity. Avoid performing major DDL operations during scheduled backups or while a backup is in progress. +{{< /warning >}} {{}} diff --git a/docs/content/stable/yugabyte-platform/back-up-restore-universes/_index.md b/docs/content/stable/yugabyte-platform/back-up-restore-universes/_index.md index aba3df9a0b19..a337a3b5a488 100644 --- a/docs/content/stable/yugabyte-platform/back-up-restore-universes/_index.md +++ b/docs/content/stable/yugabyte-platform/back-up-restore-universes/_index.md @@ -24,9 +24,20 @@ You can use YugabyteDB to schedule and manage backups of your universe data. Thi - [Disaster recovery](disaster-recovery/). Failover to an asynchronously replicated universe in case of unplanned outages. {{< note title="Note" >}} -Configurable performance parameters and incremental backups are mediated using the yb-controller process, which is only available in YBA 2.16 or later for universes with YugabyteDB version 2.16 or later. +Configurable performance parameters and incremental backups are mediated using the yb-controller process, which is only available in YugabyteDB Anywhere v2.16 or later for universes with YugabyteDB version 2.16 or later. {{< /note >}} +## Best practices + +- Don't perform cluster operations at the same time as your scheduled backup. +- Configure your maintenance window and backup schedule so that they do not conflict. +- Performing a backup or restore incurs a load on the cluster. Perform backup operations when the cluster isn't experiencing heavy traffic. Backing up during times of heavy traffic can temporarily degrade application performance and increase the length of time of the backup. +- Avoid running a backup during or before a scheduled maintenance. + +{{< warning title="Backups and high DDL activity" >}} +In some circumstances, a backup can fail during high DDL activity. Avoid performing major DDL operations during scheduled backups or while a backup is in progress. To view active tasks, navigate to **Tasks**. +{{< /warning >}} + {{}} {{ Backup > Network File System**. - -2. Click **Create NFS Backup** to access the configuration form shown in the following illustration: - - ![NFS Configuration](/images/yp/cloud-provider-configuration-backup-nfs.png) - -3. Use the **Configuration Name** field to provide a meaningful name for your backup configuration. - -4. Complete the **NFS Storage Path** field by entering `/backup` or another directory that provides read, write, and access permissions to the SSH user of the YugabyteDB Anywhere instance. - -5. Click **Save**. - ## Google Cloud Storage You can configure Google Cloud Storage (GCS) as your backup target, as follows: 1. Navigate to **Integrations > Backup > Google Cloud Storage**. -1. Click **Create GCS Backup** to access the configuration form shown in the following illustration: +1. Click **Create GCS Backup**. ![GCS Configuration](/images/yp/cloud-provider-configuration-backup-gcs-stable.png) -1. Use the **Configuration Name** field to provide a meaningful name for your backup configuration. +1. Use the **Configuration Name** field to provide a meaningful name for your storage configuration. 1. Enter the URI of your GCS bucket in the **GCS Bucket** field. For example, `gs://gcp-bucket/test_backups`. @@ -141,15 +105,33 @@ By using Workload Identity, you avoid the need for manually managing service acc For instructions on setting up Workload Identity, see [Use Workload Identity](https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity) in the GKE documentation. -To enable GCP IAM when installing YBA, refer to [Enable GKE service account-based IAM](../../install-yugabyte-platform/install-software/kubernetes/#enable-gke-service-account-based-iam). +To enable GCP IAM when installing YugabyteDB Anywhere, refer to [Enable GKE service account-based IAM](../../install-yugabyte-platform/install-software/kubernetes/#enable-gke-service-account-based-iam). To enable GCP IAM during universe creation, refer to [Configure Helm overrides](../../create-deployments/create-universe-multi-zone-kubernetes/#configure-helm-overrides). To upgrade an existing universe with GCP IAM, refer to [Upgrade universes for GKE service account-based IAM support](../../manage-deployments/edit-helm-overrides/#upgrade-universes-for-gke-service-account-based-iam). +## Network File System + +You can configure Network File System (NFS) as your backup target, as follows: + +1. Navigate to **Integrations > Backup > Network File System**. + +2. Click **Create NFS Backup** to access the configuration form shown in the following illustration: + + ![NFS Configuration](/images/yp/cloud-provider-configuration-backup-nfs.png) + +3. Use the **Configuration Name** field to provide a meaningful name for your storage configuration. + +4. Complete the **NFS Storage Path** field by entering `/backup` or another directory that provides read, write, and access permissions to the SSH user of the YugabyteDB Anywhere instance. + +5. Click **Save**. + ## Azure Storage -You can configure Azure as your backup target, as follows: +You can configure Azure as your backup target. + +### Configure storage on Azure 1. Create a storage account in Azure, as follows: @@ -177,12 +159,38 @@ You can configure Azure as your backup target, as follows: ![Azure Shared Access Signature page](/images/yp/cloud-provider-configuration-backup-azure-generate-token.png) -1. On your YugabyteDB Anywhere instance, provide the container URL and SAS token for creating a backup, as follows: +### Create an Azure storage configuration + +In YugabyteDB Anywhere: + +1. Navigate to **Integrations > Backup > Azure Storage**. + +1. Click **Create AZ Backup**. + + ![Azure Configuration](/images/yp/cloud-provider-configuration-backup-azure.png) + +1. Use the **Configuration Name** field to provide a meaningful name for your storage configuration. - - Navigate to **Integrations** > **Backup** > **Azure Storage**. - - Click **Create AZ Backup** to access the configuration form shown in the following illustration: +1. Enter values for the **Container URL** and **SAS Token** fields. - ![Azure Configuration](/images/yp/cloud-provider-configuration-backup-azure.png) +1. Click **Save**. + +## Local storage + +If your YugabyteDB universe has one node, you can create a local directory on a YB-TServer to which to back up, as follows: + +1. Navigate to **Universes**, select your universe, and then select **Nodes**. + +2. Click **Connect**. + +3. Take note of the services and endpoints information displayed in the **Connect** dialog, as shown in the following illustration: + + ![Connect dialog](/images/yp/cloud-provider-local-backup1.png) + +4. While connected using `ssh`, create a directory `/backup` and then change the owner to `yugabyte`, as follows: + + ```sh + sudo mkdir /backup; sudo chown yugabyte /backup + ``` - - Use the **Configuration Name** field to provide a meaningful name for your backup configuration. - - Enter values for the **Container URL** and **SAS Token** fields, and then click **Save**. +If there is more than one node, you should consider using a [network file system](#network-file-system) mounted on each server. diff --git a/docs/content/stable/yugabyte-platform/back-up-restore-universes/disaster-recovery/disaster-recovery-setup.md b/docs/content/stable/yugabyte-platform/back-up-restore-universes/disaster-recovery/disaster-recovery-setup.md index 58ae3f8d41c7..172e0dfe54a6 100644 --- a/docs/content/stable/yugabyte-platform/back-up-restore-universes/disaster-recovery/disaster-recovery-setup.md +++ b/docs/content/stable/yugabyte-platform/back-up-restore-universes/disaster-recovery/disaster-recovery-setup.md @@ -24,7 +24,7 @@ Ensure the universes have the following characteristics: - Both universes are running the same version of YugabyteDB (v2.18.0.0 or later). - Both universes have the same [encryption in transit](../../../security/enable-encryption-in-transit/) settings. Encryption in transit is recommended, and you should create the DR primary and DR replica universes with TLS enabled. -- They can be backed up and restored using the same backup configuration. +- They can be backed up and restored using the same [storage configuration](../../configure-backup-storage/). - They have enough disk space to support storage of write-ahead logs (WALs) in case of a network partition or a temporary outage of the DR replica universe. During these cases, WALs will continue to write until replication is restored. Consider sizing your disk according to your ability to respond and recover from network or other infrastructure outages. - DR enables [Point-in-time-recovery](../../pitr/) (PITR) on the DR replica, requiring additional disk space for the replica. diff --git a/docs/content/stable/yugabyte-platform/back-up-restore-universes/restore-universe-data.md b/docs/content/stable/yugabyte-platform/back-up-restore-universes/restore-universe-data.md index b5d6d4d0b22b..3e901e098e3a 100644 --- a/docs/content/stable/yugabyte-platform/back-up-restore-universes/restore-universe-data.md +++ b/docs/content/stable/yugabyte-platform/back-up-restore-universes/restore-universe-data.md @@ -18,7 +18,7 @@ To access all universe backups, navigate to **Backups**. {{< warning title="Restoring a backup using YBC" >}} -Backups from a stable track universe can only be restored to a higher version stable track YugabyteDB universe, and the same applies for preview track. Optionally, you can set a runtime flag `yb.skip_version_checks`, to skip all YugabyteDB and YBA version checks during restores. For more information, contact {{% support-platform %}}. +Backups from a stable track universe can only be restored to a higher version stable track YugabyteDB universe, and the same applies for preview track. Optionally, you can set a runtime flag `yb.skip_version_checks`, to skip all YugabyteDB and YugabyteDB Anywhere version checks during restores. For more information, contact {{% support-platform %}}. {{< /warning >}} @@ -112,7 +112,7 @@ To view the details of a restored database, navigate to **Universes > Restore Hi In addition to the basic restore, an advanced restore option is available for the following circumstances: - you have more than one YugabyteDB Anywhere installation and want to restore a database or keyspace from a different YugabyteDB Anywhere installation to the current universe. -- you want to restore a backup that was [moved to a different location](../back-up-universe-data/#moving-backups-between-buckets) (for example, for long-term storage) and is no longer being managed by YBA; that is, is no longer listed in the **Backups** list. +- you want to restore a backup that was [moved to a different location](../back-up-universe-data/#moving-backups-between-buckets) (for example, for long-term storage) and is no longer being managed by YugabyteDB Anywhere; that is, is no longer listed in the **Backups** list. For information regarding components of a backup, refer to [Access backups in storage](../back-up-universe-data/#access-backups-in-storage). @@ -120,10 +120,10 @@ For information regarding components of a backup, refer to [Access backups in st To perform an advanced restore, you need the following: -- If the backup had [encryption at rest enabled](../../security/enable-encryption-at-rest), a matching KMS configuration in the target YBA installation so that the backup can be decrypted. -- A matching [storage configuration](../configure-backup-storage/) in the target YBA installation with credentials to access the storage where the backup is located. +- If the backup had [encryption at rest enabled](../../security/enable-encryption-at-rest), a matching KMS configuration in the target YugabyteDB Anywhere installation so that the backup can be decrypted. +- A matching [storage configuration](../configure-backup-storage/) in the target YugabyteDB Anywhere installation with credentials to access the storage where the backup is located. - If you are restoring from a backup that was moved to another location, copy the backup to a location with a corresponding storage configuration in YBA. + If you are restoring from a backup that was moved to another location, copy the backup to a location with a corresponding storage configuration in YugabyteDB Anywhere. - The storage address of the database or keyspace backup you want to restore. @@ -153,11 +153,11 @@ To perform an advanced restore, on the YugabyteDB Anywhere installation where yo s3://user_bucket/some/sub/folders/univ-a85b5b01-6e0b-4a24-b088-478dafff94e4/ybc_backup-92317948b8e444ba150616bf182a061/incremental/20204-01-04T12: 11: 03/multi-table-postgres_40522fc46c69404893392b7d92039b9e ``` -1. Select the **Backup config** that corresponds to the location of the backup. The storage could be on Google Cloud, Amazon S3, Azure, or Network File System. +1. Select the **Backup config** that corresponds to the storage configuration that was used for the backup. The storage could be on Google Cloud, Amazon S3, Azure, or Network File System. - Note that the backup config bucket takes precedence over the bucket specified in the backup location. + Note that the storage configuration bucket takes precedence over the bucket specified in the backup location. - For example, if the backup config you provide is for the following S3 Bucket: + For example, if the storage configuration you select is for the following S3 Bucket: ```output s3://test_bucket/test @@ -169,7 +169,7 @@ To perform an advanced restore, on the YugabyteDB Anywhere installation where yo s3://user_bucket/test/univ-xyz... ``` - YBA looks for the backup in `test_bucket/test`, not `user_bucket/test`. + YugabyteDB Anywhere looks for the backup in `test_bucket/test`, not `user_bucket/test`. 1. Specify the name of the database or keyspace from which you are performing a restore. diff --git a/docs/content/stable/yugabyte-platform/back-up-restore-universes/schedule-data-backups.md b/docs/content/stable/yugabyte-platform/back-up-restore-universes/schedule-data-backups.md index c0f301c19123..c4502c578b49 100644 --- a/docs/content/stable/yugabyte-platform/back-up-restore-universes/schedule-data-backups.md +++ b/docs/content/stable/yugabyte-platform/back-up-restore-universes/schedule-data-backups.md @@ -32,7 +32,7 @@ Before scheduling a backup of your universe data, create a policy, as follows: 1. Select the API type for the backup. -1. Select the backup storage configuration. The available configurations depend on your existing backup storage configurations. For more information, see [Configure backup storage](../configure-backup-storage/). +1. Select the storage configuration. For more information, see [Configure backup storage](../configure-backup-storage/). 1. Select the database/keyspace to back up. diff --git a/docs/content/stable/yugabyte-platform/prepare/cloud-permissions/cloud-permissions-storage.md b/docs/content/stable/yugabyte-platform/prepare/cloud-permissions/cloud-permissions-storage.md index 389646844d9b..d9923754b94f 100644 --- a/docs/content/stable/yugabyte-platform/prepare/cloud-permissions/cloud-permissions-storage.md +++ b/docs/content/stable/yugabyte-platform/prepare/cloud-permissions/cloud-permissions-storage.md @@ -78,11 +78,11 @@ The following permissions are required: "s3:GetBucketLocation" ``` -The Access key ID and Secret Access Key for the service account are used when creating a [backup storage configuration](../../../back-up-restore-universes/configure-backup-storage/#amazon-s3) for S3. +The Access key ID and Secret Access Key for the service account are used when creating a backup [storage configuration](../../../back-up-restore-universes/configure-backup-storage/#amazon-s3) for S3. | Save for later | To configure | | :--- | :--- | -| Service account Access key ID and Secret Access Key | [Backup storage configuration](../../../back-up-restore-universes/configure-backup-storage/#amazon-s3) for S3 | +| Service account Access key ID and Secret Access Key | [Storage configuration](../../../back-up-restore-universes/configure-backup-storage/#amazon-s3) for S3 | @@ -96,11 +96,11 @@ To grant the required access, create a GCP service account with [IAM roles for c roles/storage.admin ``` -The credentials for this account (in JSON format) are used when creating a [backup storage configuration](../../../back-up-restore-universes/configure-backup-storage/#google-cloud-storage) for GCS. +The credentials for this account (in JSON format) are used when creating a backup [storage configuration](../../../back-up-restore-universes/configure-backup-storage/#google-cloud-storage) for GCS. | Save for later | To configure | | :--- | :--- | -| Storage service account JSON credentials | [Backup storage configuration](../../../back-up-restore-universes/configure-backup-storage/#google-cloud-storage) for GCS | +| Storage service account JSON credentials | [Storage configuration](../../../back-up-restore-universes/configure-backup-storage/#google-cloud-storage) for GCS | For database clusters deployed to GKE, you can alternatively assign the appropriate IAM roles to the YugabyteDB Anywhere VM and the YugabyteDB nodes. @@ -114,11 +114,11 @@ To grant the required access, create a [Shared Access Signature (SAS)](https://l ![Azure Shared Access Signature page](/images/yp/cloud-provider-configuration-backup-azure-generate-token.png) -The Connection string and SAS token are used when creating a [backup storage configuration](../../../back-up-restore-universes/configure-backup-storage/#azure-storage) for Azure. +The Connection string and SAS token are used when creating a backup [storage configuration](../../../back-up-restore-universes/configure-backup-storage/#azure-storage) for Azure. | Save for later | To configure | | :--- | :--- | -| Azure storage Connection string and SAS token | [Backup storage configuration](../../../back-up-restore-universes/configure-backup-storage/#azure-storage) for Azure | +| Azure storage Connection string and SAS token | [Storage configuration](../../../back-up-restore-universes/configure-backup-storage/#azure-storage) for Azure | From d70979a1d66199bebe962d2752fd3d45cadd5ed0 Mon Sep 17 00:00:00 2001 From: Dwight Hodge Date: Wed, 11 Sep 2024 22:58:09 -0400 Subject: [PATCH 4/5] icons --- .../back-up-restore-universes/_index.md | 14 +++++++------- .../back-up-restore-universes/_index.md | 14 +++++++------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/content/preview/yugabyte-platform/back-up-restore-universes/_index.md b/docs/content/preview/yugabyte-platform/back-up-restore-universes/_index.md index e8d43731d00f..82e63d5812c0 100644 --- a/docs/content/preview/yugabyte-platform/back-up-restore-universes/_index.md +++ b/docs/content/preview/yugabyte-platform/back-up-restore-universes/_index.md @@ -3,7 +3,7 @@ title: Back up and restore universes headerTitle: Back up and restore universes linkTitle: Back up universes description: Use YugabyteDB Anywhere to back up and restore YugabyteDB universe data. -image: /images/section_icons/manage/backup.png +image: fa-light fa-life-ring headcontent: Use YugabyteDB Anywhere to back up and restore YugabyteDB universes and data aliases: - /preview/manage/enterprise-edition/backup-restore @@ -49,36 +49,36 @@ In some circumstances, a backup can fail during high DDL activity. Avoid perform title="Configure backup storage" body="Configure the storage location for your backups." href="configure-backup-storage/" - icon="/images/section_icons/manage/backup.png">}} + icon="fa-light fa-bucket">}} {{}} + icon="fa-light fa-calendar">}} {{}} + icon="fa-light fa-down-to-bracket">}} {{}} + icon="fa-light fa-up-to-bracket">}} {{}} + icon="fa-light fa-timeline-arrow">}} {{}} + icon="fa-light fa-sun-cloud">}} {{}} diff --git a/docs/content/stable/yugabyte-platform/back-up-restore-universes/_index.md b/docs/content/stable/yugabyte-platform/back-up-restore-universes/_index.md index a337a3b5a488..bc41d198ec4d 100644 --- a/docs/content/stable/yugabyte-platform/back-up-restore-universes/_index.md +++ b/docs/content/stable/yugabyte-platform/back-up-restore-universes/_index.md @@ -3,7 +3,7 @@ title: Back up and restore universes headerTitle: Back up and restore universes linkTitle: Back up universes description: Use YugabyteDB Anywhere to back up and restore YugabyteDB universe data. -image: /images/section_icons/manage/backup.png +image: fa-light fa-life-ring headcontent: Use YugabyteDB Anywhere to back up and restore YugabyteDB universes and data menu: stable_yugabyte-platform: @@ -44,36 +44,36 @@ In some circumstances, a backup can fail during high DDL activity. Avoid perform title="Configure backup storage" body="Configure the storage location for your backups." href="configure-backup-storage/" - icon="/images/section_icons/manage/backup.png">}} + icon="fa-light fa-bucket">}} {{}} + icon="fa-light fa-calendar">}} {{}} + icon="fa-light fa-down-to-bracket">}} {{}} + icon="fa-light fa-up-to-bracket">}} {{}} + icon="fa-light fa-timeline-arrow">}} {{}} + icon="fa-light fa-sun-cloud">}} {{}} From f1191794da2ca57f256a90f7122d75bcc779a178 Mon Sep 17 00:00:00 2001 From: Dwight Hodge Date: Wed, 11 Sep 2024 23:13:06 -0400 Subject: [PATCH 5/5] icons --- docs/content/preview/manage/_index.md | 4 +--- docs/content/preview/manage/backup-restore/_index.md | 8 ++++---- docs/content/stable/manage/_index.md | 2 +- docs/content/stable/manage/backup-restore/_index.md | 8 ++++---- 4 files changed, 10 insertions(+), 12 deletions(-) diff --git a/docs/content/preview/manage/_index.md b/docs/content/preview/manage/_index.md index 0151e3c51697..21befb716369 100644 --- a/docs/content/preview/manage/_index.md +++ b/docs/content/preview/manage/_index.md @@ -5,8 +5,6 @@ linkTitle: Manage description: Manging YugabyteDB deployments image: /images/section_icons/quick_start/sample_apps.png headcontent: Manage your YugabyteDB deployment -aliases: - - /preview/manage/ menu: preview: identifier: manage @@ -20,7 +18,7 @@ type: indexpage title="Back up and restore" body="Back up and restore data in YugabyteDB." href="backup-restore/" - icon="/images/section_icons/manage/backup.png">}} + icon="fa-light fa-life-ring">}} {{}} + icon="fa-light fa-file-import">}} {{}} + icon="fa-light fa-camera">}} {{}} + icon="fa-light fa-timeline-arrow">}} {{}} diff --git a/docs/content/stable/manage/_index.md b/docs/content/stable/manage/_index.md index 78ec24cc3727..b49bdc6cdf92 100644 --- a/docs/content/stable/manage/_index.md +++ b/docs/content/stable/manage/_index.md @@ -18,7 +18,7 @@ type: indexpage title="Back up and restore" body="Back up and restore data in YugabyteDB." href="backup-restore/" - icon="/images/section_icons/manage/backup.png">}} + icon="fa-light fa-life-ring">}} {{}} + icon="fa-light fa-file-import">}} {{}} + icon="fa-light fa-camera">}} {{}} + icon="fa-light fa-timeline-arrow">}} {{}}