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 apprendre à créer et à gérer des sauvegardes, ainsi qu'à restaurer une instance Filestore à partir d'une sauvegarde, consultez la section 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 la création. Vous pouvez créer des sauvegardes dans la même région que l'instance Filestore ou dans une autre région pour réduire le risque de perte de données.
Les sauvegardes sont adressables à l'échelle mondiale et peuvent être utilisées pour restaurer les 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 des fichiers d'un partage de fichiers. 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. Elle peut se trouver en dehors de la région utilisée pour stocker l'instance source.
Tous les niveaux de service acceptent 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:incluent les modifications apportées aux fichiers sur le partage, telles que les modifications, les ajouts ou les suppressions de fichiers.
Modifications incrémentielles:incluent les modifications apportées à l'espace de 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 sur la même chaîne de sauvegarde, la sauvegarde précédente est analysée pour détecter les 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 sur plusieurs chaînes de sauvegarde implique que vous sauvegardez et stockez les sauvegardes dans des emplacements alternés.
Chaque fois que vous créez une sauvegarde vers un emplacement alterné, une copie complète de la sauvegarde est générée à nouveau. Attendez-vous à une latence plus élevée pour les opérations de sauvegarde create
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 niveau 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 les instances aux niveaux de service zonal, régional et 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. Elles 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 explicitement effectuer une opération de suppression sur la sauvegarde et non sur l'instance.
Veillez à supprimer toutes les sauvegardes indésirables. 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 utiliser 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 les données 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 nouvelle sauvegarde pour 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 toutes les données non sauvegardées seront 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
Après avoir créé une instance Filestore, vous ne pouvez pas 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.
De plus, 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é de multipartage Filestore.
Une fois la tarification appliquée, les frais applicables s'appliquent.
Les utilisateurs doivent créer une ou plusieurs sauvegardes pour remplacer celles créées dans la version preview. Les sauvegardes créées en version Preview sont susceptibles d'être supprimées. Les sauvegardes créées dans la version preview reflètent le comportement de la fonctionnalité 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 traitent 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 % lors de l'importation d'une sauvegarde. Les performances des instances de niveau de base ne sont pas affectées par les opérations de sauvegarde
create
.Le stockage des données d'une instance sur plusieurs chaînes de sauvegarde a un impact sur les performances de sauvegarde. Attendez-vous à une latence plus élevée pour les opérations de sauvegarde
create
en cas d'alternance entre les chaînes de sauvegarde.Les opérations de l'instance, telles que
restore
oudelete
, peuvent être retardées jusqu'à la fin d'une opérationcreate
de sauvegarde.Dans certains cas, les opérations
delete
peuvent prendre jusqu'à 24 heures.
Simultanéité des opérations
Les opérations de sauvegarde
delete
associées à la même instance source doivent être effectuées une par une.Les opérations de sauvegarde groupée
delete
dans une chaîne de sauvegarde ne sont pas acceptées. Lorsqu'une opérationdelete
est en attente, toute nouvelle opérationdelete
au sein de la même chaîne de sauvegarde renvoie une erreurRESOURCE_EXHAUSTED
. 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 limite s'applique à tous les niveaux de service, à l'exception des disques SSD de base et HDD de base.
Notez que Filestore accepte les opérations de sauvegarde
delete
simultanées lorsque les sauvegardes font référence à des instances sources distinctes.Par exemple, une instance intitulée
Source1
contient des données de sauvegarde référencées dansBackup1
etBackup2
.Source2
contient des données de sauvegarde référencées dansBackup3
etBackup4
.Backup1
etBackup2
ne peuvent pas être supprimés en parallèle, maisBackup2
etBackup3
le peuvent.
Pour en savoir plus, consultez la section Limites de débit pour les sauvegardes.
Les opérations de sauvegarde
create
et de sauvegardedelete
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 sauvegardecreate
pendant la suppression de la sauvegarde la plus récente.- Si l'utilisateur tente de créer une nouvelle sauvegarde de l'instance alors que la sauvegarde la plus récente est en cours de suppression, il recevra un message d'erreur
FAILED_PRECONDITION
. Par exemple, siSource1
comporte une chaîne de sauvegarde composée deBackup1
etBackup2
et que l'utilisateur lance une opérationcreate
pourBackup3
, il ne pourra pas supprimerBackup2
tant que l'opérationcreate
ne sera pas terminée. En effet, la sauvegarde la plus récente contient les données les plus critiques nécessaires à l'opération de sauvegardecreate
.
- Si l'utilisateur tente de créer une nouvelle sauvegarde de l'instance alors que la sauvegarde la plus récente est en cours de suppression, il recevra un message d'erreur
Pour en savoir plus sur les limites de débit des opérations, consultez la section Limites de débit des opérations pour les sauvegardes.
Espace de stockage
Les opérations de sauvegarde
restore
sur l'instance source ou sur une instance existante ne sont pas disponibles pour les instances zonales, régionales et d'entreprise. Si vous souhaitez restaurer une sauvegarde d'instance dans l'un de ces niveaux de service, vous devez créer une instance.La nouvelle instance doit correspondre au niveau de service et à la plage de capacité de l'instance source. Par exemple, si la source a été créée à l'aide du niveau de service zonal avec une plage de capacité inférieure, la nouvelle instance doit utiliser le même niveau de service et la même plage de capacité.
Si vous devez créer une instance utilisant l'ancien niveau de service SSD à grande échelle, vous devez exécuter vos opérations directement via l'API Filestore.
Si vous devez créer une instance avec l'ancien niveau de service d'entreprise, vous pouvez exécuter vos opérations directement via l'API Filestore ou depuis la page Restaurer la sauvegarde > Nouvelle instance dans Google Cloud.
Par exemple, si vous souhaitez créer une ressource régionale avec une capacité d'instance de 10 Tio, vous devez utiliser l'ancien niveau de service Enterprise.
Les opérations de sauvegarde, telles que
restore
,edit
oudelete
, 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 régionale ou d'entreprise, vous ne pouvez pas créer d'instantanés portant les mêmes noms que les instantanés précédents avant l'opération.
Les tentatives de restauration d'une instance à partir d'une sauvegarde alors qu'une suppression de sauvegarde ou d'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érationdelete
.
Capacité
Chaque sauvegarde occupe de la capacité d'instance. Cette capacité varie en fonction de l'étendue des modifications apportées aux données depuis la création de la dernière sauvegarde.
Plus précisément, lorsqu'une sauvegarde est créée, 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 de l'étendue des modifications apportées aux données dans le partage depuis la création de la dernière sauvegarde. Cet instantané existe jusqu'à ce que la sauvegarde suivante soit créée et importée.
Toutes les données référencées par la sauvegarde restent dans l'état tel qu'il était au moment de leur capture et continuent à prendre de la capacité du système de fichiers. Par exemple, si vous supprimez des données du système de fichiers installé, cette action 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 et de leur gestion, consultez la section Créer une sauvegarde.
Pour anticiper une capacité suffisante pour vos charges de travail, envisagez d'appliquer l'une des solutions suivantes:
- Augmentez la capacité des instances pour les charges de travail comportant 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:
Toute une chaîne de sauvegarde est chiffrée à 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 prennent en charge plusieurs chaînes de sauvegarde ou la possibilité de stocker les sauvegardes d'une instance dans plusieurs régions. Si vous choisissez d'utiliser une CMEK pour le chiffrement, celle-ci 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 Restrictions CMEK et Choisir le meilleur emplacement de CMEK.
Une seule clé CMEK est appliquée au bucket Cloud Storage dans lequel la chaîne de sauvegarde est stockée. Elle ne peut pas être combinée ni remplacée.
Les CMEK ne sont pas compatibles avec les sauvegardes de niveau de base.
Pour en savoir plus, consultez Compatibilité des CMEK avec les chaînes de sauvegarde.
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 options
O_DIRECT|O_SYNC
. Pour en savoir plus, consultez la page 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 d'effectuer les opérations suivantes:
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 présentent 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 contient de données, plus la sauvegarde est volumineuse et plus elle coûte cher. Pour ne sauvegarder que les données que vous devez sauvegarder, nous vous recommandons d'organiser vos données 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éduisez le nombre de sauvegardes à créer en conservant des données similaires dans un seul partage de fichiers.
Quota
Une limite de quota existe pour 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 zonal, régional ni 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 des données pour la reprise après sinistre.
Étapes suivantes
- Découvrez comment sauvegarder et restaurer des partages de fichiers.
- Découvrez comment planifier des sauvegardes à l'aide de Cloud Scheduler.
- Apprenez-en davantage sur les régions et les zones Google Cloud.
- En savoir plus sur les pricing des sauvegardes.