Cette page vous explique comment sauvegarder et restaurer vos données AlloyDB Omni à l'aide de l'opérateur Kubernetes AlloyDB Omni. Pour cela, vous devez avoir des connaissances de base sur la mise à jour d'un cluster Kubernetes à l'aide de fichiers manifestes et de l'outil de ligne de commande kubectl
. Pour en savoir plus sur l'installation et l'exécution d'AlloyDB Omni sur un cluster Kubernetes, consultez Installer AlloyDB Omni sur Kubernetes.
Pour activer la sauvegarde et la récupération continues d'AlloyDB Omni, vous devez créer un plan de sauvegarde pour chaque cluster de bases de données. Les sauvegardes sont effectuées en fonction des plannings de sauvegarde définis dans la ressource backupPlan
. Si aucune planification de sauvegarde n'est définie dans le plan de sauvegarde, des sauvegardes continues sont effectuées quotidiennement par défaut. Vous pouvez restaurer ou cloner des sauvegardes à partir de n'importe quel code temporel de la période de récupération, avec une précision à la seconde près.
Pour savoir comment sauvegarder et restaurer vos données AlloyDB Omni sur des déploiements non Kubernetes, consultez Configurer Barman pour AlloyDB Omni et Configurer pgBackRest pour AlloyDB Omni.
Activer et planifier les sauvegardes
Les sauvegardes continues sont activées lorsque vous créez une ressource de plan de sauvegarde pour votre cluster de bases de données. Vous devez créer une ressource backupPlan
pour chaque cluster de base de données afin d'activer la sauvegarde continue pour ce cluster. Cette ressource de plan de sauvegarde définit les paramètres suivants :
Emplacement où l'opérateur AlloyDB Omni stocke les sauvegardes. Il peut s'agir d'un stockage local sur votre cluster Kubernetes ou dans un bucket Cloud Storage.
Une option permettant de définir plusieurs plannings de sauvegarde qui créent automatiquement des sauvegardes
full
,incremental
etdifferential
. Vous pouvez mettre en pause cette programmation à tout moment, y compris lorsque vous définissez initialement le plan de sauvegarde. Si un plan de sauvegarde est suspendu, les sauvegardes planifiées ne sont pas créées, mais vous pouvez toujours l'utiliser pour créer des sauvegardes manuellement.Si aucune programmation de sauvegarde n'est spécifiée, la valeur par défaut est "0 0 * * *", qui effectue une sauvegarde complète quotidienne à minuit, heure locale.
Période de conservation des sauvegardes stockées. Cette période peut durer entre un et 90 jours. La valeur par défaut est 14.
Vous pouvez effectuer des sauvegardes à partir de clusters Kubernetes principaux ou de secours en spécifiant respectivement la valeur
primary
oustandby
pour le champbackupSourceStrategy
. Pour améliorer les performances du cluster principal, déchargez les opérations de sauvegarde en les planifiant à partir d'un cluster de secours.
Votre cluster de bases de données peut comporter plusieurs plans de sauvegarde, chacun avec son propre nom et sa propre configuration. Si vous créez plusieurs ressources backupPlan
avec des plannings de sauvegarde différents pour un cluster de bases de données, vous devez définir un emplacement de sauvegarde unique pour chaque ressource de sauvegarde.
Créer un plan pour stocker les sauvegardes en local
Pour activer les sauvegardes stockées localement, appliquez le fichier manifeste suivant :
apiVersion: alloydbomni.dbadmin.goog/v1
kind: BackupPlan
metadata:
name: BACKUP_PLAN_NAME
namespace: NAMESPACE
spec:
dbclusterRef: DB_CLUSTER_NAME
backupSchedules:
full: "FULL_CRON_SCHEDULE"
differential: "DIFF_CRON_SCHEDULE"
incremental: "INCR_CRON_SCHEDULE"
backupRetainDays: RETENTION_DAYS
backupSourceStrategy: SOURCE_STRATEGY
paused: PAUSED_BOOLEAN
Remplacez les éléments suivants :
BACKUP_PLAN_NAME
: nom de cette ressource de plan de sauvegarde, par exemplebackup-plan-1
.NAMESPACE
: espace de noms Kubernetes pour ce plan de sauvegarde. Il doit correspondre à l'espace de noms du cluster de bases de données.DB_CLUSTER_NAME
: nom de votre cluster de bases de données, que vous avez attribué lors de sa création.FULL_CRON_SCHEDULE
: un calendrier de sauvegarde pour créer une sauvegarde complète contenant toutes les données, exprimé au formatcron
. Par exemple, définissez la valeur sur "0 0 * * 0" pour effectuer une sauvegarde complète tous les dimanches à 00h00.DIFF_CRON_SCHEDULE
: un calendrier de sauvegarde pour créer des sauvegardes qui sont initialement des sauvegardes complètes. Les sauvegardes suivantes sont différentielles et basées sur les modifications apportées aux données entre-temps, exprimées au formatcron
. Par exemple, définissez la valeur sur "0 22 * * 3" pour effectuer une sauvegarde différentielle tous les mercredis à 22h.INCR_CRON_SCHEDULE
: un calendrier de sauvegarde permettant de créer des sauvegardes incluant les données qui ont été modifiées depuis la dernière sauvegarde complète, différentielle ou incrémentielle. Il est exprimé au formatcron
. Par exemple, définissez la valeur sur "0 21 * * *" pour effectuer une sauvegarde incrémentielle à 21h00 tous les jours.RETENTION_DAYS
: nombre de jours pendant lesquels l'opérateur AlloyDB Omni conserve cette sauvegarde. Il doit s'agir d'un nombre entier compris entre1
et90
. La valeur par défaut est14
.SOURCE_STRATEGY
: détermine si les sauvegardes sont effectuées à partir du cluster Kubernetes principal ou de secours. La valeur par défaut estprimary
. Vous pouvez choisir parmi les valeurs suivantes :primary
: les sauvegardes sont effectuées à partir du cluster Kubernetes principal.standby
: les sauvegardes sont effectuées à partir du cluster Kubernetes de secours. Si aucune instance de secours n'est disponible lorsque le champSOURCE_STRATEGY
est défini surstandby
, la sauvegarde est effectuée à partir du cluster Kubernetes principal.
PAUSED_BOOLEAN
: indique si le plan de sauvegarde est mis en veille ou non. Indiquez l'une des valeurs suivantes :true
: les sauvegardes sont suspendues et aucune sauvegarde planifiée n'est créée.false
: l'opérateur AlloyDB Omni crée des sauvegardes selon la planification spécifiée parcronSchedule
. Il s'agit de la valeur par défaut, sauf si elle est explicitement définie surtrue
.
La valeur par défaut est
false
.
Créer un plan qui stocke les sauvegardes dans Cloud Storage
Pour activer les sauvegardes stockées dans Cloud Storage, procédez comme suit :
Créer un bucket Cloud Storage Notez le nom que vous attribuez à ce bucket, car vous en aurez besoin lors d'une étape ultérieure.
Créez un compte de service pour ajouter des sauvegardes au bucket.
Attribuez le rôle Identity and Access Management
storage.objectAdmin
au compte de service.Créez une clé pour le compte de service. La clé privée est ainsi téléchargée dans votre environnement local.
Renommez le fichier de clé téléchargé en
key.json
.Créez un secret Kubernetes contenant la clé privée :
kubectl create secret generic SECRET_NAME --from-file=KEY_PATH -n NAMESPACE
Remplacez les éléments suivants :
SECRET_NAME
: nom du secret Kubernetes que vous créez (par exemple,gcs-key
).KEY_PATH
: chemin d'accès au système de fichiers local du fichierkey.json
que vous avez téléchargé lors des étapes précédentes.NAMESPACE
: espace de noms du cluster de bases de données.
Appliquez le fichier manifeste suivant :
apiVersion: alloydbomni.dbadmin.goog/v1 kind: BackupPlan metadata: name: BACKUP_PLAN_NAME namespace: NAMESPACE spec: dbclusterRef: DB_CLUSTER_NAME backupSchedules: full: "FULL_CRON_SCHEDULE" differential: "DIFF_CRON_SCHEDULE" incremental: "INCR_CRON_SCHEDULE" backupRetainDays: RETENTION_DAYS backupSourceStrategy: SOURCE_STRATEGY paused: PAUSED_BOOLEAN backupLocation: type: GCS gcsOptions: bucket: BUCKET_URL key: BACKUP_PATH secretRef: name: SECRET_NAME namespace: NAMESPACE
Remplacez les éléments suivants :
BACKUP_PLAN_NAME
: nom de cette ressource de plan de sauvegarde, par exemplebackup-plan-1
.NAMESPACE
: espace de noms Kubernetes pour ce plan de sauvegarde. Il doit correspondre à l'espace de noms du cluster de bases de données.DB_CLUSTER_NAME
: nom de votre cluster de bases de données, que vous avez attribué lors de sa création.FULL_CRON_SCHEDULE
: un calendrier de sauvegarde pour créer une sauvegarde complète contenant toutes les données, exprimé au formatcron
. Par exemple, définissez la valeur sur "0 0 * * 0" pour effectuer une sauvegarde complète tous les dimanches à 00h00.DIFF_CRON_SCHEDULE
: un calendrier de sauvegarde pour créer des sauvegardes qui sont initialement des sauvegardes complètes. Les sauvegardes suivantes sont différentielles et basées sur les modifications apportées aux données entre-temps, exprimées au formatcron
. Par exemple, définissez la valeur sur "0 22 * * 3" pour effectuer une sauvegarde différentielle tous les mercredis à 22h.INCR_CRON_SCHEDULE
: un calendrier de sauvegarde permettant de créer des sauvegardes incluant les données qui ont été modifiées depuis la dernière sauvegarde complète, différentielle ou incrémentielle. Il est exprimé au formatcron
. Par exemple, définissez la valeur sur "0 21 * * *" pour effectuer une sauvegarde incrémentielle à 21h00 tous les jours.RETENTION_DAYS
: nombre de jours pendant lesquels l'opérateur AlloyDB Omni conserve cette sauvegarde. Il doit s'agir d'un nombre entier compris entre1
et90
. La valeur par défaut est14
.SOURCE_STRATEGY
: détermine si les sauvegardes sont effectuées à partir du cluster Kubernetes principal ou de secours. La valeur par défaut estprimary
. Vous pouvez choisir parmi les valeurs suivantes :primary
: les sauvegardes sont effectuées à partir du cluster Kubernetes principal.standby
: les sauvegardes sont effectuées à partir du cluster Kubernetes de secours. Si aucune instance de secours n'est disponible lorsque le champSOURCE_STRATEGY
est défini surstandby
, la sauvegarde est effectuée à partir du cluster Kubernetes principal.
PAUSED_BOOLEAN
: indique si le plan de sauvegarde est mis en veille ou non. Indiquez l'une des valeurs suivantes :true
: les sauvegardes sont suspendues et aucune sauvegarde planifiée n'est créée.false
: l'opérateur AlloyDB Omni crée des sauvegardes selon la planification spécifiée parcronSchedule
. Il s'agit de la valeur par défaut, sauf si elle est explicitement définie surtrue
.
La valeur par défaut est
false
.
BUCKET_URL
: nom du bucket Cloud Storage que vous avez créé lors d'une étape précédente. Il ne s'agit pas de l'URL complète du bucket. Ne faites pas précéder le nom du bucket degs://
.BACKUP_PATH
: chemin d'accès au répertoire dans lequel l'opérateur AlloyDB Omni écrit les sauvegardes, dans le bucket Cloud Storage. Le chemin d'accès doit être absolu et commencer par/
.SECRET_NAME
: nom que vous avez choisi pour le secret Kubernetes que vous avez créé à une étape précédente.
Créer des sauvegardes dans un espace de stockage compatible S3
Vous pouvez utiliser le champ s30options
pour envoyer des sauvegardes à des points de terminaison compatibles S3.
Les étapes de la procédure suivante sont générales. Pour obtenir des instructions spécifiques à votre cas d'utilisation, consultez la documentation de votre fournisseur S3.
Pour activer les sauvegardes sur votre espace de stockage compatible S3, suivez ces étapes générales :
- Créez un bucket de stockage S3. Notez le nom que vous attribuez à ce bucket, car vous l'utiliserez dans une étape ultérieure.
- Pour accéder au bucket de stockage S3, créez un compte principal, par exemple un compte de service ou un utilisateur. Contactez votre fournisseur S3 pour savoir si vous devez accorder un rôle ou une stratégie prédéfinis au compte principal.
- Accordez un accès en lecture et en écriture au compte principal que vous avez créé à l'étape précédente. Cette étape vous permet de lire et d'écrire dans le bucket de stockage S3.
- Créez une clé d'accès pour le compte principal que vous avez créé. La clé d'accès comprend un ID de clé et une clé secrète. Cette opération télécharge la clé dans votre environnement local.
Créez un secret Kubernetes contenant la clé :
kubectl create secret generic SECRET_NAME --from-literal=access-key-id=KEY_ID --from-literal=access-key=KEY -n NAMESPACE
Remplacez les éléments suivants :
SECRET_NAME
: nom du secret Kubernetes que vous créez (par exemple,s3-key
).KEY_ID
: ID de clé de votre clé d'accès.KEY
: clé secrète de votre clé d'accès.NAMESPACE
: espace dans lequel le nom du secret est conservé. Cette valeur doit être unique.
Appliquez le fichier manifeste suivant :
apiVersion: alloydbomni.dbadmin.goog/v1 kind: BackupPlan metadata: name: BACKUP_PLAN_NAME namespace: NAMESPACE spec: dbclusterRef: DB_CLUSTER_NAME backupSchedules: full: "FULL_CRON_SCHEDULE" differential: "DIFF_CRON_SCHEDULE" incremental: "INCR_CRON_SCHEDULE" backupRetainDays: RETENTION_DAYS backupSourceStrategy: SOURCE_STRATEGY paused: PAUSED_BOOLEAN backupLocation: type: S3 s3Options: bucket: BUCKET_NAME region: REGION endpoint: S3ENDPOINT key: BACKUP_PATH secretRef: namespace: NAMESPACE name: SECRET_NAME certRef: name: CA_BUNDLE_SECRET_NAME namespace: NAMESPACE
Remplacez les éléments suivants :
BACKUP_PLAN_NAME
: nom de cette ressource de plan de sauvegarde, par exemplebackup-plan-1
.NAMESPACE
: espace de noms Kubernetes pour ce plan de sauvegarde. L'espace de noms doit correspondre à celui du cluster de bases de données.DB_CLUSTER_NAME
: nom de votre cluster de bases de données, que vous avez attribué lors de sa création.FULL_CRON_SCHEDULE
: programmation de sauvegarde permettant de créer une sauvegarde complète contenant toutes les données, exprimée au formatcron
. Par exemple, pour effectuer une sauvegarde complète à 00h00 tous les dimanches, définissezFULL_CRON_SCHEDULE
sur0 0 * * 0
.DIFF_CRON_SCHEDULE
: un planning de sauvegarde permettant de créer des sauvegardes qui sont initialement des sauvegardes complètes. Les sauvegardes suivantes sont différentielles et basées sur les modifications apportées aux données entre-temps, exprimées au formatcron
. Par exemple, pour effectuer une sauvegarde différentielle à 22h00 tous les mercredis, définissez la valeur sur0 22 * * 3
.INCR_CRON_SCHEDULE
: un calendrier de sauvegarde permettant de créer des sauvegardes incluant les données qui ont été modifiées depuis la dernière sauvegarde complète, différentielle ou incrémentielle. Il est exprimé au formatcron
. Par exemple, pour effectuer une sauvegarde incrémentielle tous les jours à 21h, définissez cette option sur0 21 * * *
.RETENTION_DAYS
: nombre de jours pendant lesquels l'opérateur Kubernetes AlloyDB Omni conserve cette sauvegarde. Ce paramètre doit être un nombre entier compris entre1
et90
. La valeur par défaut est14
.SOURCE_STRATEGY
: détermine si les sauvegardes sont effectuées à partir du cluster Kubernetes principal ou de secours. La valeur par défaut estprimary
. Vous pouvez choisir parmi les valeurs suivantes :primary
: les sauvegardes sont effectuées à partir du cluster Kubernetes principal.standby
: les sauvegardes sont effectuées à partir du cluster Kubernetes de secours. Si aucune instance de secours n'est disponible lorsque le champSOURCE_STRATEGY
est défini surstandby
, la sauvegarde est effectuée à partir du cluster Kubernetes principal.
PAUSED_BOOLEAN
: indique si le plan de sauvegarde est suspendu ou non. Indiquez l'une des valeurs suivantes :true
: les sauvegardes sont suspendues et aucune sauvegarde planifiée n'est créée.false
: valeur par défaut. L'opérateur AlloyDB Omni crée des sauvegardes selon le calendrier spécifié parcronSchedule
. Il s'agit de la valeur par défaut, sauf si elle est explicitement définie surtrue
.
BUCKET_NAME
: nom du bucket de stockage S3 que vous avez créé. Le nom du bucket n'est pas l'URL complète du bucket. Ne faites pas précéder le nom du bucket pargs://
.REGION
: région où le bucket S3 est stocké.S3ENDPOINT
: point de terminaison du bucket de stockage S3.BACKUP_PATH
: chemin d'accès au répertoire dans lequel l'opérateur AlloyDB Omni écrit les sauvegardes, dans le bucket de stockage S3. Le chemin d'accès doit être absolu et commencer par/
.NAMESPACE
: espace dans lequel le nom du secret doit être unique.SECRET_NAME
: nom que vous avez choisi pour le secret Kubernetes que vous avez créé.CA_BUNDLE_SECRET_NAME
: pool de certificats CA encodés au format PEM que le serveur S3 utilise pour valider le certificat. Assurez-vous que le bundle est inclus dans le secret sous une clé nomméeca.crt
.L'exemple suivant montre comment créer un secret contenant le certificat, où
PEM_FILE_PATH
correspond au chemin d'accès au fichier du bundleca
:kubectl create secret generic CA_BUNDLE_SECRET_NAME -n NAMESPACE --from-file=ca.crt=PEM_FILE_PATH
Créer manuellement une sauvegarde
Vous pouvez créer manuellement une ressource de sauvegarde à tout moment, en utilisant n'importe quel plan de sauvegarde que vous avez déjà appliqué à un cluster de bases de données. L'opérateur AlloyDB Omni applique l'emplacement de stockage et la période de conservation du plan de sauvegarde choisi à la nouvelle sauvegarde manuelle.
Pour créer manuellement une sauvegarde à partir d'un cluster Kubernetes principal ou de secours, vous devez spécifier l'instance de base de données source pour la sauvegarde à l'aide du champ backupSourceRole
et appliquer le fichier manifeste suivant :
apiVersion: alloydbomni.dbadmin.goog/v1
kind: Backup
metadata:
name: BACKUP_NAME
namespace: NAMESPACE
spec:
dbclusterRef: DB_CLUSTER_NAME
backupPlanRef: BACKUP_PLAN_NAME
manual: true
backupSourceRole: SOURCE_ROLE
physicalBackupSpec:
backupType: BACKUP_TYPE
Remplacez les éléments suivants :
BACKUP_NAME
: nom de cette sauvegarde, par exemplebackup-1
.NAMESPACE
: espace de noms Kubernetes de cette restauration. Il doit correspondre à l'espace de noms du cluster de bases de données.BACKUP_PLAN_NAME
: nom de la ressource de plan de sauvegarde à laquelle appartient cette sauvegarde. Il doit correspondre au nom que vous avez choisi lorsque vous avez créé le plan de sauvegarde.DB_CLUSTER_NAME
: nom de votre cluster de bases de données, que vous avez attribué lors de sa création.SOURCE_ROLE
: spécifie le rôle de l'instance de base de données source à partir de laquelle la sauvegarde manuelle est effectuée. La valeur par défaut estprimary
. Vous pouvez choisir l'une des valeurs suivantes :primary
: configurez la sauvegarde à partir du cluster Kubernetes principal.standby
: configurez la sauvegarde à partir du cluster Kubernetes de secours.
BACKUP_TYPE
: spécifie le type de sauvegarde manuelle que vous souhaitez créer. Choisissez l'une des valeurs suivantes :full
: crée une sauvegarde complète contenant toutes les données.diff
: crée une sauvegarde différentielle qui dépend de la dernière sauvegarde complète. Les sauvegardes suivantes sont différentielles et basées sur les modifications apportées aux données entre-temps.incr
: crée une sauvegarde incrémentielle qui dépend de la sauvegarde complète ou différentielle précédente pour inclure les données qui ont été modifiées depuis la dernière sauvegarde complète ou différentielle.
Surveiller et lister les sauvegardes
Vos plans de sauvegarde et vos sauvegardes sont tous des ressources de votre cluster Kubernetes. Pour afficher des informations à leur sujet, utilisez la commande kubectl
get
.
Afficher le récapitulatif d'un plan de sauvegarde
Pour afficher des informations sur les plans de sauvegarde de votre cluster de bases de données, exécutez la commande suivante :
kubectl get backupplan.alloydbomni.dbadmin.goog -n NAMESPACE
Remplacez NAMESPACE
par l'espace de noms du cluster de bases de données.
Le résultat se présente comme suit :
NAME PHASE LASTBACKUPTIME NEXTBACKUPTIME
backup-plan-prod Ready 2023-10-26T17:26:43Z 2023-10-27T00:00:00Z
Afficher la liste des sauvegardes
Pour afficher la liste des sauvegardes disponibles pour votre cluster de bases de données, exécutez la commande suivante :
kubectl get backup.alloydbomni.dbadmin.goog -n NAMESPACE
Remplacez NAMESPACE
par l'espace de noms du cluster de bases de données.
Le résultat se présente comme suit :
NAME PHASE COMPLETETIME
backup-plan-prod-20231026172643 Succeeded 2023-10-26T17:26:53Z
manual-backup-1 Succeeded 2023-10-26T18:15:27Z
manual-backup-2 InProgress
Chaque ligne du tableau de sortie représente une ressource de sauvegarde, avec les attributs suivants :
- Nom de la sauvegarde.
- État de la sauvegarde.
Succeeded
indique qu'une sauvegarde est prête à être restaurée. - Code temporel de la création de la sauvegarde.
Restaurer à partir d'une sauvegarde
AlloyDB vous permet de restaurer des sauvegardes individuelles ou de cloner un cluster à l'aide d'une sauvegarde à un moment précis.
Restaurer à partir d'une sauvegarde nommée
Pour restaurer une sauvegarde et remplacer les données de votre cluster de base de données par celles de la sauvegarde, procédez comme suit.
Répertoriez toutes les sauvegardes dont la phase est
Succeeded
.kubectl get backup.alloydbomni.dbadmin.goog -n NAMESPACE | grep Succeeded
Remplacez
NAMESPACE
par l'espace de noms du cluster de bases de données.Si au moins une bonne sauvegarde candidate existe, le résultat ressemble à ce qui suit :
backup-plan-prod-20231026172643 Succeeded 2023-10-26T17:26:53Z manual-backup-1 Succeeded 2023-10-26T18:15:27Z
Choisissez l'une des sauvegardes listées à l'étape précédente comme sauvegarde à partir de laquelle effectuer la restauration. Notez son nom, car vous l'utiliserez à l'étape suivante.
Appliquez le fichier manifeste suivant :
apiVersion: alloydbomni.dbadmin.goog/v1 kind: Restore metadata: name: RESTORE_NAME namespace: NAMESPACE spec: sourceDBCluster: DB_CLUSTER_NAME backup: BACKUP_NAME
Remplacez les éléments suivants :
RESTORE_NAME : nom à utiliser avec la ressource de restauration de données que ce fichier manifeste crée, par exemple
restore-1
.DB_CLUSTER_NAME : nom de votre cluster de bases de données, que vous avez attribué lors de sa création.
BACKUP_NAME : nom de la sauvegarde que vous avez choisie à l'étape précédente.
Cloner un cluster à partir d'un moment précis
L'opérateur AlloyDB Omni vous permet de cloner les données d'un cluster à partir de n'importe quel moment de la période de récupération. La durée de la période de récupération est directement déterminée par la durée de conservation.
Par exemple, si votre période de conservation est définie sur 14 jours, vous ne pouvez pas récupérer les données de plus de 14 jours. Vous pouvez effectuer une restauration à n'importe quel moment pendant la période de récupération. L'opérateur AlloyDB Omni conserve les sauvegardes et les journaux pendant un jour de plus que la valeur spécifiée.
Surveillez votre période de récupération pour identifier le point de restauration :
kubectl get backupplan.alloydbomni.dbadmin.goog BACKUP_NAME -n NAMESPACE -o json | jq .status.recoveryWindow
Voici un exemple de réponse :
recoveryWindow: begin: "2024-01-31T02:54:35Z"
La valeur du code temporel au format RFC 3339 est utilisée dans la ressource de restauration.
Créez et appliquez le fichier manifeste de ressource de restauration suivant :
apiVersion: alloydbomni.dbadmin.goog/v1 kind: Restore metadata: name: RESTORE_NAME namespace: NAMESPACE spec: sourceDBCluster: DB_CLUSTER_NAME pointInTime: "DATE_AND_TIME_STAMP" clonedDBClusterConfig: dbclusterName: NEW_DB_CLUSTER_NAME
Remplacez les éléments suivants :
RESTORE_NAME : nom à utiliser avec la ressource de restauration de données que ce fichier manifeste crée, par exemple
restore-1
.DB_CLUSTER_NAME : nom de votre cluster de bases de données, que vous avez attribué lors de sa création.
DATE_AND_TIME_STAMP : code temporel RFC 3339 à la minute près de la sauvegarde continue à partir de laquelle vous souhaitez effectuer la restauration (par exemple,
2024-03-05T15:32:10Z
).NEW_DB_CLUSTER_NAME : nom du nouveau cluster de bases de données.
Afficher l'état de la restauration
Affichez la progression de l'opération de restauration :
kubectl get restore.alloydbomni.dbadmin.goog -n NAMESPACE
Remplacez
NAMESPACE
par l'espace de noms du cluster de bases de données.Pour exécuter la commande en continu, ajoutez l'option
-Aw
.Le résultat se présente comme suit :
NAME PHASE COMPLETETIME RESTOREDPOINTINTIME restore-1 RestoreInProgress
Lorsque la valeur de la colonne
PHASE
dans le tableau de sortie estProvisionSucceeded
, la restauration est terminée.Affichez la progression de la mise en ligne du cluster de bases de données restauré ou cloné :
kubectl get dbclusters -A -n NAMESPACE
Remplacez
NAMESPACE
par l'espace de noms du cluster de bases de données.Pour exécuter la commande en continu, ajoutez l'option
-Aw
.Le résultat se présente comme suit :
NAMESPACE NAME PRIMARYENDPOINT PRIMARYPHASE DBCLUSTERPHASE default db-cluster-1 10.128.0.55 Ready DBClusterReady
Lorsque la valeur de la colonne
DBCLUSTERPHASE
dans le tableau de sortie estDBClusterReady
, le cluster de bases de données restauré ou cloné est prêt à être utilisé.
Supprimer une sauvegarde
En général, vous n'avez pas besoin de supprimer manuellement les sauvegardes. L'opérateur AlloyDB Omni supprime automatiquement les sauvegardes antérieures à la période de conservation que vous spécifiez lorsque vous créez un plan de sauvegarde.
Si vous souhaitez supprimer manuellement une sauvegarde, celle-ci doit répondre aux exigences suivantes :
La sauvegarde n'est pas la seule sauvegarde stockée pour son plan de sauvegarde. L'opérateur AlloyDB Omni exige qu'au moins une sauvegarde existe par plan de sauvegarde.
Aucune autre sauvegarde ne dépend de celle-ci. Par exemple, une sauvegarde complète avec des sauvegardes différentielles ou incrémentielles qui en dépendent, ou une sauvegarde incrémentielle avec des sauvegardes différentielles qui en dépendent.
Pour supprimer une sauvegarde, exécutez la commande suivante :
kubectl delete backup.alloydbomni.dbadmin.goog/BACKUP_NAME -n NAMESPACE
Remplacez les éléments suivants :
BACKUP_NAME
: nom de la sauvegarde à supprimer.NAMESPACE
: espace de noms du cluster de bases de données.
Redimensionner un disque de sauvegarde
Pour redimensionner le disque local qui stocke vos sauvegardes dans le cluster Kubernetes, procédez comme suit :
Mettez à jour le champ
resources.disks
du fichier manifeste DBCluster comme suit :spec: primarySpec: resources: disks: - name: BACKUP_DISK size: 10Gi
Remplacez
BACKUP_DISK
par le nom du disque sur lequel sont stockées vos sauvegardes.Appliquez le fichier manifeste pour forcer la mise à jour.
L'opérateur AlloyDB Omni applique immédiatement les spécifications mises à jour à votre DBCluster.
Les restrictions suivantes s'appliquent à la modification du disque de sauvegarde d'un cluster de bases de données en cours d'exécution :
- Vous ne pouvez augmenter la taille d'un disque que si le
storageClass
spécifié est compatible avec l'expansion de volume. - mais pas la réduire.
Mettre à jour un plan de sauvegarde
Chaque forfait de sauvegarde est une ressource Kubernetes. Pour mettre à jour sa configuration, effectuez l'une des opérations suivantes :
Modifiez et réappliquez le fichier manifeste du plan de sauvegarde.
Exécutez la commande
kubectl patch
.
Par exemple, pour suspendre un plan de sauvegarde en cours d'exécution, remplacez l'attribut paused
de son fichier manifeste par true
, puis réappliquez le fichier manifeste.
Supprimer un plan de sauvegarde
Pour supprimer un plan de sauvegarde et toutes ses ressources de sauvegarde, exécutez la commande suivante :
kubectl delete backupplan.alloydbomni.dbadmin.goog/BACKUP_PLAN_NAME -n NAMESPACE
Remplacez les éléments suivants :
BACKUP_PLAN_NAME
: nom du plan de sauvegarde à supprimer.NAMESPACE
: espace de noms du cluster de bases de données.
Pour mettre en veille un plan de sauvegarde sans le supprimer, définissez l'attribut paused
de la ressource du plan de sauvegarde sur true
. Un plan de sauvegarde suspendu continue de stocker les sauvegardes et permet la création manuelle de sauvegardes.