07 mai 2007

FilePool, le pionnier

ou la genèse du CAS. C'est encore une innovation européenne, Belge précisément, puisque Paul Carpentier implémenta le premier l'adressage par contenu - Content Addressable Storage - dédié à une solution de stockage en vue du stockage des données informatiques indépendemment de leur contenu et leur localisation géographique. La plateforme FilePool était née, dés le début des années 90, issue des travaux de Wave Research, ça date.

Ce mode d'adressage s'oppose à l'approche dite "Location-based" qui se base sur un index de positionnement lié au stockage lui-même et non à la donnée qu'il est chargé de stocker. Le découpage en bloc élémentaire avec une indexation direct et indirecte en fonction de la taille du fichier et aussi de la fragmentation de l'unité de stockage pénalise l'utilisateur et asservit la donnée au système de fichiers de la plateforme et du système d'exploitation. Ce moyen offre un mécanisme qui a néanmoins fait ses preuves depuis longtemps et continue à satisfaire au quotidien des milliards d'utilisateurs et d'applications, admettons que ça marche bien, même trés bien. L'idée est donc de pointer directement sur l'information et non sur un container pointant lui sur les blocs de données placés sur l'unité de stockage. Quelles sont les limites de l'adressage traditionnel ? tout d'abord sa robustesse est variable et trés liée aux différents développements et générations de systèmes de fichiers, la journalisation a fait progressé cette couche de stockage. Le second problème, le plus critique, est l'écrasement du contenu, le fichier étant connu par son chemin, chaque mise-à-jour du contenu écrase la valeur précédente. Si le fichier est copié il s'agit alors d'un autre fichier. Le CAS se base sur une signature calculée sur le contenu, si celui-ci change l'adresse change et les versions du même fichier sont préservées. Ces signatures sont pérennes et identiques au cours du temps, si le fichier change, l'adresse change mais il s'agit alors d'une nouvelle version du fichier attaché à un nouveau contenu. On comprend donc que le système déduplique nativement les fichiers garantissant une réduction de la consommation d'espace de stockage et donc des coûts associés.

Les algorithmes utilisés dans ce calcul de signature sont issus de la cryptographie, les plus connus étant MD5 (Message Digest 5) et SHA-1 (Secure Hash Algorithm). La robustesse du système repose ici sur la capacité de l'algorithme à garantir la non collision de signatures, MD5 utilisant 128 bits, et éviter que 2 contenus différents - 2 fichiers - générent la même signature donc normalement la suppression d'un des fichiers. S'ils sont vraiment égaux c'est parfait, s'ils sont différents un mécanisme additionnel comme un couplage d'un autre algorithme se pratique. C'est d'autant plus délicat que les secteurs d'utilisation comme l'archivage ou la déduplication sont consommateurs de tels algorithmes, il convient donc de s'assurer de la gestion de la collision dans la sélection d'une solution. Mais soyons réaliste, la chance de tomber sur un synonyme existe mais est vraiment infine. Par convention, l'adresse 128 bits encodée par MD5 est codée sur une base 36 dans FilePool et le hash 3D1HEAE3M41VDx8O3E5NU91T12U est la fameuse clé du fichier contenant "Hello World!". L'idée de l'adressage par contenu va plus loin avec son extension naturelle au réseau validant ainsi le modèle indépendant de sa résidence physique ou géographique. FilePool implémentait l'approche locale et réseau en choisissant le contenu le plus proche et le plus rapide d'accès en offrant aussi des réplicas de l'information pour des usages spécifiques et bien sûr intégrait des mécanismes de redondance. On parlait alors de CAN pour Content Addressable Network et introduire le concept de maillage de serveurs.

Du point de vue utilisateur, celui-ci intéragit avec le pool objet constitué par FilePool au travers de systèmes équipés de la logique FilePool (agents et serveurs). Quand un fichier est soumi au système, une clé est retournée, ce que FilePool avait baptisé l'e-CLIP, identifiant de façon unique le fichier permettant ensuite les requêtes sur ce fichier et le partage de cette clé entre utilisateurs. FilePool ajoute ensuite une structure XML pour stocker les meta-data du fichier en question et nomme ce fichier un EDF (e-CLIP Definition File) qui ressemble à:

Depuis FilePool est passé depuis sous la coupe du géant d'Hopkinton, EMC, c'était en 2001 et a fait de Centera, la mouture EMC de FilePool, le best-seller que l'on connait. EMC a imposé la solution, a éduqué le marché trés balbutiant à l'époque pour être aujourd'hui la solution par défaut, celle de référence, malgré une bonne dizaine de concurrents, hardware ou software. EMC possède donc une part de marché imposante malgré aujourd'hui plusieurs lacunes reconnues dans le produit, en effet peu d'évolution sont sorties des labs. On qualifie EMC Centera de CAS de génération 1, alors que nous sommes aujourd'hui en génération 3. On entend même dire qu'EMC s'apprêterait à dévoiler une nouvelle plateforme CAS, ce n'est pas trop tôt, même si le leader n'est pas inquiet de la concurrence. Attention néanmoins à HDS, récent acquéreur d'Archivas aprés plusieurs mois d'accords oem et pour moi le meilleur CAS du marché, qui se verrait bien en swap des sites Centera. Reste que tant que le standard SNIA XAM (eXtensible Access Method) n'est pas là, les clients auront bien du mal à envisager une quelconque migration, quelque soit le sens d'ailleurs.

Paul Carpentier, qui n'a pas intégré EMC, a depuis créé une autre société, Caringo du nom des fondateurs (Paul Carpentier, Jonathan Ring et Mark Goros), qui conçoit un CAS de 3éme génération, le pas encore fameux CAStor, purement soft, on reviendra dans les prochaines semaines sur cette société. Le marché du CAS est décidément trés actif avec pour moi sans aucune ambiguité son adéquation parfaite aux nouveaux besoins d'archivage, sa facilité d'adressage, la déduplication de l'information et l'accès à l'information en ligne obligatoire aujourd'hui. Reste un parc installé de bandes qu'il va falloir gérer, migrer et à terme recycler, à quand un musée de l'archivage ?

1 commentaire:

paulrmc a dit…

Philippe,

En fait, je n'ai jamais travaillé pour EMC. J'ai pris un petit sabbatical pour m'intéresser aux algorithmes génétiques appliqués a la synthèse "in silico" de nouveaux médicaments (anti-SIDA dans ce cas). Après cela j'ai géré Hypertrust, un startup de stockage internet et un des tout premiers clients Centera en Europe. C'est d'ailleurs cette "expérience client" qui m'a donnée de nouvelles perspectives et l'inspiration de démarrer Caringo.

Si les petit détails historiques t'intéressent, contacte-moi à mon adresse Caringo. De toute façon je serais ravi de faire ta connaissance.

Paul C