Vous pouvez utiliser les commandes BACKUP et RESTORE pour exporter des sauvegardes vers leurs buckets,
en plus d’effectuer des sauvegardes ou des restaurations via l’interface utilisateur.
Les commandes pour les trois CSP sont fournies dans ce guide.
Exigences
Vous aurez besoin des informations suivantes pour exporter/restaurer des sauvegardes vers le bucket de stockage de votre propre CSP :
- Point de terminaison S3 AWS, au format :
s3://<bucket_name>.s3.amazonaws.com/<optional_directory>Par exemple :s3://testchbackups.s3.amazonaws.com/Où :testchbackupsest le nom du bucket S3 vers lequel exporter les sauvegardes.backupsest un sous-répertoire facultatif.
- Clé d’accès AWS et secret AWS. L’authentification basée sur un rôle AWS est également prise en charge et peut être utilisée à la place de la clé d’accès AWS et du secret AWS, comme décrit dans la section ci-dessus.
- Point de terminaison GCS, au format :
https://storage.googleapis.com/<bucket_name>/ - Clé HMAC d’accès et secret HMAC.
- Chaîne de connexion au stockage Azure.
- Nom du conteneur Azure dans le compte de stockage.
- Blob Azure dans le conteneur.
Sauvegarde / restauration d’une base de données spécifique
Nous montrons ici la sauvegarde et la restauration d’une seule base de données. Consultez le récapitulatif des commandes de sauvegarde pour les commandes de sauvegarde complète et de restauration.
AWS S3
BACKUP DATABASE test_backups
TO S3(
'https://testchbackups.s3.amazonaws.com/<uuid>',
'<key id>',
'<key secret>'
)Ici, uuid est un identifiant unique utilisé pour distinguer un ensemble de sauvegardes.
RESTORE DATABASE test_backups
FROM S3(
'https://testchbackups.s3.amazonaws.com/<uuid>',
'<key id>',
'<key secret>'
)Google Cloud Storage (GCS)
BACKUP DATABASE test_backups
TO S3(
'https://storage.googleapis.com/<bucket>/<uuid>',
'<hmac-key>',
'<hmac-secret>'
)Ici, uuid est un identifiant unique servant à identifier la sauvegarde.
RESTORE DATABASE test_backups
FROM S3(
'https://storage.googleapis.com/<bucket>/<uuid>',
'<hmac-key>',
'<hmac-secret>'
)Azure Blob Storage
BACKUP DATABASE test_backups
TO AzureBlobStorage(
'<AzureBlobStorage endpoint connection string>',
'<container>',
'<blob>/<>'
)Ici, uuid est un identifiant unique utilisé pour identifier la sauvegarde.
RESTORE DATABASE test_backups
FROM AzureBlobStorage(
'<AzureBlobStorage endpoint connection string>',
'<container>',
'<blob>/<uuid>'
)Sauvegarde / restauration de l’ensemble du service
Pour sauvegarder l’ensemble du service, utilisez les commandes ci-dessous. Cette sauvegarde contiendra toutes les données utilisateur ainsi que les données système associées aux entités créées, aux profils de paramètres, aux politiques de rôle, aux quotas et aux fonctions. Les exemples ci-dessous utilisent AWS S3. Vous pouvez également utiliser ces commandes avec la syntaxe décrite ci-dessus pour effectuer des sauvegardes sur GCS et Azure Blob storage.
BACKUP
TABLE system.users,
TABLE system.roles,
TABLE system.settings_profiles,
TABLE system.row_policies,
TABLE system.quotas,
TABLE system.functions,
ALL EXCEPT DATABASES INFORMATION_SCHEMA, information_schema, system
TO S3(
'https://testchbackups.s3.amazonaws.com/<uuid>',
'<key id>',
'<key secret>'
)où uuid est un identifiant unique servant à identifier la sauvegarde.
RESTORE ALL
FROM S3(
'https://testchbackups.s3.amazonaws.com/<uuid>',
'<key id>',
'<key secret>'
)
SETTINGS restore_access_entities_with_current_grants = 1Le paramètre restore_access_entities_with_current_grants est disponible à partir de la version 26.4 de ClickHouse Cloud (build 26.4.1.1942 ou version ultérieure).
Vous pouvez vérifier la version exécutée par votre service avec :
SELECT version()Lorsque restore_access_entities_with_current_grants est activé, les privilèges des utilisateurs et rôles restaurés sont limités à ceux que l’utilisateur effectuant la restauration est autorisé à accorder
(avec la même sémantique que GRANT CURRENT GRANTS), plutôt que RESTORE
échoue avec ACCESS_DENIED lorsque la sauvegarde contient davantage de permissions que l’utilisateur effectuant la restauration ne peut accorder.
Sur les versions antérieures à 26.4, omettez le paramètre.
FAQ
Que deviennent les sauvegardes dans mon stockage d’objets dans le cloud ? Sont-elles supprimées par ClickHouse à un moment donné ?
Nous vous permettons d’exporter des sauvegardes vers votre bucket, mais nous ne les supprimons ni ne les nettoyons une fois qu’elles y sont écrites. Vous êtes responsable de la gestion du cycle de vie des sauvegardes dans votre bucket, notamment de leur suppression, de leur archivage si nécessaire, ou de leur déplacement vers un stockage moins coûteux afin d’optimiser le coût global.
Que devient le processus de restauration si je déplace certaines sauvegardes existantes vers un autre emplacement ?
Si des sauvegardes sont déplacées vers un autre emplacement, la commande de restauration devra être mise à jour pour pointer vers le nouvel emplacement où elles sont stockées.
Que se passe-t-il si je modifie les identifiants requis pour accéder au stockage d’objets ?
Vous devrez mettre à jour dans l’UI les identifiants modifiés afin que les sauvegardes puissent de nouveau s’effectuer correctement.
Que se passe-t-il si je change l’emplacement vers lequel exporter mes sauvegardes externes ?
Vous devrez mettre à jour ce nouvel emplacement dans l’UI, et les sauvegardes commenceront à être effectuées vers ce nouvel emplacement. Les anciennes sauvegardes resteront à leur emplacement d’origine.
Comment désactiver les sauvegardes externes sur un service pour lequel je les ai activées ?
Pour désactiver les sauvegardes externes pour un service, accédez à l’écran des paramètres du service, puis cliquez sur Change external backup. Dans l’écran suivant, cliquez sur Remove setup pour désactiver les sauvegardes externes pour le service.