Présentation des sauvegardes

Cette page décrit ce qu'est une sauvegarde, comment elle fonctionne, certains cas d'utilisation fréquents, et présente les bonnes pratiques à suivre pour créer et utiliser des sauvegardes. Pour découvrir comment créer et gérer des sauvegardes, ainsi que comment restaurer une instance Filestore à partir d'une sauvegarde, consultez la page Sauvegarder des données pour la reprise après sinistre.

Qu'est-ce qu'une sauvegarde ?

Une sauvegarde Filestore est une copie d'un partage de fichiers qui inclut toutes les données et métadonnées du partage de fichiers à partir du moment où la sauvegarde est créée.

Après avoir créé une sauvegarde d'un partage de fichiers, vous pouvez modifier ou supprimer le partage de fichiers d'origine sans affecter la sauvegarde.

Vous pouvez utiliser une sauvegarde pour restaurer un partage de fichiers sur une nouvelle instance Filestore ou, pour les instances de niveau de base, sur la source ou sur un partage de fichiers existant.

Les sauvegardes sont des ressources régionales qui restent dans la région que vous spécifiez au moment de leur création. Vous pouvez créer des sauvegardes dans la même région que l'instance Filestore ou dans une autre région afin de réduire le risque de perte de données.

Les sauvegardes sont adressables à l'échelle mondiale et peuvent servir à restaurer des partages de fichiers dans n'importe quelle région, mais elles ne peuvent pas être partagées entre des projets.

Créer une sauvegarde

La première sauvegarde que vous créez est une copie complète de toutes les données et métadonnées d'un fichier partagé. Chaque sauvegarde ultérieure copie toutes les modifications successives apportées aux données depuis la sauvegarde précédente.

Un groupe de sauvegardes associées à la même instance, à la même région et à la même clé CMEK (le cas échéant) est appelé chaîne de sauvegarde.

Une chaîne de sauvegarde réside dans un seul bucket et une seule région Cloud Storage, et peut être située en dehors de la région utilisée pour stocker l'instance source.

Tous les niveaux de service sont compatibles avec plusieurs chaînes de sauvegarde, ce qui vous permet de stocker les sauvegardes d'une instance dans plusieurs régions.

Chaque fois qu'une sauvegarde est créée, la sauvegarde précédente est analysée pour détecter les modifications différentielles et incrémentielles:

  • Modifications différentielles:inclut les modifications apportées aux fichiers sur le partage, telles que les modifications, les ajouts ou les suppressions de fichiers.

  • Modifications incrémentielles:inclut les modifications apportées au stockage dans le bucket où se trouvent les données de sauvegarde. Cela peut inclure la déduplication des données précédemment référencées dans la chaîne.

Chaque fois que vous enregistrez une sauvegarde dans la même chaîne de sauvegarde, la sauvegarde précédente est analysée pour rechercher des modifications différentielles et incrémentielles. Dans ce cas, une copie complète n'est pas nécessaire.

Toutefois, le stockage des données d'une instance dans plusieurs chaînes de sauvegarde implique d'enregistrer et de stocker des sauvegardes dans des emplacements alternatifs.

Chaque fois que vous créez une sauvegarde dans un emplacement alternatif, une copie complète de la sauvegarde est à nouveau générée. Attendez-vous à une latence plus élevée sur les opérations create de sauvegarde lorsque vous alternez entre les chaînes de sauvegarde.

Les données non modifiées contenues dans les sauvegardes précédentes sont référencées, mais pas copiées, dans des sauvegardes plus récentes. Si une sauvegarde plus ancienne est supprimée, ses données uniques sont copiées sur la dernière sauvegarde la plus récente et toutes les références de données internes sont automatiquement mises à jour.

La création de la sauvegarde est instantanée, mais son délai est proportionnel à la quantité de données copiées avant que la sauvegarde ne soit disponible. Au cours de cette période, la sauvegarde passe par trois états :

