NetApp Tech OnTap
     

Déduplication des flux de données de sauvegarde avec le système VTL de NetApp

Si, depuis quelques années vous êtes un lecteur fidèle de Tech OnTap, vous avez probablement lu de nombreux articles sur la technologie de déduplication de NetApp pour nos systèmes de stockage FAS. Cet article décrit une technologie de déduplication nouvelle et différente : la déduplication sur nos systèmes VTL. Les résultats sont identiques (économie d'espace grâce à la suppression des données redondantes), mais la manière dont nous l'accomplissons sur le VTL NetApp® est assez différente.

La technologie de déduplication utilisée dans le VTL NetApp est entièrement nouvelle. Elle est conçue spécialement pour répondre aux besoins de déduplication des formats des données de sauvegarde, tels que générés par les applications de sauvegarde courantes comme Symantec™ NetBackup™, Tivoli Storage Manager, etc. La déduplication sur le VTL NetApp combine des algorithmes de déduplication nouveaux et exclusifs avec les fonctions VTL NetApp éprouvées, telles que la compression matérielle à haute performance de NetApp, pour obtenir une efficacité de stockage hors normes avec une économie d'espace d'au moins 20 contre 1 pour les jeux de données de sauvegarde.



Déduplication pour VTL NetApp et pipeline de compression

Figure 1) Déduplication pour VTL NetApp et pipeline de compression

Considérations importantes sur la déduplication pour VTL

Les librairies de bandes virtuelles remplacent les bibliothèques de bandes traditionnelles dans votre data center, plusieurs flux de données de sauvegarde pouvant être écrits directement sur disque à un très haut débit. L'apport de la déduplication dans un tel environnement demande la prise en compte de certains éléments.

Indépendance par rapport à l'alignement. La plus importante condition en matière de déduplication sur VTL est que celle-ci doit être indépendante de l'alignement des données. Des données dupliquées aux formats générés par la plupart des applications de sauvegarde pouvant apparaître dès le moindre décalage dans le flux de données de sauvegarde, l'analyse de la déduplication doit être effectuée de telle manière que ces données dupliquées puissent être situées partout où elle se produit et tant qu'elle se produit. Il ne s'agit pas simplement d'une question d'identification des blocs de données dupliquées de taille fixe.

Je décrirais en détail comment le VTL NetApp détecte la duplication dans une section ultérieure. Pour l'instant, il suffit de dire que le VTL NetApp est capable de détecter la duplication sans s'occuper du décalage de départ ou d'arrivée.

Indépendance par rapport au format. Certains algorithmes de déduplication suivent l'approche des formats de données de sauvegarde de rétroconception et dédupliquent les données en connaissant leur format au préalable. L'inconvénient potentiel d'une telle approche est que le nombre de formats possible est très important.

Il existe aujourd'hui au moins une demi-douzaine d'applications de sauvegarde très répandues, chacune possédant son propre format de données, certaines présentant également des formats différents selon les types de données (base de données par rapport aux données de fichiers, etc.). Ces formats sont souvent propriétaires et susceptibles d'être modifiés sans préavis.

Consciente qu'une approche dépendante du format est potentiellement problématique, le VTL NetApp traite les flux de données, de sauvegarde ou autre, comme des données opaques et effectue la déduplication sans avoir besoin de décoder le flux.

Pendant l'exécution ou post-traitement ? Une autre considération importante est le fait de savoir s'il est nécessaire d'effectuer la déduplication pendant l'exécution à chaque réception d'un flux de données, ou d'écrire ces flux de données sur disque et de les dédupliquer ensuite en mode post-traitement. Du point de vue du stockage, l'approche pendant l'exécution est plus efficace, car les données dupliquées n'atteignent jamais le disque. D'un autre côté, ce traitement de la déduplication pendant l'exécution risque de ralentir les applications lors de l'écriture des flux de données et donc d'accroître le temps nécessaire pour terminer les sauvegardes.

