Systèmes de fichiers et stockage Perspectives V 1.3
2011 : les tendances - 1 Les disques : 3 To en 3,5" - Seagate 1 To en 2,5" - SATA3 : 6 GB/s Les disques 2,5" apparaissent sur les serveurs y compris en SAS Apparition de serveurs NAS avec des disques 2,5" Facile de mettre en place un espace de stockage de plusieurs dizaines de To Montée en puissance des SSD QUID de l'avenir des disques classiques d'ici à quelques années ?
2011 : les tendances - 2 Montée en puissance des SSD même si les prix sont encore élevés Débits > 100 Mo/s Quid du vieillissement ? Apparition de systèmes de fichiers spécialisés mettant en oeuvre le wear-leveling (algorithme permettant d'égaliser le nombre d'écritures disque)
Les SSD 2 technologies Les SLC (Single Layer Chip – 100 000 cycles L/E) Les MLC (Multiple Layer Chuip – 10 000 cycles L/E- moins chère – plus compacts) Écriture par blocs de 128 Ko => peu intéressant pour les petits fichiers Wear-leveling pour répartir de facon uniforme le nombre d'opération d'E/S Trim : permet de limiter la baisse de perf. induite par les blocs “grillés” - support matériel + OS
Les SSD – suite Performances Coûts Debits : 500 Mo/s en lecture – 150 en écriture Mais performances très moyennes pour les écritures nombreuses de petits fichiers – 30 Mo/s Temps d'accès : 0,1 ms Tenue dans le temps incertaine Coûts Entre 1 et 3 €/Go contre 0,1€/Go pour les DD classiques
Actualités dans le noyau - 1 La montée en puissance des capacités de stockage pose problème : Les temps de vérification de cohérence (fsck,...) des SF après un arrêt imprévu deviennent impraticables (plusieurs heures ou plus) avec des SF conçus à l'origine pour des capacités de quelques dizaines de Go => Nécessité de redévelopper des systèmes de fichiers modernes adaptés à cette problématique et aux volumes actuels : ext4, zfs, btrfs, ...
Actualités dans le noyau - 2 La montée en puissance des capacités de stockage pose problème : Le taux d'erreur non récupérable dans les contrôleurs RAID n'est plus négligeable par rapport à la taille des systèmes de stockage => le RAID pose problème en terme de coût pour les gros volumes et n'assure plus automatiquement la correction d'erreurs : autre solution Prise en compte de la détection d'erreur et de la redondance dans le SF : zfs (SUN)
BTRFS Défragmentation en ligne Redimensionnement des volumes à chaud RAID 0 ET RAID 1 au niveau du SF Compression transparente Snapshots (writeable, copy-on-write ) Clonage de fichiers (copy-on-write sur les fichiers, ...) Checksums sur les données et le métadonnées ( CRC-32C]) conversion en ligne (avec rollback) depuis ext3/4 transactions Gestion des blocs usagés (WEAR Leveling pour SSD)
RAID et stockage disque Le tx d'erreur non récupérable (Un Recoverable Error) pour un disque SATA est de 10-14 (10-15 pour un SCSI) : 1 bloc pour 1014 de données 1014 ~= 10 To En RAID 5 : 10 To = 6 disques de 2 To Reconstruction d'une pile : URE pratiquement assurée !!! => restitution du backup Solution : RAID6 ?
ZFS - 1 Z File System (Sun Microsystems) Depuis 2005 - fonctionne sur Solaris 10 Système de fichiers128 bits Quelques limites de ZFS : 248 : le nombre de clichésOffre la notion de Zspool Gère la redondance Utilise le copy-on-write possibles (snapshot) ; 248 : le nombre de fichiers dans chaque système de fichiers ; 16 exa-octets (1 M de To) : la taille maxi du SF ; 16 exa-octets : la taille maxi d'un fichier ; 256 : le nombre maximal théorique de fichiers/rep.
ZFS -2 Offre la notion de Zspool constitués de virtual devices Gère la redondance (2 ou 3 exemplaires pour les méta-datas) Utilise le copy-on-write Gère les clichés (snapshots) Gére le stripping de manière dynamique ZFS n'est pas un système de fichiers distribué – il est prévu par Sun de l'utiliser comme backend pour le SF distribué Lustre
ZFS – 3 Porté sur Opensolaris, BSD, Mac OS/X Nécessite beaucoup de mémoire Pas porté sur Linux : problèmes de licence. Quid de l'acquisition de Sun par Oracle
Google File System - 1 Partie importante de l'infrastructure Google et rôle stratégique dans son succès Nombre de serveurs inconnu (+ de 100 000) Serveur constitué de machines « ordinaires » et stockage sur disque SATA « grand public » La tolérance de panne et la redondance sont assurées par le logiciel Les fichiers sont coupés en tranches de 64 Mo : chunks
Google File System – 2 2 types de noeuds Master : Chunkserver : gère les métadonnées (namespace et mappages fichiers -chunks) Communique avec les chunkservers (heartbeat) et gère l'équilibrage de charge Chunkserver : stocke les chunks et effectue les opérations de lecture/écriture Copie primaire/secondaire
Lustre – 1 Développé par Cluster File Systems (1999), racheté par SUN Système de fichiers distribué pour clusters utilisé par 15 des 30 machines les plus puissantes : Blue Gene (LLNL), ... Tokyo Institute of Technology CEA.
Lustre – 2 Lustre peut supporter Gère le stripping des fichiers Plus de 100 000 clients, Des petaoctest (PBs) de stockage Des débits de dizaines de Go/s (GB/s) . TCP/IP , Infiniband, Myrinet Gère le stripping des fichiers Tolérance de pannes Mise en oeuvre complexe Utilise des MDS (Meta Data Servers) Des ODT (Object Data Servers)
Lustre – 3 Au LLNL : 260 Mo/s client Débit global : 11,1 Go/s pour les 1000 clients
GlusterFS -1 Système de fichiers réseau/cluster Capable de gérer des Petaoctets de stockage Fonctionne sous Linux - Licence GPL Rachetée par Redhat en octobre 2011 Conforme normes POSIX Composé de serveurs et de clients Existe sous forme d'appliance en ISO bare- metal
GlusterFS -2 Caractéristiques Très modulaire Complètement décentralisé (pas de serveurs centraux comme Lustre) Automatic File Replication (AFR) équilibrage de charge Gestion des stripes (bandes) pour augmenter le débit Utilise TCP/IP comme couche de transport ou Infiniband (10 Gb/s) Fonctionne avec FUSE (File System in Userspace) : pas de hack du noyau – se superpose aux SF existants
GlusterFS - 3 S'utilise sur un SF de type Posix (ext3, ext4 ou XFS) Utilise des traducteurs volume posix1 type storage/posix option directory /home/export end−volume
Automatic-File-Replicator GlusterFS – AFR Automatic-File-Replicator réplication de fichiers en fonction d’un motif la réplication est faite dans l’ordre de déclaration des sous-volumes le système de fichier sous-jacent doit supporter les attributs étendus volume afr type cluster/afr subvolumes brick1 brick2 brick3 brick 4 option replicate ∗.html:2 , ∗.db:1 , ∗:3 # ∗.html => brick1, brick2 # ∗.db => brick1 # le reste => brick1 , brick2 , brick3 # rien sur brick4 end−volume
GulsterFS- les traducteurs D'aggrégat Unify Stripe D'ordonnancement Ordre d'utilisation des systèmes de stockag D'export Server, client De performances
GFS Cf gluster.com Cf howtoforge.com High-Availability Storage Cluster With GlusterFS On Debian Lenny Distributed Replicated Storage Across Four Storage Nodes With GlusterFS On Debian Lenny Striping Across Four Storage Nodes With GlusterFS On Debian Lenny
Les systèmes de fichiers à disques partagés Nécessitent un disque partagé (SAN, ...)
GFS -1 Sistina 2001 – rachetée par Redhat (2004) Intégrée dans Linux - Licence GPL Fait partie de l'offre de clusters Redhat - Fedora/Centos Souvent utilisé en infrastructure Fiber Channel ou ISCSI/AOE Nouvelle version GFS2
GFS - 2 Fonctionnement : Chaque noeud dispose d'un accès concurrent à la ressource (shared block device) Pas de mode déconnecté Pas de client ni de serveur Nécessite un DLM
OCFS/OCFS2 - 1 Oracle Cluster File System Utilisé par Oracle pour son cluster Intégré dans le noyau Linux – licence GPL Version 1.6 Utilise un DLM (Distributed Lock Manager) pour gérer l'accès concurrent aux ressources
OCFS/OCFS2 - 2 Système de fichier partagé Hautes performances Haute disponibilité Conforme normes Posix Journalisation Taille de bloc variable Gère les extents : allocation par suite de blocs contigus Endian- neutral Taille maxi SF : 4 Petaoctets
OCFS/OCFS2 - 3 Utilisable sur un volume ISCSI Utilisable également avec DRDB (Distributed Replicated Data Block)
PVFS, PVFS2 Parallel Virtual File System Développé pour les clusters Capacité : petaoctets Debits : 100 Gb/s
GPFS IBM - propriétaire Très utilisé sur les ordinateurs du TOP 500 Fonctionne sous AIX et Linux et Windows Server 2003 R2 Striping des données sur plusieurs disques et lecture parallèle Capacité : pétaoctets Debits : 100 Gb/s