Présentation des instantanés

Cette page décrit ce qu'est un instantané, comment il fonctionne, et aborde les limites et les bonnes pratiques.

Pour savoir comment utiliser les instantanés, consultez les guides suivants :

Qu'est-ce qu'un instantané ?

Un instantané Filestore est l'état préservé de vos données de partage de fichiers au moment de la création de l'instantané. L'instance conserve l'état des fichiers modifiés après la création de l'instantané. Si vous souhaitez restaurer un fichier à l'état préservé dans l'instantané, vous pouvez écraser le fichier actuel avec le fichier du répertoire d'instantané approprié.

Les instantanés sont stockés dans l'instance Filestore et sont des ressources enfants de l'instance. Ils ne répliquent aucune donnée et ne consomment pas de capacité tant que les données de l'instance ne sont pas modifiées. Tous les instantanés d'une instance partagent des données communes, ce qui signifie que l'instance ne conserve que les différences entre les instantanés.

Bien que les instantanés soient plus économiques que les autres opérations de récupération de données Filestore, la capacité d'instance disponible diminue continuellement à mesure que des modifications sont apportées aux fichiers.

Niveaux compatibles

Le tableau suivant indique les niveaux de service Filestore compatibles avec les instantanés et l'opération revert instance :

Niveau Créer un instantané Rétablir une instance
HDD de base Non Non
SSD de base Non Non
Zonal Oui Oui
Régional Oui Oui
Entreprise Oui Oui

Les instantanés et les opérations revert associées sont également compatibles avec l'ancien niveau de service SSD à grande échelle.

Bien que les instantanés soient compatibles avec le niveau de service Enterprise, ils ne peuvent pas être combinés avec la fonctionnalité Filestore Multishares.

Création d'instantanés

Chaque répertoire d'un partage de fichiers contient un répertoire .snapshot masqué. Chaque répertoire .snapshot contient les instantanés de son répertoire parent que vous créez, par exemple:

volume1/
│   genomics-file.txt
│
└───.snapshot
    │
    ├───snap1/
    │        genomics-file.txt
    │
    ├───snap2/
    │        genomics-file.txt
    │
    └───snap3/
             genomics-file.txt

Les instantanés contiennent une vue en lecture seule de tous les fichiers et sous-répertoires qui existent dans son répertoire parent au moment de la création de l'instantané. Tous les attributs de fichier, tels que atime, ownership et les autorisations de lecture et d'écriture, sont conservés.

La création d'instantanés ne prend généralement pas plus de deux minutes, car elle n'implique pas la copie des données et n'affecte pas les performances de l'instance.

Vous pouvez avoir jusqu'à 240 instantanés par instance à la fois. Le nom du partage de fichiers et le nom de l'instantané peuvent comporter jusqu'à 78 caractères au total.

Cohérence des instantanés

Les instantanés Filestore ont une sémantique de cohérence NFSv3. Avant le lancement de la capture d'un instantané, 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 l'instantané. Pour plus d'informations, consultez la section 3.3.7 du document RFC-1813 NFSv3.

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

La qualité d'un instantané dépend de la capacité de votre application à effectuer la récupération à partir d'instantanés créés lors d'importantes charges de travail d'écriture. Dans la plupart des cas, vous pouvez créer des instantanés 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'option d'installation de synchronisation ou ouvrez des fichiers avec O_DIRECT|O_SYNC. Ces deux méthodes améliorent la cohérence, mais ne garantissent pas.
  • 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-les à vider leurs modifications au partage de fichiers avant de lancer la création de l'instantané. 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 instantanés 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 un instantané.

Sémantique NFS du répertoire .snapshot

Les répertoires .snapshot sont des répertoires masqués spéciaux contenant les instantanés pris pour son répertoire parent. Toutes les commandes NFS et bash fonctionnent pour ces répertoires avec les exceptions suivantes:

  • Vous ne pouvez pas créer un fichier ou un répertoire nommé .snapshot, car il est réservé aux instantanés.
  • Le répertoire .snapshot n'est pas répertorié dans les résultats des commandes READDIR ou READDIRPLUS, et n'est pas non plus répertorié dans la commande bash ls -a.
  • Pour passer à un répertoire .snapshot, vous devez saisir explicitement la chaîne .snapshot. Exemple : cd somedir/.snapshot/
  • La saisie semi-automatique pour les commandes shell ne répertorie pas .snapshot comme option.

Supprimer des fichiers capturés dans un instantané

Lorsqu'un fichier est capturé dans un instantané, sa suppression n'augmente pas l'espace disque libre sur votre instance.

Revenir à un état d'instantané

Le rétablissement d'une instance à l'état d'un instantané est en disponibilité générale pour les instances zonales, régionales et Enterprise uniquement.

Lorsqu'une instance est rétablie à l'état capturé dans un instantané, toutes les nouvelles données écrites depuis la création de l'instantané cible sont supprimées et ne peuvent pas être récupérées. Les instantanés créés après l'instantané cible sont également supprimés par le processus de rétablissement.

Limites des fonctionnalités

  • La fonctionnalité Rétablir l'instantané est une opération irréversible qui supprime les données du système de fichiers actif et chaque instantané ultérieur et plus récent de la chaîne. Le risque de perte accidentelle de données est donc plus élevé. Ce comportement est très différent de celui de la restauration à partir d'une sauvegarde, où la sauvegarde reste dans son état actuel après utilisation, ce qui vous permet de tenter de restaurer à partir de plusieurs sauvegardes pour trouver la meilleure. Utilisez la fonctionnalité Rétablir avec précaution.

  • Toutes les données écrites après la création de l'instantané cible sont supprimées au début du processus de rétablissement et ne peuvent pas être récupérées. Tous les instantanés plus récents que l'instantané cible sont également supprimés. Par exemple, snapshot1, snapshot2 et snapshot3 sont créés séquentiellement. Le rétablissement de l'instance à l'état capturé dans snapshot2 signifie que toutes les données écrites après snapshot2, ainsi que tous les instantanés pris après la création de snapshot2, sont supprimés lors du processus de rétablissement.

    Le nettoyage de ces données supprimées peut prendre entre six heures et dix jours. La capacité et les performances de l'instance peuvent être affectées pendant cette période.

  • Lorsque vous restaurez une instance à l'état d'un instantané, l'ID (fsid) du système de fichiers NFS est mis à jour. Les tentatives d'accès aux clients à l'aide de montages existants renverront des erreurs de descripteur de fichier obsolète. Il est recommandé de démonter tous les clients de l'instance avant l'opération d'annulation, puis de les remonter une fois l'opération terminée.

  • Une opération d'annulation peut prendre jusqu'à deux minutes.

    • Toute opération de nettoyage associée à l'opération d'annulation, comme la suppression des instantanés suivants de la chaîne, peut prendre entre six heures et dix jours, selon le nombre de fichiers concernés.
    • Vous pouvez exécuter d'autres opérations pendant l'opération de rétablissement et pendant que le nettoyage est en cours.
    • Vous devez attendre la fin de l'opération d'annulation avant d'en commencer une autre.
  • Les instantanés et les opérations revert associées sont disponibles pour la plupart des niveaux de service. Les instantanés ne sont pas disponibles dans les niveaux de service SSD de base et HDD de base.

  • Seules les instances avec un seul partage peuvent revenir à un état d'instantané.

  • Bien que les instantanés soient compatibles avec le niveau de service Enterprise, ils ne peuvent pas être combinés avec la fonctionnalité Filestore Multishares.

Étapes suivantes