Pour le VTL NetApp, nous avons choisi une approche « gagnant-gagnant ». L'algorithme de déduplication du VTL NetApp est conçu pour « s'adapter au débit ». Il s'exécute pendant l'exécution ou en post-traitement, selon les conditions requises en matière de débit par l'application de sauvegarde. Il est conçu pour changer automatiquement de mode de fonctionnement lorsque la charge de sauvegarde se modifie. Cette capacité d'adaptation au débit sera déployée par phases. L'implémentation initiale est limitée au post-traitement afin de maintenir des débits élevés en entrée pour les données. Même si la déduplication s'effectue uniquement en post-traitement dans la version initiale, certains aspects du traitement de la déduplication s'effectuent pendant l'exécution et basculent en fonction du débit entre les modes pendant l'exécution et post-traitement (voir la description de la génération d'ancrage dans la suite de cet article).

Hachages ou comparaison au niveau des octets ? La « collision entre hachages », le fait que deux morceaux de données aient une valeur de hachage identique, qui entraîne l'abandon de données uniques, est un vieux débat dans le monde de la déduplication. Le VTL NetApp n'est pas sujet à ce risque potentiel. Comme la plupart des algorithmes, elle utilise des hachages pour repérer les données en double, mais elle effectue alors une comparaison octet par octet de sorte qu'aucune donnée unique ne soit jamais perdue ni corrompue.

Compression ? Une autre question importante est de savoir si vous pouvez combiner les avantages de la déduplication et ceux de la compression des données. Le VTL NetApp permet de bénéficier au maximum à la fois de la déduplication et de la compression matérielle. (L'implémentation de la compression matérielle est décrite en détail dans un précédent article de Tech OnTap.) D'autres fournisseurs fournissent la déduplication avec une compression logicielle, mais seul NetApp combine les avantages de la déduplication avec ceux de la compression matérielle accélérée (Figure 1).

Dédupliquer ou ne pas dédupliquer ? Enfin, une autre considération consiste à savoir si la déduplication des données entrantes est réellement nécessaire. La déduplication entraîne obligatoirement un coût de traitement important (quelle que soit son implémentation) et, si l'avantage doit être minime, la déduplication des jeux de données n'a aucun sens. Par exemple, les sauvegardes incrémentielles avec courtes périodes de rétention risquent de ne pas faire économiser suffisamment d'espace pour justifier leur déduplication.

NetApp vous permet d'activer ou de désactiver la déduplication au niveau de chaque librairie virtuelle (un VTL NetApp peut être configuré avec plusieurs librairies virtuelles). Avec certains autres fournisseurs de VTL, la déduplication est toujours obligatoire.

Algorithme de déduplication du VTL NetApp

Le VTL NetApp utilise à la fois des tailles de bloc variables et des décalages d'octet variables, avec des techniques avancées telles que les filtres d'omission, afin d'identifier les données en double au moindre décalage et d'optimiser l'efficacité lors de la déduplication des flux de données de sauvegarde. Sa conception vous permet de tirer parti de notre méthodologie unique d'adaptation au débit et gérée par stratégie, qui s'efforce de vérifier que les fenêtres de sauvegarde sont respectées en basculant automatiquement entre la déduplication partielle pendant l'exécution (génération d'ancrage) et le post-traitement complet, selon le débit auquel les données doivent être introduites.

Chez NetApp, nous avons développé cette technologie en interne et spécialement pour notre propre VTL et, contrairement aux autres technologies de déduplication basées sur du code de VTL existant, elle fait intrinsèquement partie du logiciel VTL central. Plusieurs brevets sont en attente d'homologation pour les algorithmes que nous avons créés.
L'algorithme de déduplication du VTL NetApp s'appuie sur quatre technologies clés :

  • Génération d'ancrage
  • Croissance par comparaison
  • Omissions
  • Compression matérielle

Génération d'ancrage : cette technologie est utilisée pour effectuer un balisage initial des points de données « intéressants » dans un flux de données. Une partie de ces points de données « intéressants » deviennent des « points d'ancrage », utilisés en tant que point de départ pour identifier les segments identiques. La génération d'ancrage utilise une fonction de hachage rapide et efficace et s'effectue généralement pendant l'exécution (à l'introduction des données). Lorsque l'emplacement des données en double change d'une sauvegarde à l'autre, l'emplacement des ancrages uniques contenus dans ces données se déplacent avec ces dernières, ce qui permet de les identifier rapidement.

Les ancrages sont stockés sur disque et mis en cache pour la recherche à haut débit. Notre algorithme génère habituellement trois ancrages environ pour chaque bloc de 64 K de données. Les ancrages qui présentent des identifiants de hachage identiques indiquent une haute probabilité de données en double dans les flux au sein desquels ils résident. Cependant, ils ne sont pas considérés comme des correspondances exactes tant que la comparaison des octets n'a pas été effectuée.

Croissance par comparaison (GBC). Lorsqu'un ancrage présentant une valeur en double est détecté, une comparaison séquentielle des octets permet de déterminer avec certitude si les données sont identiques. La comparaison s'effectue en amont et en aval du point d'ancrage pour déterminer la longueur totale du segment de données correspondant.

Cette croissance par comparaison est unique en ceci qu'elle permet d'éliminer les séquences en double de longueur arbitraire, pas seulement les blocs de longueur fixe, mais une véritable granularité au niveau des octets avec une longueur variable et infinie. Lorsqu'un segment de données correspond à des données déjà stockées, il est remplacé par une référence au segment déjà stocké.


Figure 2) Vidéo illustrant le concept de génération d'ancrage et de croissance par comparaison


