Definition

Snapshot (Stockage)

Dans un système de stockage, on appelle snapshot ou instantané, la capture par la baie de stockage d’une "photographie" à état à un instant donné des données d'un volume à des fins de sauvegarde et de protection de données.

Dans la plupart des cas, un snapshot est une photographie en mode lecture seule d’un volume à un instant donné (on parle de « point in time copy »). Le snapshot n’est techniquement pas un clone du volume original, mais une collection de pointeurs et de marqueurs permettant de suivre les modifications apportées à chaque bloc du volume depuis le dernier snapshot. En cas d’incident ou de mauvaise manipulation, il est possible de restaurer le volume dans l’état dans lequel il se trouvait au moment du snapshot. Et si plusieurs snapshots du même volume ont été effectués, il est possible de choisir l’instant auquel on souhaite remonter dans le temps.

Les mécanismes de snapshot sont précieux au sein de processus de sauvegarde, car ils permettent d’obtenir un instantané de l’état d’un volume sans arrêt de production. Un instantané, qui peut ensuite être répliqué à distance ou servir de base à une sauvegarde sur bande ou sur disque.

Snapshots Copy-on-write et Split-Mirror

A l'origine il existait deux technologies principales de snapshot, les instantanés de type copy-on-write, économes en capacité disque, et les instantanés de type split-mirror, bien plus gourmands en espace disque.

Le mécanisme de snapshot de type copy-on-write (ou COW), aujourd’hui l'un des plus utilisés, effectue une copie des métadonnées associées au volume "snapshoté" dans un espace réservé, une opération quasiment immédiate. Dès qu'un bloc du volume originel est modifié, cette modification est aussi répercutée dans cet espace réservé (le bloc n'est copié, que si une opération d'écriture vient le modifier, d'où l'appellation copy-on-write. Un snapshot de type COW permet une récupération rapide des données en cas d’erreur, d’effacement d’un fichier ou de corruption de données liée à une défaillance d’un programme, par exemple. La seul contrainte est que tous les snapshots intermédiaires doivent être présents si l’on veut revenir à l’état initial. Autre contrainte, les snapshots copy on write ne protègent pas d’une panne de disque. Il faut impérativement disposer d’une sauvegarde du volume initial, si l’on veut ensuite reconstruire le volume à un instant donné en rejouant les différents snapshots. Il est  noter qu'une des conséquences de l'utilisation des snapshots COW est une dégradation des performances dans le temps, chaque nouvelle modification de bloc générant dans la pratique plusieurs écritures.

Dans le mode split-mirror, la fonction de snapshot référence l’ensemble des données du volume original et pas seulement les données modifiées. Cela permet par exemple de simplifier l’accès aux données du snapshot (qui est de facto une copie miroir du volume original), mais s’avère consommateur en ressources et en espace disque.

Plus récemment, les constructeurs de baies de stockage ont commencé à mettre en oeuvre des snapshots de type Redirect on Write (ROW). Avec cette technologie, on prend toujours une photo initiale des blocs et de leur métadonnées comme avec un mécanisme COW, mais toute nouvelle écriture, au lieu de modifier un bloc existant est effectuée sur un espace libre. De cette façon, on évite le phénomène d'écritures multiples et la dégradation dans le temps des performances. 

Cette définition a été mise à jour en septembre 2014

Pour approfondir sur Disques durs, SSD et Unités de stockage