Passer au contenu

OceanStore : des données façon puzzle

OceanStore vise à procurer à tout utilisateur connecté au WAN un stockage persistant, hautement disponible, tolérant aux pannes et sécurisé.

Oubliez le NAS, le SAN, le DAS. Le projet OceanStore, mené depuis 1999 à Berkeley, n’est pas fondé sur une infrastructure dédiée d’équipements de stockage. Son modèle, même s’il n’est pas strictement point à point, rappelle celui de Napster ou des grilles de calcul distribué. Les chercheurs entendent exploiter les énormes ressources que constituent les millions de PC connectés en permanence au réseau. OceanStore est commercialisé sous forme de service.

L’objet persistant

Tout utilisateur qui s’abonne cède un faible pourcentage de ressource disque (1 Go sur un disque de 20 Go, par exemple) de sa machine, alors transformée en serveur de données banalisé. En échange, il gagne un accès client à un espace de stockage sécurisé et permanent sur tout le réseau ainsi constitué. L’administration générale d’OceanStore, protocoles et localisation en particulier, est confiée à des prestataires. Les serveurs de ces prestataires constituent la partie sécurisée du réseau et forment un middleware. Il s’agit donc un modèle 3-tiers.L’unité de base d’OceanStore est l’objet persistant. Il contient des données brutes (par exemple un fichier texte) et des métadonnées : pointeurs vers d’autres objets, noms d’autres objets, informations de contenu comme le type du fichier, les droits associés, les clients nécessaires à sa lecture… Il permet de stocker un fichier unique, mais aussi de représenter un répertoire. Chaque mise à jour de l’objet crée une nouvelle version de l’objet. Cette solution, plus coûteuse en ressources que la mise à jour de l’objet existant, est en revanche bien plus fiable en cas d’accident (possibilité de retrouver une version antérieure cohérente). Chaque objet dans OceanStore est repéré par un identifiant unique (Guid), comparable aux inodes (descripteurs de fichiers) d’un système de fichiers. Ces Guid intègrent le produit d’un algorithme de hachage (de type SHA-1) appliqué à la donnée stockée, pour que l’utilisateur puisse vérifier l’authenticité du fichier.

L’objet actif

Les objets persistants existent en deux états. La forme Active contient la plus récente version des données, les métadonnées associées, et les mécanismes de mise à jour en écri-ture. Cet objet actif prend la forme d’une série de répliques flottantes, réparties en différents lieux géographiques du réseau. Le client, qui souhaite accéder à l’une de ces répliques, sera dirigé vers la plus proche de lui (éventuellement en local sur sa machine) par les serveurs intermédiaires. C’est un mécanisme de cache distribué. Ces répliques flottantes sont reliées par un processus de gestion de la cohérence, tolérant les fautes byzantines (lorsque deux messages portant la même identité sont en conflit dans un système) géré lui aussi au niveau des serveurs intermédiaires.

L’objet archive

La forme Archive d’un objet ne permet l’accès qu’en mode lecture. Il existe bien entendu des processus qui permettent d’effectuer une copie active d’une archive. Pour donner une grande pérennité aux données archivées dans OceanStore et ce, sur des machines dont la fiabilité n’est pas certaine, les chercheurs ont exploité le principe des codes de correction d’erreur. L’objet persistant est traité par des algorithmes de la famille Salomon-Reed et Tornado lorsqu’il passe au statut d’archive. Ces codes divisent une donnée en plusieurs fragments auxquels sont ajoutées des données de reconstruction (comme dans le Raid 5, par exemple). En cas de perte d’une partie des fragments (50 % au plus selon la façon dont on applique les algorithmes, qui ont pour contrepartie d’alourdir la donnée de départ), il reste possible de reconstituer la donnée d’origine grâce aux données de reconstruction.Les fragments de très petite taille (quelques centaines d’octets) ainsi obtenus sont répartis sur les disques durs des machines (serveurs de données banalisés) qui composent le réseau OceanStore. Pour reconstituer l’objet de base, il suffira alors de rapatrier une partie suffisante des fragments. Comme le nombre de machines sur lesquelles des fragments sont répartis est très grand, il est très fortement improbable que plus de 50 % de ces machines se retrouvent hors service en même temps, ce qui produit un taux de disponibilité très élevé. Par rapport à une sécurisation par réplication classique (mirroring), ce mécanisme à l’avantage de ne pas multiplier les copies complètes du fichier d’origine, et donc de limiter l’utilisation de l’espace de stockage. Lorsqu’une archive est appelée, le middleware OceanStore rassemble les fragments et recompose l’objet persistant d’origine sous la forme active. n

🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.


Bonnet renaud