Introduction¶
Du RAID logiciel, de la compression, de la déduplication, les quotas, les snapshots et plus encore avec seulement deux commandes systèmes, vous en réviez ? ZFS le fait, et maintenant.
À l'origine, ce système de fichier est écrit par Jeff Bonwick chez Sun, pour Solaris (racheté depuis par Oracle, à l'origine de l'autre système de fichier du futur : btrfs). C'est le système de fichiers des superlatifs : entièrement sur une base 128 bits, 16 exa octets (> peta) de taille maximum d'un fichier ou d'un système de fichier, 256 zeta (> exa) octets de taille maximum d'un pool (grappe de disques), qui contiendra 2^64 systèmes de fichiers, qui contiendront au plus 18 milliards de fichiers dans chaque système de fichiers, etc. Ça devrait suffire au plus grand nombre, qu'il disait1...
L'un des intérêts majeurs de ZFS, c'est sa capacité d'auto-réparation. Tous les blocs font l'objet d'une somme de contrôle, pour prévenir une corruption silencieuse. Chaque donnée est corrigeable par multi-réplications (niveaux de RAID). Si une copie d'une donnée est endommagée, ZFS le detecte et utilise une autre copie pour réparer.
Un autre intérêt majeur : ZFS remplace 3 composants, mdadm pour la couche agrégation de disque et RAID logiciel, lvm pour la couche volume, et un système de fichiers pour la couche... système de fichiers. Avec deux commandes seulement ! Tout-en-deux !
Aujourd'hui, ZFS est disponible sous Solaris, bien évidemment, mais aussi sous FreeBSD (en natif depuis 7.0), sous MAC OS X et sous GNU/Linux, d'abord dans une version FUSE (voir à ce sujet, l'article d'Olivier Delhomme, publié dans LM n°114 en mars 2009), et maintenant, dans une version "native" : ZFS on Linux2 (ou ZoL).
Ce projet d'intégration est soutenu par le Lawrence Livermore National Laboratory3 (qui emploie Brian Behlendorf, le "mainteneur" de ZoL) et le Department of Energy (DOE) des États-Unis. Cependant, n'attendez pas une intégration "mainstream", c'est à dire, dans le noyau Linux. En effet, le code de ZFS est sous le régime de la CDDL, ce qui le rend incompatible avec la GPL du noyau Linux.
[1] : Bill G. in "640 ko should be enough..."
[2] : http://zfsonlinux.org/
[3] : https://www.llnl.gov/
Contexte¶
expliquer contexte de l'écriture de l'article :
- géographie/topologie des auteurs (CBP, PSMN, LJC/DSI)
- fonctionnement "en avance de phase" du CBP
- fonctionnement "rock-solid" du PSMN
- accès aux ressources matérielles "en avant-première"
- budgets "contenus" mais non négligeable
essai 1 :¶
Au printemps 2010, Emmanuel Quemener, du Centre Blaise Pascal, la Maison de la Modélisation de l'ENS de Lyon (CBP, Hôtel à Projets en Informatique Scientifique) a commencé les premiers brouillons de ce qui allait devenir l'article que vous lisez. Il a rapidement été rejoint par Loïs Taulelle, du Pôle Scientifique de Modélisation Numérique de l'ENS de Lyon (PSMN, Centre de Calcul HPC) puis par Kevin Reverchon, à la fois du Laboratoire Joliot-Curie (LJC) et de la Direction des Systèmes d'Information de l'ENS de Lyon (DSI).
Il nous parait important de préciser nos interactions : Le CBP, par son implication dans la recherche scientifique et son exploration constante des nouvelles technologies, assure le rôle de pilote d'essai et valide des domaines de vol. Le PSMN, et dans une moindre mesure la DSI, sont des pilotes de ligne qui utilisent les technologies éprouvées au CBP. Le LJC est un passager, il ne veut pas se retrouver perdu sur une île qui n'existe pas.
En plus de cela, nos partenariats avec certains fabricants de matériel informatique nous offrent parfois certaines opportunités de tests "en avance de phase", ou dans des configurations qui ne seront jamais validées officiellement.
Ensuite, le PSMN, mutualisant les moyens de calculs haute performance des laboratoires de l'ENS de Lyon, dispose d'un budget annuel qui bien que contraint, reste néanmoins conséquent.
La dotation en 2012 d'un equipex Équip@méso
Enfin, les matériels en fin de vie du PSMN (5 à 8 ans) trouvent très souvent une seconde vie au CBP.