État Durée Description
Création Quelques secondes Capturer l'état actuel du partage de fichiers Toute nouvelle modification des données de partage de fichiers peut ou non être incluse dans la sauvegarde. Les écritures stables confirmées par l'instance avant le lancement de la sauvegarde sont incluses.
Finalisation… Selon la taille Importer des données dans la sauvegarde Aucune nouvelle modification apportée aux données de partage de fichiers n'est incluse dans la sauvegarde.
Ready Jusqu'à la suppression de la sauvegarde La sauvegarde est prête à l'emploi.

Après leur création, les sauvegardes de base sont automatiquement compressées pour réduire les coûts. Les performances des instances peuvent être réduites lors de la création d'une sauvegarde pour des instances zones (anciennement SSD à grande échelle) et de service d'entreprise. La création d'une sauvegarde n'affecte pas la disponibilité ni les performances des instances de niveau de base.

Suppression de la sauvegarde

Les sauvegardes sont des ressources au niveau du projet (et non une sous-ressource de l'instance source) et nécessitent leur propre espace de stockage distinct. Par conséquent, le cycle de vie d'une sauvegarde n'est pas lié à celui de l'instance source. La suppression de la source ne supprime pas les sauvegardes associées. Si vous souhaitez supprimer une sauvegarde, vous devez effectuer une opération de suppression explicitement sur la sauvegarde, et non sur l'instance.

Veillez à supprimer toutes les sauvegardes inutiles. Si une instance source est supprimée, les sauvegardes restantes continuent de générer des frais.

La suppression d'une sauvegarde est définitive et irréversible.

Cohérence des sauvegardes

Les sauvegardes Filestore ont une sémantique de cohérence NFSv3. Avant le lancement d'une sauvegarde, toute écriture que l'instance Filestore reconnaît comme étant écrite dans un espace de stockage stable ou suivie d'un COMMIT confirmé est incluse dans la sauvegarde. Pour plus d'informations, consultez la section 3.3.7 du document RFC 811 NFSv3.

Cas d'utilisation courants

Les sections suivantes décrivent des cas d'utilisation courants des sauvegardes.

Sauvegarder des données pour la reprise après sinistre

Imaginons que vous disposiez d'une instance Filestore dans us-west1-c et que vous souhaitiez protéger vos données contre les sinistres qui affectent cette région. Vous pouvez programmer une tâche qui crée régulièrement des sauvegardes de cette instance vers une région distante, par exemple us- east1. Si un sinistre concerne us-west1-c, vous pouvez créer une instance dans un autre emplacement à partir d'une sauvegarde précédente.

Sauvegarder des données pour vous protéger contre les modifications accidentelles

Si vous souhaitez protéger vos données Filestore contre les modifications inattendues, vous pouvez planifier une tâche qui crée régulièrement des sauvegardes de l'instance. Si vous perdez des données, vous pouvez parcourir la liste des sauvegardes pour identifier celle qui comporte la version du fichier nécessaire. Vous pouvez ensuite créer une instance Filestore à partir de la sauvegarde, l'installer sur le même client que l'instance d'origine, puis copier le fichier.

Avant de copier le fichier, vous pouvez exécuter la commande Linux diff sur les deux points d'installation pour vérifier les différences entre les données de l'instance d'origine et celles restaurées à partir de la sauvegarde. Une fois les données récupérées, vous pouvez supprimer l'instance restaurée et créer une sauvegarde afin de conserver l'état actuel de vos données pour une utilisation ultérieure.

Vous pouvez également effectuer une restauration sur place où les données de sauvegarde sont directement restaurées dans l'instance Filestore d'origine, en remplaçant toutes les données dessus par celles de la sauvegarde. Nous vous recommandons de créer une sauvegarde des données les plus récentes avant d'effectuer une restauration sur place, car les données non sauvegardées sont perdues.

Créer des clones de développement et de test

Imaginons que vous disposez d'une base de données configurée sur une instance Filestore qui diffuse le trafic de production. Si vous souhaitez exécuter un test avec une base de données comme entrée, vous pouvez créer une instance Filestore à partir d'une sauvegarde de l'instance de production pour le test. Ainsi, l'utilisation du test n'interfère pas avec l'environnement de production.

De même, vous pouvez utiliser des sauvegardes pour une analyse et une enquête hors connexion sans affecter la production.

Migrer des données

Une fois que vous avez créé une instance Filestore, vous ne pouvez plus modifier son emplacement ni son niveau de service. Pour migrer vos données vers une autre région, vous pouvez en créer une sauvegarde et utiliser la sauvegarde pour créer une instance Filestore ou la restaurer sur une instance existante.

En outre, lorsque vous créez une instance Filestore à partir d'une sauvegarde, vous pouvez choisir entre le niveau HDD de base et le niveau SSD de base, quel que soit le niveau de l'instance source.

Limites des fonctionnalités

Les sauvegardes Filestore sont en disponibilité générale (GA) pour tous les niveaux de service.

Les limites suivantes s'appliquent :

  • Les sauvegardes Filestore ne peuvent pas être combinées avec la fonctionnalité Multipartages Filestore.

  • Une fois la tarification appliquée, les frais pertinents s'appliquent.

  • Les utilisateurs doivent créer une ou plusieurs sauvegardes pour remplacer celles créées en preview. Les sauvegardes créées dans la version preview sont susceptibles d'être supprimées. Les sauvegardes créées en version preview reflètent le comportement des fonctionnalités disponible au moment de leur création. Les sauvegardes existantes ne sont pas mises à jour lorsque de nouvelles fonctionnalités sont disponibles.

Les sections suivantes présentent en détail d'autres limites de fonctionnalités liées aux performances, au stockage, à la capacité et au chiffrement:

Performances

  • De nombreuses modifications apportées via de nombreux liens physiques sur le même fichier (par exemple, des dizaines ou des centaines de milliers) peuvent avoir un impact sur les performances.

  • Pour les instances très utilisées, les performances peuvent être réduites jusqu'à 15 % pendant l'importation d'une sauvegarde. Les performances de l'instance de niveau de base ne sont pas affectées par les opérations create de sauvegarde.

  • Le stockage des données d'une instance sur plusieurs chaînes de sauvegarde a une incidence sur les performances de sauvegarde. Attendez-vous à une latence plus élevée sur les opérations create de sauvegarde lorsque vous alternez entre les chaînes de sauvegarde.

  • Les opérations sur les instances, telles que restore ou delete, peuvent être retardées jusqu'à la fin d'une opération de sauvegarde create.

  • Dans certains cas, les opérations delete peuvent prendre jusqu'à 24 heures.

Simultanéité des opérations

  • Les opérations delete de sauvegarde associées à la même instance source doivent être effectuées une par une.

    Les opérations de sauvegarde groupée de delete dans une chaîne de sauvegarde ne sont pas acceptées. Tant qu'une opération delete est en attente, toute nouvelle opération delete dans la même chaîne de sauvegarde renvoie une erreur RESOURCE_EXHAUSTED. et ce, que l'instance source ait été supprimée ou non.

    • Si l'instance source a été supprimée, les utilisateurs reçoivent une erreur FAILED_PRECONDITION similaire.

    • Cette limitation s'applique à tous les niveaux de service, à l'exception des disques SSD de base et des disques durs HDD de base.

    • Notez que Filestore prend en charge les opérations delete de sauvegarde simultanées lorsque les sauvegardes font référence à des instances sources distinctes.

      Par exemple, une instance étiquetée Source1 contient des données de sauvegarde référencées dans Backup1 et Backup2. Source2 contient des données de sauvegarde référencées dans Backup3 et Backup4. Toutefois, Backup1 et Backup2 ne peuvent pas être supprimés en parallèle. Backup2 et Backup3 le peuvent toutefois.

  • Les opérations de sauvegarde create et delete de sauvegarde lancées dans la même chaîne de sauvegarde peuvent s'exécuter simultanément. Toutefois, les utilisateurs ne peuvent pas effectuer une opération de sauvegarde create pendant la suppression de la sauvegarde la plus récente.

    • Si l'utilisateur tente de créer une sauvegarde de l'instance pendant la suppression de la sauvegarde la plus récente, il reçoit un message d'erreur FAILED_PRECONDITION. Par exemple, si Source1 comporte une chaîne de sauvegarde composée de Backup1 et Backup2, et que l'utilisateur lance une opération create pour Backup3, il ne pourra pas supprimer Backup2 tant que l'opération create ne sera pas terminée. En effet, la sauvegarde la plus récente contient les données les plus critiques nécessaires pour mener à bien l'opération de sauvegarde create.
  • Pour en savoir plus sur les limites de débit d'opérations, consultez la section Limites de débit des opérations pour les sauvegardes.

Stockage

  • Les opérations de sauvegarde restore sur l'instance source ou sur une instance existante ne sont pas compatibles avec les instances d'entreprise et de niveau zonal. Si vous souhaitez restaurer une sauvegarde d'instance dans l'un de ces niveaux de service, vous devez créer une instance.

  • Les opérations de sauvegarde, telles que restore, edit ou delete, peuvent ne pas être disponibles pour certaines sauvegardes créées en version preview.

  • Une fois qu'une opération RestoreInstance est appliquée à une instance d'entreprise, vous ne pouvez plus créer d'instantanés portant le même nom que les instantanés précédents.

  • Les tentatives de restauration d'une instance à partir d'une sauvegarde alors qu'une suppression ou une suppression d'un instantané est en cours échoueront.

  • Si la suppression d'une sauvegarde échoue, l'état est défini sur invalid. Dans ce cas, vous devez relancer l'opération delete.

Capacité

Chaque sauvegarde occupe la capacité de l'instance. Cette capacité varie selon le champ d'application des modifications apportées aux données depuis la création de la dernière sauvegarde.

Plus précisément, lors de la création d'une sauvegarde, Filestore crée un instantané interne du système de fichiers qui occupe également une partie de la capacité d'instance disponible.

La taille de l'instantané dépend également du champ d'application des modifications apportées aux données dans le partage depuis la création de la dernière sauvegarde. Cet instantané continue d'exister jusqu'à ce que la prochaine sauvegarde suivante soit créée et importée.

Toutes les données référencées par la sauvegarde persistent dans l'état tel qu'elles étaient lors de leur enregistrement et continuent d'occuper de la capacité du système de fichiers. Par exemple, si vous supprimez des données du système de fichiers installé, cette action elle-même ne libère pas de la capacité. Pour ce faire, vous devez créer une nouvelle sauvegarde après avoir supprimé ou écrasé des quantités importantes de données.

Pour obtenir une description détaillée des modifications différentielles et incrémentielles, ainsi que de la façon dont elles sont gérées, consultez la section Création d'une sauvegarde.

Pour anticiper une capacité suffisante pour vos charges de travail, envisagez d'appliquer l'une des options suivantes:

  • Augmentez la capacité des instances pour les charges de travail avec des modifications de données importantes et fréquentes ou un taux de modification élevé.

Chiffrement

Lorsque vous utilisez des clés CMEK pour chiffrer vos chaînes de sauvegarde, les limites suivantes s'appliquent:

  • L'ensemble d'une chaîne de sauvegarde est chiffré à l'aide de la même clé CMEK.

  • Une clé CMEK doit se trouver dans la même région que la ressource qu'elle chiffre.

  • Si vous stockez une chaîne de sauvegarde dans une région distincte de l'instance source, vous devrez peut-être appliquer des clés distinctes, une pour la source et une pour la chaîne de sauvegarde.

    • Tous les niveaux de service acceptent plusieurs chaînes de sauvegarde ou offrent la possibilité de stocker les sauvegardes d'une instance dans plusieurs régions. Si vous choisissez d'utiliser CMEK pour le chiffrement, une clé CMEK doit se trouver dans la même région que la ressource qu'elle chiffre. Si vous stockez des sauvegardes dans une région distincte de la source et que la CMEK n'est pas une clé multirégionale, vous devez utiliser des clés CMEK distinctes. Pour en savoir plus, consultez les sections Restrictions CMEK et Choisir le meilleur emplacement CMEK.
  • Une seule clé CMEK est appliquée au bucket Cloud Storage où est stockée la chaîne de sauvegarde. Elle ne peut pas être combinée ni remplacée.

  • Les CMEK ne sont pas disponibles pour les sauvegardes de base.

Pour en savoir plus, consultez Compatibilité des chaînes de sauvegarde avec les CMEK.

Bonnes pratiques

Les sections suivantes traitent des bonnes pratiques recommandées.

Préparer votre partage de fichiers pour une meilleure cohérence des sauvegardes

La qualité d'une sauvegarde dépend de la capacité de votre application à effectuer la récupération à partir de sauvegardes créées lors d'importantes charges de travail d'écriture. Dans la plupart des cas, vous pouvez créer des sauvegardes avec une bonne cohérence même lorsque vos applications écrivent des données dans le partage de fichiers. Toutefois, si vos applications nécessitent une cohérence stricte, nous vous recommandons d'effectuer l'une ou plusieurs des opérations suivantes :

  • Utilisez l'installation de synchronisation. Pour en savoir plus, consultez la section "Option d'installation de synchronisation" dans nfs(5). Vous pouvez également ouvrir des fichiers avec les indicateurs O_DIRECT|O_SYNC. Pour en savoir plus, consultez open(2).
  • Mettez en veille les applications ou les processus du système d'exploitation qui écrivent des données dans le partage de fichiers, et forcez leur modification au partage de fichiers avant de lancer la sauvegarde. Pour en savoir plus, consultez fsync(2).
  • Si vos applications nécessitent une cohérence entre plusieurs partages, mettez en pause toutes les applications sur toutes les instances qui écrivent dans tous les partages de fichiers et créez des sauvegardes de tous les partages de fichiers avant de reprendre vos applications.
  • Si vous avez besoin d'une cohérence au niveau de l'application, arrêtez vos applications et désinstallez le partage de fichiers avant de créer une sauvegarde.

Utiliser des sauvegardes existantes comme référence pour réduire les délais de création des sauvegardes

Les sauvegardes existantes d'un partage de fichiers dans une région sont utilisées comme base pour créer de nouvelles sauvegardes du partage de fichiers, ce qui réduit le temps de création des sauvegardes. Par conséquent, nous vous recommandons de procéder comme suit:

  • Effectuez une nouvelle sauvegarde d'un partage de fichiers avant de supprimer la sauvegarde précédente de ce partage.

  • Attendez que les nouvelles sauvegardes soient à l'état Ready avant de créer des sauvegardes ultérieures du même partage de fichiers.

Planifier des sauvegardes pendant les heures creuses pour réduire le délai de création des sauvegardes

La création de sauvegardes pendant les heures creuses permet de réduire le temps nécessaire à la création d'une sauvegarde. Si vous planifiez des sauvegardes régulières de vos partages de fichiers, nous vous recommandons de les planifier pendant les heures creuses, lorsque cela est possible.

Les heures pleines pour la création de sauvegardes sont la fin de chaque jour ouvré et minuit dans la région où se trouve l'instance Filestore. Nous vous recommandons de créer vos sauvegardes le matin ou en début de journée.

Organiser vos données sur des instances Filestore distinctes pour optimiser l'efficacité

Plus le partage de fichiers est important, plus la sauvegarde est importante et plus elle coûte cher. Pour ne sauvegarder que les données que vous devez sauvegarder, nous vous recommandons de les organiser sur des partages de fichiers distincts, à savoir:

  • Stockage de données critiques avec différents modèles d'écriture ou avec différentes exigences de sauvegarde sur différents partages de fichiers.
  • Réduire le nombre de sauvegardes que vous devez créer en conservant les données similaires dans un même partage de fichiers.

Quota

Une limite de quota existe concernant le nombre de sauvegardes par région pour les niveaux de service SSD de base et HDD de base.

Les limites de quota de sauvegarde ne s'appliquent pas aux niveaux de service zonaux et Enterprise.

Pour en savoir plus, consultez la section Niveaux de service et quotas.

Premiers pas avec les sauvegardes Filestore

Pour commencer à utiliser cette fonctionnalité, consultez Sauvegarder les données pour la reprise après sinistre.

Étapes suivantes