GBC vérifiant l'unicité de chaque octet, il est plus sûr que les algorithmes de hachage des autres fournisseurs de déduplication qui entraînent une perte de données lorsqu'une collision de hachage se produit.

Les omissions s'adaptent efficacement aux petites variations susceptibles de survenir entre des segments de données en double dus aux en-têtes des fichiers et aux métadonnées des applications de sauvegarde. Les omissions rendent GBC extrêmement efficace en filtrant les métadonnées modifiées intégrées au flux de données et en omettant les grandes étendues de données de sauvegarde brutes pouvant être lues efficacement à partir des disques. Les omissions éliminent de fait les problèmes de performance des solutions concurrentes, dus à l'effet de la fragmentation des données par leurs algorithmes de déduplication.


Figure 3) Vidéo illustrant le concept des omissions


Compression matérielle. Toutes les données uniques sont écrites sur disque par les cartes de compression matérielle du VTL NearStore. Ces cartes utilisent un algorithme efficace de compression conventionnelle qui double généralement la quantité de données susceptibles d'être stockées sur un disque et pouvant être utilisées avec ou sans déduplication. La compression matérielle est étroitement associée à la déduplication en post-traitement. Toutes les données étant compressées dès leur introduction, la moitié environ seulement doit être stockée sur disque avant la déduplication.

Conclusion

NetApp a pris grand soin de créer une méthodologie de déduplication efficace et répondant spécialement aux exigences d'un VTL. Cette technologie présente les caractéristiques suivantes :

  • Elle est indépendante du format de sauvegarde, et donc fonctionne avec n'importe quel flux de données.
  • Elle propose deux modes de fonctionnement : pendant l'exécution et post-traitement.
  • Elle élimine tout risque de perte de données résultant des collisions de hachage.
  • Elle fonctionne avec la compression matérielle pour des performances maximales.
  • Elle peut être désactivée pour éviter une surcharge du traitement sur les jeux de données lorsque cela n'est pas nécessaire.

NetApp a choisi une approche exclusive afin d'obtenir une indépendance par rapport à l'alignement combinant des ancrages uniques créés par comparaison des hachages, identification des segments de données en double grâce à une comparaison bidirectionnelle à partir des ancrages identiques, et la capacité d'omettre les en-têtes de fichiers intégrés et les métadonnées de sauvegarde dans les données en double pour une efficacité maximale.

Vos opinions sur le VTL NetApp

Posez vos questions, échangez des idées et partagez vos points de vue directement en ligne via les communautés NetApp.

Keith Brown

Keith Brown
Directeur de la technologie
NetApp

Keith travaille chez NetApp depuis plus de 11 ans et participe actuellement au groupe de protection et de rétention des données. Il a assumé des responsabilités techniques et marketing pour de nombreux produits et technologies NetApp. Actuellement, Keith se concentre essentiellement sur les produits de réplication et de sauvegarde à base de Data ONTAP™ Snapshot™, sur les technologies de déduplication des données NetApp et sur le VTL NetApp.

 
Explorer