Adrien LEBRE Systèmes distribués: des réseaux aux grilles IFSIC-M2R Novembre 2007 1/12 Gestion...

12
Adrien LEBRE Systèmes distribués: des réseaux aux grilles IFSIC-M2R Novembre 2007 1/12 Gestion des données persistantes (complément) IFSIC Master - SDR - Nov/Déc 2007 Adrien Lebre - IRISA - projet PARIS

Transcript of Adrien LEBRE Systèmes distribués: des réseaux aux grilles IFSIC-M2R Novembre 2007 1/12 Gestion...

Page 1: Adrien LEBRE Systèmes distribués: des réseaux aux grilles IFSIC-M2R Novembre 2007 1/12 Gestion des données persistantes (complément) IFSIC Master - SDR.

Adrien LEBRE Systèmes distribués: des réseaux aux grilles IFSIC-M2R Novembre 2007 1/12

Gestion des données persistantes (complément)

IFSIC Master - SDR - Nov/Déc 2007

Adrien Lebre - IRISA - projet PARIS

Page 2: Adrien LEBRE Systèmes distribués: des réseaux aux grilles IFSIC-M2R Novembre 2007 1/12 Gestion des données persistantes (complément) IFSIC Master - SDR.

Adrien LEBRE Systèmes distribués: des réseaux aux grilles IFSIC-M2R Novembre 2007 2/12

Sommaire

• Les systèmes de fichiers

• Les systèmes de fichiers distribués

• E/S parallèles, les bibliothèques d’accès

• Complément sur les DFS: • de Sprite à xFS

Page 3: Adrien LEBRE Systèmes distribués: des réseaux aux grilles IFSIC-M2R Novembre 2007 1/12 Gestion des données persistantes (complément) IFSIC Master - SDR.

Adrien LEBRE Systèmes distribués: des réseaux aux grilles IFSIC-M2R Novembre 2007 3/12

Systèmes de fichiers distribuésEtude de cas : de Sprite à xFS

• Projets SPUR (1985/1993) et NoW (1993/1998) - Université Berkeley• Sprite : Système d’exploitation distribué

• Basé sur deux idées : • Un système «network-aware» (rendre transparent le réseau)• Exploiter les espaces mémoires de plus en plus grand (32Mo à l’époque)

• Sprite FS : • Espace de nommage unique (transparence de situation).• Partitionné de manière transparente en domaine.• Chaque nœud composé d’un espace de stockage peut contenir un ou plusieurs

domaines (chaque nœud peut être client et/ou serveur)• Une table de correspondance (table des « préfixes ») entre les domaines et leur

situation physique est maintenue dynamiquement sur chacun des nœuds.• Lors de l’accès à un fichier, si aucune entrée ne correspond au sein de la table

des « préfixes », un requête de type « inondation » est transmise.• La problématique des fichiers spécifiques au machine (/etc/hostname) est résolu

en « privatisant » certaines ressources au sein de la table des «préfixes».

Page 4: Adrien LEBRE Systèmes distribués: des réseaux aux grilles IFSIC-M2R Novembre 2007 1/12 Gestion des données persistantes (complément) IFSIC Master - SDR.

Adrien LEBRE Systèmes distribués: des réseaux aux grilles IFSIC-M2R Novembre 2007 4/12

Systèmes de fichiers distribuésEtude de cas : de Sprite à xFS

• Sprite FS (suite) : • Sémantique de type UNIX• Cache distribué (coté client, lecture + écriture retardée) et maintenu en cohérence par

un serveur « stateful » (invalidation des caches afin de forcer d’éventuelles écritures).

Utilisation de la mémoire vive et secondaire de l’ensemble des nœuds Serveur à « état » (tolérance au pannes) Passage à l’échelle (protocole par inondation, maintien de la table des «préfixes»)

• Log-Structured File System, LFS (Sprite FS, Version 2, 1990)

• Placement physique des données journalisé : « Les performances sont obligatoirement dépendantes du matériel minimiser les déplacements »

• Idée fondamentale : une unité de stockage est vue comme un « buffer » circulaire Gain de performance en écriture

Page 5: Adrien LEBRE Systèmes distribués: des réseaux aux grilles IFSIC-M2R Novembre 2007 1/12 Gestion des données persistantes (complément) IFSIC Master - SDR.

Adrien LEBRE Systèmes distribués: des réseaux aux grilles IFSIC-M2R Novembre 2007 5/12

Systèmes de fichiers distribuésEtude de cas : de Sprite à xFS

