Utilisateur:Denaitre/Brouillon

RozoFS

Informations
Développé par Fizians
Dernière version 1.3.3 ()
Environnement GNU/Linux.
Type Système de fichiers distribué
Licence GNU GPLv2
Site web http://www.rozofs.com/

RozoFS est un système de fichiers distribué libre. Il permet de répartir les données d'un client sur un ensemble de supports de stockage inter-connectés en réseau. Similaire à Lustre, GlusterFS ou Ceph, il offre aux clients un moyen de monter le système de fichiers afin d'accéder aux données qui y sont stockées. Ses principaux objectifs visent à :

  • stocker de très grandes quantités de données (jusqu'à plusieurs pétaoctets),
  • permettre un accès rapide à ces données (lecture et écriture semblent local),
  • proposer une architecture extensible (capable d'ajuster le nombre de nœuds à chaud),
  • garantir la protection des données utilisateurs,
  • assurer la continuité du système face aux pannes.

Ces systèmes distribués impliquent en général un grand nombre de nœuds, qui sont souvent issus de matériel de base. Les pannes matérielles et logicielles sont alors fréquentes et il est essentiel de bénéficier de moyens de protection face à cela. L'une des principales caractéristiques de RozoFS est de garantir une haute disponibilité des données (et donc des applications qui les utilisent) grâce à un code à effacement (en)[1]. RozoFS peut ainsi offrir une protection équivalente aux techniques de réplication des données tout en réduisant significativement le surcoût de stockage nécessaire à produire une tolérance aux pannes équivalente.

Histoire

modifier

En 2010, Pierre Évenou, alors ingénieur de recherche au sein de l'IRCCyN, travaille sur la transformation Mojette. Il s'agit d'un outil mathématique, développé à l'Université Nantes, qui repose sur la géométrie discrète et qui s'inscrit en lieu dans des applications de tomographie discrète. En collaboration avec Jean-Pierre Guédon et Nicolas Normand, ils s'aperçoivent que cet outil peut être utilisé pour produire de l'information redondance. Ils conçoivent alors un code à effacement basé sur la transformée Mojette. A la suite de quoi, Pierre Évenou décide de fonder la start-up Fizians[2] dans l'objectif de concevoir des systèmes de stockage efficacement protégés par cette technique. Aujourd'hui, RozoFS est le logiciel développé par Fizians et tente de répondre aux problématiques liées au stockage distribué[3]. En parallèle de la conception du logiciel, RozoFS a su garder des liens étroits avec le milieu universitaire[4]. Depuis 2013, le CNED utilise RozoFS comme solution de stockage[5].

Codage à effacement

modifier

Bien que les codes à effacement nécessitent des opérations calculatoires complexes (phase d'encodage et de décodage), ils proposent une protection similaire aux techniques de réplication de données, tout en réduisant significativement l'espace de stockage nécessaire[6][7].

Réplication des données

modifier

Pour assurer la disponibilité des données, on a utilisé habituellement la réplication des données. Lors de la phase d'écriture, un flux de données est divisé en blocs de tailles fixes. Ces blocs sont dupliqués 'n' fois, puis distribués sur différents nœuds de stockage d'un réseau. Lors de l'opération de lecture, le système rapatrie simplement une copie de l'information. Lorsqu'un nœud tombe en panne durant la lecture, le système rapatrie une autre copie du bloc. Le système peut alors faire face à 'n-1' pannes. Malgré la simplicité de cette technique, elle nécessite une consommation importante de l'espace de stockage. Protéger 1 To d'information face à 4 pannes nécessite donc de stocker 4 To.

Codage à effacement

modifier

Le codage à effacement réduit significativement ce surcoût de stockage. La phase d'écriture correspond à l'encodage de 'n' blocs redondants à partir de 'k' blocs. Ces 'n' blocs sont ensuite distribués sur le réseau. La lecture met en jeu le rapatriement de n'importe quel sous-ensemble de 'k' blocs parmi les 'n'. Il s'agit ensuite de reconstituer l'information initiale : c'est l'étape de décodage. La tolérance aux pannes vaut donc 'n-k'. Là où la réplication nécessitait une surconsommation de 'n-1', le codage à effacement nécessite 'n/k -1'. Par exemple, s'il on encode 8 blocs d'information en 12 blocs redondants, on assure une protection face à 4 pannes. En revanche, le système ne stocke que 12/8 = 1.5 To.

Bien que l'encodage et de décodage compliquent les opérations de lecture/écriture face à la réplication, RozoFS repose sur la transformation Mojette[8] pour réaliser simplement et efficacement ces opérations. Reposant uniquement sur des additions, l'implémentation de ces opérations n'utilise que des fonctions de OU exclusif, et est par conséquent très efficace.

Architecture

modifier

L'architecture de RozoFS s'appuie sur trois éléments. Il est possible de co-localiser ces différents composants ou de les dédier sur certains nœuds. Il est alors possible d'adapter le système en fonction du matériel disponible et/ou de certaines applications. Par exemple, il est possible de mettre en place RozoFS sur une machine unique. Dans ce cas, les données ne sont plus distribuées sur différents nœuds de stockage, mais sur différents disques ou répertoires de stockage de la machine (comportement similaire à certaines configurations RAID).

Serveur de métadonnées

modifier

Les serveurs de métadonnées contiennent les informations sur les éléments stockés dans le système. Ces métadonnées respectent non seulement la norme POSIX mais contiennent également des informations relatives à RozoFS telles que la localisation des fichiers sur le réseau. Dés lors qu'un client souhaite lire ou écrire des données, il interroge ce serveur afin de récupérer la liste des serveurs de stockage à contacter.

Serveurs de stockage

modifier

Les serveurs de stockage sont de natures différentes (usb, disques, espace sur le cloud etc ...). Ils sont joignables à travers différents protocoles tels que NFS, CIFS ou FTP. Un démon tourne sur chaque serveur et répond aux requêtes de stockage ou de rapatriement des projections.

Clients

modifier

Les clients accèdent au système de fichier en le montant dans leur propre arborescence. Pour cela, ils doivent utiliser le programme rozofsmount. Ce dernier repose sur FUSE afin d'accrocher un volume exporté à un point de montage local. Les opérations d'encodage et de décodage sont réalisées de manière transparente par les clients.

Notes et références

modifier
  1. (en) Microsoft Research, « Does erasure coding have a role to play in my data center? », Tech. Rep. MSR-TR-2010-52,‎
  2. Fiziañs signifie confiance en breton.
  3. « Une « mojette » au secours du nuage informatique », Nantes Passion[le lien externe a été retiré], no 236,‎ , p. 11 (lire en ligne).
  4. Projet ANR FEC4CLOUD - Code correcteur par anticipation pour des architectures de stockage de type cloud.
  5. voir le témoignage de Pierre Tassart, coordinateur technique au Service audiovisuel du CNED.
  6. (en) « Erasure Coding Vs. Replication: A Quantitative Comparison », Revised Papers from the First International Workshop on Peer-to-Peer Systems, Springer-Verlag.,‎ , p. 328–338
  7. (en) « High availability in DHTs: erasure coding vs. replication », Proceedings of the 4th international conference on Peer-to-Peer Systems, Springer-Verlag.,‎ , p. 226–239 (DOI 10.1007/11558989_21, lire en ligne)
  8. (en) Guédon Jeanpierre, The Mojette Transform theory and applications, ISTE-WILEY, (ISBN 9781848210806)

Liens externes

modifier

Bibliographie

modifier
  • [1] P. Verbert, V. Ricordel, J.-P. Guédon, and P. Verbert, “Analysis of mojette transform projections for an efficient coding,” in Workshop on Image Analysis for Multimedia Interactive Services (WIAMIS). 2004.
  • [2] F. Autrusseau, P. Evenou, and T. Hamon, “Secure Distributed Storage based on the Mojette transform,” in Nouvelles technologies de la répartition, 2006, pp. 161–170.
  • [3] N. Normand, I. Svalbe, B. Parrein, and A. Kingston, “Erasure Coding with the Finite Radon Transform,” in Wireless Communications & Networking Conference, 2010, pp. 1–6.
  • [4] Jeanpierre Guédon ; Pierre Evenou ; Pierre Tervé ; Sylvain David ; Jérome Béranger; "CEDIMS: Cloud Ethical DICOM Image Mojette Storage". Proc. SPIE 8319, Medical Imaging 2012: Advanced PACS-based Imaging Informatics and Therapeutic Applications, 831907 (February 23, 2012).

Articles connexes

modifier

Catégorie:Logiciel libre sous licence GPL Catégorie:Système de fichiers