• Aucun résultat trouvé

Syst`emes de fichiers modernes Caches pour les disques Fiabilit´e en cas de panne Journaled FS Log FS NFS

N/A
N/A
Protected

Academic year: 2022

Partager "Syst`emes de fichiers modernes Caches pour les disques Fiabilit´e en cas de panne Journaled FS Log FS NFS"

Copied!
15
0
0

Texte intégral

(1)

Syst `emes de fichiers modernes

Caches pour les disques Fiabilit ´e en cas de panne Journaled FS

Log FS NFS

(2)

Cacher les acc `es aux disques

Garder dans un cache, en m ´emoire, les donn ´ees lues du disque Retarder les ´ecritures

Pour les ordonnancer

Certaines deviennent inutiles ou redondantes

Unifier le page cache et le buffer cache: ´eviter le double caching Attention `a la coh ´erence du cache

dcache: cache sp ´ecialis ´e pour les directory entries

(3)

Coh ´erence en cas de panne

Ajouter un bloc `a un fichier requiert les modifications suivantes sur le disque:

Ecrire le bloc´

Mettre `a jour l’inode

Mettre `a jour la liste des blocs libres

Que se passe-t-il si le syst `eme s’arr ˆete `a mi-course?

Cr ´eer ou d ´etruire un fichier est encore pire

(4)

Diff ´erentes formes d’incoh ´erences

Espace disque libre mais inutilisable Modifications perdues

Fichiers en cours de modification corrompus Victimes innocentes

(5)

Fiabilit ´e aux pannes

Outil de remise en forme fsck:

Ne peut pas faire de miracles

Co ˆuteux en temps, retarde le red ´emarrage apr `es une panne Miracles: Ordonnancer avec soin les ´ecritures

Rabais: Ajouter un journal (ou log) pour annoncer les changements

(6)

Journaling file-systems

Avant toute modification, ´ecrire une description de la modification Le journal (ou log) garde la description des modifications en cours Modifications compl ´et ´ees peuvent ˆetre retir ´ees du log

Il faut quand m ˆeme ordonnancer les ´ecritures avec soin:

Ecrire le log sur le disque avant d’effectuer les autres ´ecritures´ Peut doubler le nombre d’ ´ecritures!

Une description peut ˆetre: data+metadata ou metadata-only Possibilit ´e de retarder les modifications `a volont ´e

Grosses ´ecritures efficaces en RAID-5

(7)

Log-structured file-systems

Comme Journaling mais on ne garde que le journal.

Exemple: Sprite LFS, JFFS2 Avantages:

Ecritures par gros´ segments s ´equentiels: rapides!

Les anciennes donn ´ees ne sont pas ´ecras ´ees: snapshots for free!

Inconv ´enients:

Les inodes ne sont plus fixes: il faut un inode-map!

Il faut r ´ecup ´erer les blocs obsolete: cleanup ou GC!

La lecture peut ˆetre plus lente, mais surtout, le GC a tendance `a devenir tr `es lent quand le disque est plein

(8)

Syst `emes de fichiers et m ´emoires flash

FTL (converti un MTD en un bloc device)

Syst `eme de fichiers sur mesure (e.g. JFFS2, YAFFS) Compromis: UBI + UBIFS

(9)

JFFS2

Chaque erasure bloc contient une s ´equence de nodes

Chaque node d ´ecrit un morceau de fichier ou de r ´epertoire

Chaque node contient un no d’inode et une version

En m ´emoire, JFFS2 garde une listes de nodes et une table des inodes l’erasure bloc courant est rempli s ´equentiellement

Lorsqu’il est plein, on en prend un autre libre

Le GC tourne en t ˆache de fond pour lib ´erer des erasure bloc Lors du mount, il faut lire l’ensemble de la m ´emoire flash

Les donn ´ees sont compress ´ees

(10)

Unsorted Bloc Image (UBI)

UBI transforme les physical erasure blocs en logical erasure blocs Fait une partie du travail d’une FTL:

wear-leveling

Gestion des erreurs (bad blocs)

Mise `a jour atomique d’un logical erasure bloc

Ajoute la notion de Volume, similaire `a une partition UBI pour l’instant ne stocke pas la bloc map sur disque

Chaque bloc se d ´ecrit et la table et reconstruite au d ´emarrage

Le scan est plus rapide que pour JFFS2 (nb de blocs

<

nb de nodes)

(11)

D ´etour sur les syst `emes distribu ´es

Difficile de diagnostiquer les pannes Le probl `eme du consensus:

peut-on se mettre d’accord sur un mis ´erable bit?

Ordre partiel vs ordre total Le probl `eme de l’horloge

(12)

Syst `eme de fichiers par r ´eseau

Acc ´eder “localement” aux fichiers d’une autre machine Id ´ee de d ´epart: transf ´erer les appels VFS par RPC Probl `emes

Fichiers modifi ´es hors de notre contr ˆole

Gestion du cache

Gestion des pannes

Authentification

D ´esaccords entre VFS et le protocole utilis ´e

(13)

NFS: Network File System

Le serveur ne se pr ´eoccupe pas de l’ ´etat des clients (stateless)

Clients pas avertis lors de modifications de fichiers

Clients v ´erifient la fraˆıcheur de leur cache (

e30s)

Panne client: rien `a faire! Panne serveur: attendre

Pas de verrous

Authentification triviale: v ´erification de l’IP, uid pr ´eserv ´e (sauf root) Limitations

Cache pas toujours `a jour (probl `eme avec

make

)

Op ´erations perdues

(14)

nqNFS: Network File System

Plus stateless, mais pas trop loin

Clients peuvent obtenir des lease sur des fichiers (e.g. 30s)

Clients avec lease avis ´es lors de modifications Cache coh ´erent

Panne client: rien `a faire, le lease expire tout seul

Panne serveur: attendre 30s que tous les lease expirent

Pannes artificiellement allong ´ees!

Contrainte forte sur la dur ´ee maximale d’un lease

(15)

NFS: probl `eme des ´ecritures

Le cache des clients filtre les lectures plus que les ´ecritures

= ⇒

Le serveur rec¸oit beaucoup d’ ´ecritures

Les clients retardent les ´ecritures, comme d’habitude

= ⇒

Le serveur rec¸oit des ´ecritures urgentes Pire avec save on close

Syst `eme de fichiers du serveur rec¸oit une charge inhabituelle

Usage d’un journal en NVRAM pour pouvoir ´ecrire vite

Usage de syst `eme de fichiers d ´edi ´e, e.g. WAFL

Références

Documents relatifs

Sélectionnez  :  Options  →  Configurer  tests  →  UDA  →  Tests  →  Bouton  Tests  →  Revoir/  Editer 

La diff´ erence principale de la description statistique r´ eside dans l’introduction de la matrice-densit´ e (l’op´ erateur-densit´ e) qui remplace la dis- tribution de

Les deux champs suivants fournissent le nom et le type du fichier (ce dernier ´etant devenu extension dans le syst`eme MS-DOS). Le champ suivant, extension, est n´ecessaire pour

Le r ´epertoire est une table de traduction nom ⇒ fichier Stock ´ee aussi sur le disque. • Create: cr ´eation d’une nouvelle

(iii) L’origine est un point d’´ equilibre stable de x(t) = ˙ Ax(t) si et seulement si toutes les valeurs propres de A sont de partie r´ eelle n´ egative ou nulle et si pour

L’´epilogue permet de pr´eparer le retour ` a la fonction appelante en restaurant les registres sauv´es, en d´esallouant les variables locales, en restaurant le pointeur de base de

D’une mani`ere g´en´erale, il faut ´ecraser l’adresse qui se situe quatre octets apr`es le d´ebut de la section (le 0xffffffff) pour que notre fonction soit ex´ecut´ee en premier

´ el´ ementaire Cons´ equences. Coordonn´