• D’un FS traditionnel vers LFS

(a) Traditionnel (b) Minimisant la fragmentation (c) Fusion des méta et des données

Concept de « super méta-bloc » de taille inférieur au cache.

(d) Structure complètement journalisé Le « super méta-bloc » est écrit de façon périodique sur le disque.

• Principale difficulté : Réorganisation des données lorsque le pointeur d’écriture atteint la fin du disque.

Segmentation du disque, à chaque nouveau segment, le précèdent est défragmenté.

Page 6: Adrien LEBRE Systèmes distribués: des réseaux aux grilles IFSIC-M2R Novembre 2007 1/12 Gestion des données persistantes (complément) IFSIC Master - SDR.

Adrien LEBRE Systèmes distribués: des réseaux aux grilles IFSIC-M2R Novembre 2007 6/12

Système de fichiers distribuésEtude de cas : de Sprite à xFS

• LFS, bilan : Sprite FS amélioration des performances en lecture (cache sur chacun des noeuds) Journalisation amélioration des performances en écriture Distribution et maintien du méta-bloc complexe et coûteuse Chaque fichier est stocké sur un unique disque saturation/goulet d’étranglement

• Zebra File System (extension de LFS, 1992)• Apport : répartition des données en RAID 4, • Granularité des blocs (« chunk  size») : si trop importante «hot spot » (cas des

fichiers), si trop faible surcoût latence réseau/disque (multiple accès).• Mise en place d’un tampon au sein de chaque client (appelé «log»), A

chaque fois que le tampon est plein, il est réparti sur les serveurs de données.

Comment gérer les accès concurrents ?

Page 7: Adrien LEBRE Systèmes distribués: des réseaux aux grilles IFSIC-M2R Novembre 2007 1/12 Gestion des données persistantes (complément) IFSIC Master - SDR.

Adrien LEBRE Systèmes distribués: des réseaux aux grilles IFSIC-M2R Novembre 2007 7/12

Système de fichiers distribuésEtude de cas : de Sprite à xFS

• Zebra :

utilisation de service centralisé pour maintenir en cohérence les données

Page 8: Adrien LEBRE Systèmes distribués: des réseaux aux grilles IFSIC-M2R Novembre 2007 1/12 Gestion des données persistantes (complément) IFSIC Master - SDR.

Adrien LEBRE Systèmes distribués: des réseaux aux grilles IFSIC-M2R Novembre 2007 8/12

Système de fichiers distribuésEtude de cas : de Sprite à xFS

• Architecture du système Zebra• Les clients :

• Lors d’une lecture, le client interroge le gestionnaire de fichiers qui lui indique le/les serveur(s) de stockage auquel(s) il est nécessaire d'accéder. Les écritures sont réalisées dans le «log» en s’appuyant sur le modèle LFS. Seules les méta-informations sont transmises au gestionnaire de fichiers et de stripes afin qu’ils évitent d’accéder aux serveurs de stockages (les « deltas »).

• Le gestionnaire de fichiers : • Localisation des données sur les différents serveurs de stockages (à chaque fichier créé

correspond un méta-fichier stocké sur le gestionnaire). Ces informations fournissent la correspondance vers les différents serveurs de stockages.

• Maintien de la cohérence entre les caches des clients en s’appuyant sur le modèle proposée par Sprite FS.

• Les serveurs de stockages : • Gestion du stockage par blocs de taille fixe (stockage, récupération, identification, suppression)

• Le gestionnaire de stripes :• Organisation des segments sur les différents serveurs de stockages, défragmentation des disques

afin d’obtenir des segments libres (LFS). • A chaque stripe correspond un fichier stocké au sein du gestionnaire qui indique les fragments de

données encore valides au sein du stripe. Ces informations sont maintenues grâces aux «deltas».

Page 9: Adrien LEBRE Systèmes distribués: des réseaux aux grilles IFSIC-M2R Novembre 2007 1/12 Gestion des données persistantes (complément) IFSIC Master - SDR.

Adrien LEBRE Systèmes distribués: des réseaux aux grilles IFSIC-M2R Novembre 2007 9/12

Système de fichiers distribuésEtude de cas : de Sprite à xFS

• Zebra, bilan :

Les données sont fractionnées équilibrage des « hot spots », tolérance

Les méta-informations, Il y en a beaucoup !! Problèmes liés au point de centralisation des deux gestionnaires, La perte du gestionnaire de fichiers est critique ! Lorsqu’un serveur de stockages subit une défaillance, mode dégradé (RAID 4)

