Systèmes de fichiers et stockage Perspectives V 1.3.

Post on 04-Apr-2015

108 views 0 download

Transcript of Systèmes de fichiers et stockage Perspectives V 1.3.

Systèmes de fichiers et stockage

PerspectivesV 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

– 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 :

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

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

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