Un nouveau concept dans les systèmes de fichiers distribués : Adaptation partiel de la structure du système de fichiers (possibilité d’ajouter des serveurs de stockages dynamiquement)

• xFS, « serverless file system»

• 1993, un nouveau projet: NoW (Network of Workstation, Univ. Berkeley), un nouveau système xFS :

Version 1 : hiérarchisation des serveurs de méta-donnéesVersion 2 : «l’ensemble des services doit être accessible et opérationnel depuis

chaque client»

Page 10: Adrien LEBRE Systèmes distribués: des réseaux aux grilles IFSIC-M2R Novembre 2007 1/12 Gestion des données persistantes (complément) IFSIC Master - SDR.

Adrien LEBRE Systèmes distribués: des réseaux aux grilles IFSIC-M2R Novembre 2007 10/12

Système de fichiers distribuésEtude de cas : de Sprite à xFS

• xFS, architecture :• Accès aux caches distants en priorité (cache coopératif).• Distribution des gestionnaires sur plusieurs nœuds.

Chaque nœud peut agir comme un client, un gestionnaire de stockage, de fichiers et de nettoyage.

• Distribution du gestionnaire de fichiers et de stripes :• Un gestionnaire gère un sous groupe d’identifiants (un ensemble d’inodes).• La table des préfixes dynamique du modèle Sprite FS devient statique. Lorsqu’un client souhaite

accéder à une ressource, il regarde dans sa table afin de déterminer le gestionnaire en charge.• Modèle du «premier écrivain» pour la création (possibilité de mettre en œuvre un méthode dite de ré-

attribution permettant de re-équilibrer la table des préfixes).• Même approche pour les stripes, chacune des unités maintient les segments qu’elle a écrits et

réorganise les informations sur les blocs «valides» le cas échéant.

• Adaptation complète de la structure : • Ajout et suppression de serveurs de stockages (répartis en sous groupe)• Approche similaire à du RAID 1+4 («parallélisation» de l’écriture de plusieurs stripes)• En cas de défaillance, le sous-groupe atteint bascule dans un mode dit «obsolète» (seules les

lectures sont autorisées). Le gestionnaire de stripe va peu à peu transférer les données vers les sous-groupes qualifiés d’actuels.

• Lors de la remise en état du sous-groupe « obsolète », il n’est plus utile de recalculer les données via le XOR.

Page 11: Adrien LEBRE Systèmes distribués: des réseaux aux grilles IFSIC-M2R Novembre 2007 1/12 Gestion des données persistantes (complément) IFSIC Master - SDR.

Adrien LEBRE Systèmes distribués: des réseaux aux grilles IFSIC-M2R Novembre 2007 11/12

Système de fichiers distribuésEtude de cas : de Sprite à xFS

• xFS, bilan : Suppression des « SPOFS » (services totalement distribués). Tolérant aux pannes et hautement disponible Dynamicité dans la structure du système de fichiers

La sécurité n’est jamais été abordée ! Il est « facile » de corrompre une structure (les logs) et «crasher» de manière irrévocable

le système de fichiers encapsulation du système xFS dans une boite noire (via NFS par exemple).

• Performance ? • Une version sous Solaris (1997) http://now.cs.berkeley.edu/Xfs/release

• Le projet NoW s’est terminé en 1998.

Page 12: Adrien LEBRE Systèmes distribués: des réseaux aux grilles IFSIC-M2R Novembre 2007 1/12 Gestion des données persistantes (complément) IFSIC Master - SDR.

Adrien LEBRE Systèmes distribués: des réseaux aux grilles IFSIC-M2R Novembre 2007 12/12

• De Sprite à XFS

« The sprite network operating system » par J. Ousterhout, A. Cherenson, F. Douglis, M. Nelson at B. Welch. Paru dans IEEE Computer en 1998

« Beating the I/O bottleneck: A case oor log-structured file systems  » par J. Ousterhout et F. Douglis. Paru dans un rapport de recherche de l’université de Berkeley en 1992.

« The Zebra Striped Network File System » par J. Hartman et J. Ousterhout. Paru dans High Performance Mass Storage and Parallel I/O: Technologies and Applications en 1993.

« Serverless network file systems » par T. E. Anderson, M. D. Dahlin, J. M. Neefe, D. A. Patterson, D. S. Roseli et R. Y. Wang. Paru dans un rapport de recherche de l’université de Berkeley en 1995.

Systèmes de fichiers distribuésRéférences (rappel)