Systèmes distribués et virtualisation de ressources



Documents pareils
Cours 13. RAID et SAN. 2004, Marc-André Léger

EX4C Systèmes d exploitation. Séance 14 Structure des stockages de masse

Stockage Réseau. Le stockage s'échappe du système pour devenir une fonction réseau

Le e s tocka k ge g DAS,NAS,SAN

Gestion répartie de données - 1

Concepts et systèmes de stockage

Livre blanc Haute disponibilité sous Linux

Chapitre VII : Principes des réseaux. Structure des réseaux Types de réseaux La communication Les protocoles de communication

LE SAN ET LE NAS : LE RESEAU AU SERVICE DES DONNEES

NOTIONS DE RESEAUX INFORMATIQUES

Le stockage. 1. Architecture de stockage disponible. a. Stockage local ou centralisé. b. Différences entre les architectures

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction

Agenda. Exemple : données et back à Eurecom SANs and NAS. Les bases: SANs. Back-up Partage de fichier. Disques et Raid SCSI et FCP

Le modèle client-serveur

M1 Informatique, Réseaux Cours 9 : Réseaux pour le multimédia

Thomas Briet Ingenieurs 2000 Cyril Muhlenbach

Consolidation de stockage

Le Network File System de Sun (NFS)

Easy as NAS Supplément Entreprises. Guide des solutions

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters AVANTAGES

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters

«clustering» et «load balancing» avec Zope et ZEO

JRES 2007 Solution de stockage répartie sur les centres de recherche INRIA, à base de serveurs de fichiers de type «NAS»

La continuité de service

Sauvegarde : Supports de données et Infrastructures

Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace

Système de Stockage Sécurisé et Distribué

CORBA haute performance

L unique SAN industriel proposant un stockage multiniveau automatisé (Automated Tiered Storage)

Cours n 12. Technologies WAN 2nd partie

Guide pour l Installation des Disques Durs SATA et la Configuration RAID

RESEAUX SAN iscsi VIRTUALISES :

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

Introduction. René J. Chevance

<Insert Picture Here> Solaris pour la base de donnés Oracle

Le data center moderne virtualisé

Cours des réseaux Informatiques ( )

Windows 2000: W2K: Architecture. Introduction. W2K: amélioration du noyau. Gamme windows W2K pro: configuration.

1.1. Stockage HP StoreVirtual 4000

Conception des systèmes répartis

Firewall IDS Architecture. Assurer le contrôle des connexions au. Sécurité 1

EMC AVAMAR. Logiciel et système de sauvegarde avec déduplication

Le stockage unifié pour réduire les coûts et augmenter l'agilité

Initiation au HPC - Généralités

Guide pour l Installation des Disques Durs SATA et la Configuration RAID

FAMILLE EMC RECOVERPOINT

Migration d un Cluster Fiber Channel+SAN+Lames sous Xen vers Ethernet +iscsi+serveurs sous KVM

Informatique pour scientifiques hiver Plan général Systèmes d exploitation

Système de stockage sur disque IBM Storwize V5000

Systèmes et algorithmes répartis

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1

Haute Disponibilité High-Availability : HA. Les enjeux

Parallélisme et Répartition

HP Simply Storage Consolidation

Windows Server Chapitre 1: Découvrir Windows Server 2008

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Hébergement de base de données MySQL. Description du service (D après OGC - ITIL v3 - Service Design- Appendix F : Sample SLA and OLA)

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Plan du Travail. 2014/2015 Cours TIC - 1ère année MI 30

Unitt Zero Data Loss Service (ZDLS) La meilleure arme contre la perte de données

3A-IIC - Parallélisme & Grid GRID : Définitions. GRID : Définitions. Stéphane Vialle. Stephane.Vialle@supelec.fr

Systèmes de fichiers répartis

EMC DATA DOMAIN OPERATING SYSTEM

SAN AoE (ATA over Ethernet)

Les formations. Administrateur Systèmes et Réseaux. ENI Ecole Informatique

Spécialiste Systèmes et Réseaux

Protection des données avec les solutions de stockage NETGEAR

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Sommaire de la journée

L état de l ART. Évolution récente des technologies. Denis Szalkowski Formateur Consultant

VMware vsphere 5 Préparation à la certification VMware Certified Professional 5 Data Center Virtualization (VCP5-DCV) - Examen VCP510

ACCESSNET -T IP Technique système TETRA d Hytera.

IDEC. Windows Server. Installation, configuration, gestion et dépannage

La Continuité d Activité

Licence professionnelle Réseaux et Sécurité Projets tutorés

Solutions HP Simply StorageWorks pour HP BladeSystem

La virtualisation, des postes de travail

10 tâches d administration simplifiées grâce à Windows Server 2008 R2. 1. Migration des systèmes virtuels sans interruption de service

EMC DATA DOMAIN HYPERMAX

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Services OSI. if G.Beuchot. Services Application Services Présentation - Session Services Transport - Réseaux - Liaison de Données - Physique

Configurations maximales

Nouvelles stratégies et technologies de sauvegarde

Technologie de déduplication de Barracuda Backup. Livre blanc

11 janvier 2006 NAS - SAN 1 / 42. Exposé - Nouvelles Technologies Réseau. Les solutions de stockage. NAS et SAN KOMAR MANCEL LE CAM

Table des matières Nouveau Plan d adressage... 3

Marché Public en procédure adaptée : Infrastructure Informatique régionale hébergée CAHIER DES CHARGES ET DES CLAUSES TECHNIQUES

Le Raid c est quoi? Comment ca marche? Les différents modes RAID :

Introduction. Adresses

Cours Bases de données

Consolidation. Grid Infrastructure avec la 11gR2

Les hyperviseurs leaders du marché qui ont fait leurs preuves en production

Les Virtual LAN. F. Nolot. Master 1 STIC-Informatique 1

Le Ro le Hyper V Troisie me Partie Haute disponibilite des machines virtuelles

Transcription:

p. 1/18 Systèmes distribués et virtualisation de ressources Tanguy RISSET (Transparents : Antoine Fraboulet) tanguy.risset@insa-lyon.fr

p. 2/18 Plan 1 Distribution de ressources 1. Distribution de ressources Distribution matérielle Distribution au niveau du système d exploitation Distribution applicative 2. Virtualisation de données Distribution au niveau des disques Distribution au niveau du système d exploitation 3. Étude de cas Serveur de vidéo à la demande 4. Systèmes de fichiers distribués

p. 3/18 Distribution de ressources Distribution matérielle Noeud 0 Noeud 1 Application Application Système d exploitation Système d exploitation Matériel Matériel

p. 4/18 Motivations Répartition de charge temps de calcul simulation (météo, CAO,... ) programmation parallèle taille des problèmes mémoire partagée communications entre machines Modularité facilité d intégration construction par briques (modules) développements idépendants définitions d interfaces

p. 5/18 Super calculateurs Machines vectorielles : SIMD une instruction est exécutée sur plusieurs données réseaux d unités de calcul

p. 6/18 Super calculateurs (2) Machines parallèles : MIMD réseaux de processeurs avec mémoire locale Augmentation des ressources (mémoires et caches) Topologies de communications complexes

p. 7/18 Super calculateurs (3) Canaux de communications internes aux machines Topologies point à point, anneaux, étoiles, tores, hypercubes routage Communications commutation de circuits commutation de paquets (store and forward, whormhole) problèmes de débits et temps de latence protocoles

p. 8/18 Intégration des réseaux dans les machines Évolution des vitesses réseaux et machines Réseaux: vitesse de la lumière Machines: limites atomiques Actuellement : point de croisement entre débits de l accès mémoire et débits des réseaux (réseaux très haut débit).

p. 9/18 Distribution matérielle Répartition de charge à l arrivée des requêtes Matériel spécialisé Très haute performance commutateurs niveau 3 (IP) gestion de protocoles évolués (HTTP, FTP,...) processeurs et architectures dédiés

p. 10/18 Service web Internet routeur / répartiteur Stockage partagé

p. 11/18 Serveur transactionnel Routeurs WAN Frontal réseaux distribution des requêtes Serveurs d applications Répartition interne Accès bases SQL

p. 12/18 Répartition matérielle P+M P+M P+M

p. 13/18 Distribution de ressources Distribution au niveau du système d exploitation Noeud 0 Noeud 1 Application Application Système d exploitation Système d exploitation Matériel Matériel

p. 14/18 Fermes de machines But : réaliser une machine multi-processeurs à moindre coût utilisation de machines standard interconnexion par un réseau rapide Premiers VAXCluster en 1980 (DIGITAL) Fermes/Grappes/Clusters sont les mêmes choses

p. 15/18 Fermes Système parallèle à mémoire distribuée et à liens lâches (loosely coupled system) Possibilité d avoir des machines hétérogènes Possibilité d avoir machines SMP (tightly coupled system) Possibilité d avoir des réseaux rapides dédiés

p. 16/18 Fermes utilisateur Serveur Machine Virtuelle

p. 17/18 Clusters L emballage peux varier L intérieur est toujours un réseau!

p. 18/18 Utilisation des fermes Performance (nombre de requêtes) Disponibilité (incidents et pannes) Répartition de charge Augmentation du nombre de requêtes sur les serveurs aucun serveur unique n est capable de tenir la charge un service centralisé est sensible aux pannes

p. 19/18 Utilisation d applications standards : Mosix Pas de modification des applications mais modification du système d exploitation (FreeBSD ou Linux) (www.mosix.org) Utilisation d un cluster comme une très grosse machine Répartition et synchronisation transparentes (SMP) Répartition de charge dynamique (migration automatique)

p. 20/18 Mosix Noeud 0 Noeud 1 Applications Système d exploitation Matériel Système d exploitation Matériel Migration transparente mémoire contexte communications

p. 21/18 Conclusion Matériel très performant et modulaire Chaque type d application a son type de cluster Mise au point et calibrage difficile Virtualisation des ressources Distribution la plus transparente possible Nécessite un système d exploitation dédié.

p. 22/18 Distribution de ressources Distribution applicative Noeud 0 Noeud 1 Application Application Système d exploitation Système d exploitation Matériel Matériel

p. 23/18 Passage de messages Les applications gèrent la communication de façon explicite Une bibliothèque fournit des primitives d envois de message Modèle de communication appels bloquants Abstraction de la topologie du réseau Commuications collectives évoluées

p. 24/18 Exemple : MPI Communauté de processus appelée communicator Le communicator par défaut est MPI_COMM_WORLD Chaque processus a un numéro appelé rank [0, N 1] Initialisation : MPI_Init() Fin de processus : MPI_Finalize() Un processus peut connaître son rang avec MPI_Comm_rank() La taille du communicator est donnée par MPI_Comm_size() Communications MPI_Send() envois MPI_Recv() réceptions Les appels sont bloquants

p. 25/18 MPI (2) Un tag permet de filtrer les messages reçus MPI_ANY_TAG prend tous les messages Nécessiter de connaître le type de données envoyées MPI_CHAR MPI_INT, MPI_LONG... Code de retour détaillé des fonctions disponible

MPI (3) #include <stdio.h> #include <stdlib.h> #include "mpi.h" #define BUF_SIZE 80 int main(int argc, char* argv[]) { int id,i; int n_processes; char buffer[buf_size]; MPI_Init(&argc,&argv); MPI_Comm_rank(MPI_COMM_WORLD,&id); MPI_Comm_size(MPI_COMM_WORLD,&n_processes); if (id==0) { for(i=1;i<n_processes;i++) { MPI_Recv(buffer,BUF_SIZE,MPI_CHAR,MPI_ANY_SOURCE,MPI_ANY_TAG, MPI_COMM_WORLD,MPI_STATUS_IGNORE); printf("%s",buffer); } else { sprintf(buffer,"hello, I m process %d\n",id); MPI_Send(buffer,strlen(buffer)+1,MPI_CHAR,0,0,MPI_COMM_WORLD); } } MPI_Finalize(); return 0; p. 26/18

Exemple d utilisation : mode maître / esclaves Worker 1 Worker 2 Master... while (1) { msg=get_msg_worker(); if (msg.type == RESULT) save_result(msg.result); if (there_is_work()) { job = generate_new_job(); send_msg_worker(job); } else { send_msg_worker(quit); } if (all_workers_done) terminate(); } Worker N while (1) { send_master(request_work); msg = get_msg_master(); if (msg.type == JOB) { result = do_work(msg.job); send_master(result); } else if (msg.type == QUIT) { terminate(); } } p. 27/18

p. 28/18 MPI et les autres MPI, PVM, BIP, RPC,... Bibliothèques de passages de messages Programmation spécifique Efficace, portable Très dur à bien utiliser Besoin de développer des méthodes plus évoluées abstraction des communications intégrer au mieux la distribution dans le logiciel

p. 29/18 Programmation et utilisation des systèmes distribués Programmation d applications spécifiques Bibliothèques de passages de messages bas niveau MPI (Message Passing Interface) Appel de procédure à distance RPC (Remote Procedure Call) RMI Utilisation d applications standards Mosix (modification du système d exploitation)

p. 30/18 Conclusion Solutions très performantes mises en avant Chaque type d application a son type de cluster Mise au point et calibrage difficile Virtualisation des ressources Distribution la plus transparente possible Cohérence globale Tolérance aux pannes

p. 31/18 Plan 2 Virtualisation de données 1. Distribution de ressources Distribution matérielle Distribution au niveau du système d exploitation Distribution applicative 2. Virtualisation de données Distribution au niveau des disques Distribution au niveau du système d exploitation 3. Étude de cas Serveur de vidéo à la demande 4. Systèmes de fichiers distribués

p. 32/18 Virtualisation du stockage Distribution au niveau des disques Application Application Système d exploitation distribution Système d exploitation Matériel Matériel

p. 33/18 Distribution du stockage: pourquoi Augmentation exponentielle des performances Puissance (Joy) : MIPS = 2 année 1984 Densité (Moore) : Transistors par puce = 2 année 1964 Densité des supports magnétiques «Maximal Areal Density» (Frank): MAD = 10 année 1971 10 Stagnation des performances pour la rapidité d accès aux disques

p. 34/18 Problèmes des disques Performances faibles Limités par le temps de recherche Limités par la vitesse de rotation des plateaux (débit) Performance des disques : augmentation de 7% par an 3000 Processeurs 2000 1000 55% 100 10 35% 7-10% Disques 1980 1985 1990 1995 2000 Perte des données en cas de panne

p. 35/18 Loi d Amdhal Pour un programme donné avec une technique permettant d accelerer des portions du traitement par un facteur k: Fraction du temps passé dans les calculs accelérables : f Accélération du temps de calcul pour les calculs accélerables: k Après accélération: T New = T Old (1 f + f/k) Accélération effective : speedup S S = 1 (1 f) + f k Soit pour une application avec f = 0,9 (10% du temps passé en E/S): si on a une accélération k = 10, le speedup réél S n est que de 5 (pour k = 100 on a S = 10).

p. 36/18 Augmenter les performances On peut utiliser des systèmes de cache logiciel mais il reste de nombreuses limitations Les données sont volatiles en mémoire Requêtes aléatoires de petites tailles (transactions) Requêtes peu fréquentes de grandes tailles (simulation/modélisation) Le problème des pannes n est pas résolu Il faut mettre en place de nouvelle techniques pour assurer une évolution plus robuste.

p. 37/18 Évaluation des systèmes de stockages Critère d évaluation des systèmes de stockage: Performances sureté de fonctionnement (reliability) Coût Patterson et al. montrent qu il est plus intéressant d utiliser plusieurs petits disques peu cher plutôt qu un gros disque cher.

Extension des systèmes existants? Augmenter le nombre de disque: permet de répartir la bande passante augmente la capacité à moindre frais permet d utiliser des disques du marché Mais cela fragilise aussi le système Si on considère un temps moyen de bon fonctionnement constant pour un disque et un réseau de disques indépendants, on obtient: MTTF disque MTTF système = Nombre de disques MTTF: Mean Time To Failure Pour un MTTF de 30 000 heures (3,5 ans) réseau de 1000 disques : une panne toutes les 30 heures! réseau de 100 disque: une panne toute les deux semaines p. 38/18

p. 39/18 Partage et réplication RAID = Redondant Array of Inexpensive Disks Les disques sont répartis en groupes de fiabilité Chaque groupe possède des disques supplémentaires contenant de l information redondante Si un disque tombe en panne, son information est reconstruite grâce à la redondance Le nombre de disque par groupe et le taux de redondance permet d avoir des systèmes avec des caractéristiques différentes Patterson et al. classent les RAID par niveau (level)

p. 40/18 RAID 0 (Striping): pas de redondance Disque 1 bloc 0 bloc 2 bloc 4 bloc 6 bloc 8 Contr leur RAID Disque 2 bloc 1 bloc 3 bloc 5 bloc 7 bloc 9 Segmentation de données pas de redondance très bonne performances en lecture et écriture problèmes de sureté de fonctionnement (panne=données perdues). Utilisation : 100%

p. 41/18 RAID 1 (Mirroring) Disque 1 bloc 0 bloc 1 bloc 2 bloc 3 bloc 4 Contr leur RAID Disque 2 bloc 0 bloc 1 bloc 2 bloc 3 bloc 4 Duplication des disques redondance totale accès en parallèle en lecture écriture synchrone sur les 2 disques Sur-coût : 100% Utilisation : 50%

p. 42/18 RAID 2 (group parity check) Contr leur RAID Disque 1 Disque 2 Disque 3 Disque 4 Disque 5 Disque 6 Disque 7 P(1,2,3) P(1,2,4) P(2,3,4) Techniques de codage par parité, héritée des codages des mémoires. Pour 4 disques de données: 3 disques supplémentaires qui contiennent la parité de chaque bit des disques (Log(N) disques supplementaires). Supposons qu un erreur détruise le bit N du disque 1 les parités des bits N des disques 5 et 6 seront fausses La valeur de la parité permet de restaurer la bonne valeur Sur-coût : Log(N)%

p. 43/18 RAID 3 (bit interleaved parity check) Contr leur RAID Disque 1 Disque 2 Disque 3 Disque 4 Disque 5 P(1,2,3,4) Dans le cas d une problème de disque on peut identifier le disque fautif à partir du contrôleur de disque, il suffit donc d un seul disque supplémentaire pour stocker la parité. Les données sont entrelacées niveau bit sur les N disques: bit 0 sur disque 1, bit 1 sur disque 2 etc. Une lecture utilise donc tous les disques (sauf le disque de parité), une seule requète est traitée simultanément. Sur-coût : 1

p. 44/18 RAID 5: Block interleaved distributed parity Contr leur RAID Disque 1 Disque 2 Disque 3 Disque 4 Disque 5 bloc 0 bloc 1 bloc 2 bloc 3 P 0-4 bloc 4 bloc 5 bloc 6 P 4-7 bloc 7 bloc 8 bloc 9 P 8-11 bloc 10 bloc 11 bloc 12 P 12-15 bloc 13 bloc 14 bloc 15 P 16-19 bloc 16 bloc 17 bloc 18 bloc 19

p. 45/18 RAID 5 Le plus utilisé pour les gros volumes Les données de correction sont réparties sur l ensemble des disques Accès parallèles en lecture et écriture S emploie à partir de 3 disques Sur-coût : 33% à 4% Utilisation : 66% à 96%

p. 46/18 Disponibilité : temps de réparation P : probabilité d une autre erreur dans le groupe avant la réparation en cours MTTFgroupe = MTTF disque D + C 1 P Remplacement des disques défectueux Commutation automatique : «spare disks» Remplacement manuel à chaud : disques «hot plug»

p. 47/18 Disponibilité Le temps d intervention en cas de panne rentre en compte MTTR : Mean Time to Repair MTTF RAID = (MTTF disque ) 2 (D + C n G ) (G + C 1) MTTR Les formules sont les même pour tous les niveaux de RAID. On peut, par exemple, prendre D=100, G=9, C=1 et MTTR=1h pour obtenir un MTTF de 90 millions d heures!!

p. 48/18 Performance(s) Organisation des disques suivant les besoins Modèle transactionnel: transferts de petites tailles nombre de lecture/écriture indépendantes par seconde besoin d un taux d E/S important Modèle de simulation (supercomputing): transferts de grandes tailles besoin d un flux important

p. 49/18 Organisations RAID RAID 0: Segmentation des données («striping») RAID 1: Disques de donnés («Mirroring»,«Shadowing») RAID 2: Réseau de disques avec correction d erreur utilisant le code de Hamming (obsolète) RAID 3: Réseau utilisant un disque de parité. Les données sont segmentées par bits, octets ou par mots. RAID 4: Réseau utilisant un disque de parité. Les données sont segmentées par secteur ou par groupe de secteurs RAID 5: Réseau de disques avec contrôle de la parité distribué sur l ensemble des disques RAID 6: Réseau de disques avec double contrôle de parité sur l ensemble des disques (C=2)

p. 50/18 Organisations RAID performance coût RAID 0 ou SLED RAID RAID 3 0+1 RAID 5 RAID 6 disponibilité

p. 51/18 Virtualisation des données Distribution au niveau du système d exploitation Application Client Application Serveur Système d exploitation Système d exploitation Matériel Matériel

p. 52/18 Stockage en réseaux Croissance des besoins en stockage 49TB excite.com < 2ans 42TB amazon.com 6 mois 29TB mail.com 45 jours 1997 1998 1999

p. 53/18 Stockage sur un réseau et stockage réparti NAS : Network Attached Storage Stockage accessible depuis le réseau local en utilisant des systèmes de fichiers tels NFS ou CIFS (SMB) SAN : Storage Area Network Réseau indépendant de périphériques de stockage SSP : Storage Services Providers Location d un espace disque chez un hébergeur

p. 54/18 NAS : Network Attached Storage Essentiellement une boîte prête à l emplois avec un SE embarqué conçu pour optimiser les transactions entre les services réseaux (NFS, SMB, FTP,...) et les disques RAID Disques Bandes... blocs fichiers LAN Serveur

p. 55/18 NAS : Network Attached Storage Systèmes efficaces (serveurs dédiés) Disques organisés en RAID 0/1/5 Implémente un système de fichier évolué journalisé pour éviter les problèmes d inconsistance capable de faire des images pour les sauvegardes Les échanges entre les serveurs de fichiers et les serveurs d applications ou les clients passent par le LAN Problème de temps de sauvegarde trop importants

p. 56/18 SAN : architecture Disques Bandes... SAN Fiber Channel 2 Gb/s Blocs Fichiers LAN Fichiers Ethernet 100Mb/s 1Gb/s Serveurs

p. 57/18 SAN : fonctionnement Sous-réseau rapide de composants de stockage partagés (connexions Fibre-Channel multi Gigabit) Un SAN met à disposition de tous les serveurs sur un LAN (WAN) les composants de stockage Un composant de stockage est une boîte contenant des disques et rien d autre La panne d un serveur ne bloque pas les données Ports Liens Fiber Channel 11000 111 11000 111 11000 111 11000 111 Point à point Boucle FC AL Fabric

p. 58/18 SAN Virtualisation du stockage Extensibilité d un LAN Les serveurs sont utilisés pour les applications Bande passante du LAN laissée aux utilisateurs Fédération des équipements (sauvegarde, baie de disques) Autonomie du stockage vis à vis des réseaux Notions de droits (routage / zonage) pour les accès Mais : interopérabilité difficile et grosse charge d administration

p. 59/18 SSP : Storage Services Providers Un SSP est une compagnie qui propose un espace de stockage et des services de gestion sauvegarde archivage partage de données entre plusieurs sites Avantages : réduction des coûts de possession évolutivité maintenance assurance

p. 60/18 SSP : architecture WAN Internet SAN SAN SAN LAN

p. 61/18 Évolution du marché Dépenses en service de stockage (États Unis) 40387 En millions de $ source IDC 5953 8845 21405 Conseil Intégration 2138 3495 9923 Administration 5579 Support matériel 10193 103 15668 956 4861 Services SSP Hébergement 1999 11 2003

p. 62/18 Évolution des techniques Virtualisation de l architecture iscsi: Internet SCSI Protocole SCSI encapsulé dans IP SCSI iscsi ifcp: Internet Fiber Channel Protocol Liaison Définition d un protocole de passerelle à passerelle Permet le rattachement de produits FC à des réseaux IP Passerelle ifcp TCP IP Réseau IP Serveur FC Passerelle ifcp

p. 63/18 Conclusion Les données sont devenues la principale richesse des entreprises Elles ont maintenant leur place dans les technologies des systèmes distribués L administration et l évolutivité nécessitent de rendre prendre de la distance entre le stockage physique et son utilisation Virtualisation du stockage des données

p. 64/18 Plan 3 Étude de cas 1. Distribution de ressources Distribution matérielle Distribution au niveau du système d exploitation Distribution applicative 2. Virtualisation de données Distribution au niveau des disques Distribution au niveau du système d exploitation 3. Étude de cas Serveur de vidéo à la demande 4. Systèmes de fichiers distribués

p. 65/18 Étude de cas Serveur de vidéo à la demande Serveur dédié Flux asymétriques Clients légers

p. 66/18 Serveur Vidéo Gestionnaire d interface Gestionnaire de stockage Gestionnaire de ressources Gestionnaire de mémoire Espace de Stockage

p. 67/18 Serveur Vidéo existant Serveurs commerciaux Tiger (Microsoft94à, serveur dédié, solution totalement distribuée sur un ensemble de PC). Fellini (At&T), Machine à mémoire partagée Tiger Fellini Architecture distribuée partagée (SMP) Placement Bloc de taille variable bloc de taille fixe des données allocation variable allocation cyclique Type de codage CBR CBR & données statiques Accès interactif non oui Points forts pas de synchronisation deux API (Temps réèl ou pas) Points faibles un seul débit mémoire partagée

p. 68/18 Objectifs souhaités Grand nombre de clients supportés et faible coût développement réduit performance garanties Transparence de la gestion du système vis-à-vis des clients Système perçu comme une machine unique Communication avec le client simple Système fiable tolérance aux pannes des composants maintenir la disponibilité des données et les performances reconstruire des données après une panne

p. 69/18 Performance à faible coût Réseau Externe PC PC Réseau Externe Réseaux interne Myrinet Réseau Externe PC PC Réseau Externe Réseau Externe PC Utilisation d une grappe de PC Distribution des données sur les nœuds équilibrage de charge

p. 70/18 Tolérance aux pannes Utilisation des données de redondance faible espace de stockage supplémentaire Stratégie Streaming RAID pas d utilisation de bande passante en cas de panne modification pour éliminer le délai de recouvrement de panne

p. 71/18 Performance à faible coût Distribution des données Fichier vidéo 0 1 2 3 4 5... 0 5 1 2 3 4 noeud 0 noeud 1 noeud 2 noeud 3 noeud 4

p. 72/18 Tolérance aux pannes Redondance des données Fichier vidéo 0 1 2 3 4 5... 0 1 2 3 4 5 P noeud 0 noeud 1 noeud 2 noeud 3 noeud 4 RAID matériel sur chaque machine

p. 73/18 Transparence Le client ne dois pas apercevoir la gestion distribuée des données la gestion de la tolérance aux pannes 3 approches possibles pour gérer la grappe de PC centralisé semi-centralisé distribué

p. 74/18 Transparence : approche centralisée + transparent goulot d étranglement réseau de distribution Noeud de connexion unique noeuds de stockage réseau interne

p. 75/18 Transparence : semi-centralisé + performance pas de transparence noeud de connexion unique réseau de distribution retours distribués réseau interne

p. 76/18 Transparence : distribué + transparent + performant réseau de distribution connexion et stockage réseau interne

p. 77/18 Réalisation de la distribution Noeud 0 Noeud 1 Application Application Système d exploitation Système d exploitation Message Système de fichier natif Système de fichier natif Disques (RAID) Disques (RAID)

p. 78/18 Réalisation de la distribution Noeud 0 Noeud 1 Application Application Système d exploitation Système d exploitation Annuaire Message Système de fichier virtuel Système de fichier virtuel Système de fichier natif Système de fichier natif Disques (RAID) Disques (RAID)

p. 79/18 Réalisation de la distribution Table des fichiers distribués nom du fichier type d accès compteur d accès méta-informations : volume distribué, taille, date de dernière modification Table des fichiers répliquée sur tous les nœuds Contrôle de la cohérence Exclusion pour modifications (granularité) Propagation des modifications (granularité) Procédure de démarrage et d arrêt Procédure de reconstruction après panne

p. 80/18 Plan 4 Systèmes de fichiers distribués 1. Distribution de ressources Distribution matérielle Distribution au niveau du système d exploitation Distribution applicative 2. Virtualisation de données Distribution au niveau des disques Distribution au niveau du système d exploitation 3. Étude de cas Serveur de vidéo à la demande 4. Systèmes de fichiers distribués

p. 81/18 Distribution des fichiers Service de fichiers interface proposée pour la manipulation de fichiers création / modification / contrôle d accès Serveur de fichiers machine proposant la réalisation du service une machine peut proposer plusieurs services (NFS, SMB,... ) Exemples : Andrew File System, Sun Network File system (NFS), Bayou, Coda

p. 82/18 Système de fichier distribué Système de fichier classique: facilité d interfaçage avec le stockage sur disque. Un système de fichier distribué doit être transparent au niveau de l utilisateur (i.e. semblable à un système de fichier classique): performance, API, tolérance aux pannes (panne réseau, panne de serveurs). Parmi les premier systèmes distribués réalisés (recherche en 1970, NFS début des années 80).

p. 83/18 Rappel: fichier Un fichier contient des données et des attributs (ou meta-données), attributs typiques: Taille fichier Date de création Date de lecture Date d écriture nombre de références Propriétaire type de fichier Liste de contrôle d accès Répertoire: type particulier de fichiers.

p. 84/18 Architecture système de fichier classique Un système de fichier contient toujours plus ou moins les même modules: Les fichiers sont manipulés par le système de fichier par des identificateurs interne (ID, exemple: i-node). Module de Répertoire Module de fichier Module de con-tôle d accès Module d accès aux fichiers Module de blocs Module d E/S Relie les noms de fichiers aux IDs Relie les IDs aux fichiers vérifie les permissions écriture ou lecture (données/attributs) alloue/désalloue les blocs sur le disqu E/S sur le disque et tampon

p. 85/18 Exemple d unix API du système de fichier: filedes=open(name,mode) filedes=creat(name,mode) status=close(filedes) count=read(filedes,buffer,n) count=write(filedes,buffer,n) pos=lseek(filedes,offset,whence) status=unlink(name) status=link(name1,name2) status=stat(name,buffer)

p. 86/18 Système de fichiers distribués Transparence: Même type d accès pour tous les fichiers (local/distant) Même type de noms (uniform file name space) Même type de performances Déplacement physique de fichiers distants. Passage à l échelle Mise à jour concurrente Hétérogénéité matérielle. Tolérance aux fautes Communications (opérations idempotentes) Pannes des serveurs (modules "sans état") Sécurité Efficacité

p. 87/18 Architecture d un système de fichier distribué Serveur de fichier Machine Cliente Service répertoire application application Réseau Service Fichier à plat Module Client Service de fichier à plat (flat file service): UFID, Read, Write, Create, Set/Get attribute Service de répertoire: correspondance nom UFID Client: RPC, mécanisme de cache

p. 88/18 Comparaison avec Unix Fonctionnellement équivalent mais: Pas d opération open et close Opérations d E/S repetable (idempotente) Pas d état de fichier stocké dans le système (tolérance aux pannes) Contrôle d accès à chaque accès

p. 89/18 Sun NFS Sun Network File System: spécification indépendante de l OS hôte. Sur Unix: chaque processeur possédant des fichiers partagés possède un serveur NFS intégré au noyau unix. Chaque client possède un client NFS intégré au noyau unix.

p. 90/18 Sun NFS Client Server application application Unix kernel Unix system calls Virtual File System Virtual File System Local Unix File System Other File System distant NFS Client NFS Protocol Network NFS server Unix File System

p. 91/18 Virtual File System (VFS) Homogénéiser les appels systèmes et les noms de fichiers. Identificateurs de fichiers utilisé par VFS (file handle): Filesystem identifier i-node number i-node generation of file number chaque fichier possède un v-node dans VFS: soit un i-node (fichier local) soit un handle (fichier distant)

p. 92/18 Cache du serveur Les systèmes de fichier conventionnels utilisent un buffer d E/S comme un cache avec les caractéristiques suivante: read-ahead (accès séquentiel) delayed-write (sync toutes les 30 secondes ) Système de fichier distribués write-through: mémoire cache et écriture disque avant acquittement. write-back: écriture sur disque uniquement lors des commit: plus performant, moins tolérant aux pannes.

p. 93/18 Cache du client Le client stocke en cache les résultats de requête (read, write, getattribute, lookup, readdir) poling pour vérifier la cohérence des données dans le cache. Deux dates étiquettent les blocs dans le cache: T c dernière validation de l entrée du cache T m dernière modification du bloc sur le serveur Un bloc du cache à la date T est valide si T T c < t (t: intervalle de rafraîchissement) ou si la date T m enregistrée sur le client est la même que celle présente sur le serveur. La valeur de t est choisie pour faire un compromis entre l efficacité et la consistance. Pour Sun Solaris: 3s t 30s pour les fichiers 30s t 60s

p. 94/18 Cache du client Pour optimiser le polling: L arrivée d un nouveau T m est appliqué à tous les blocs du fichier dans le cache Les attributs d un fichier sont envoyé avec les résultats de toutes les requêtes (piggybacked) La valeur de t est adaptée dynamiquement Pour la consistance du cache lors de l écriture: Les blocs sont marqués comme dirty, il seront écrits dans le fichier distant de manière asynchrone (fermeture du fichier ou sync). Le read-ahead et delayed write peuvent être améliorés à l aide d un bio-deamon.

p. 95/18 Andrew file system Conçu pour être plus résistant au passage à l échelle (plus de 1000 machines). Points clés pour la performance: Service de fichiers entiers (< 64kB) Cache de fichier entier (cache jusqu à 100 Mb) Fichiers peu fréquemment mis à jour dupliquées localement (librairies unix) Hypothèses sur les tailles moyennes des fichiers accédés petits fichiers (moins de 10kB) Plus de read que de write accès séquentiel fichiers utilisés par un seul utilisateur mécanisme de promise et callback pour la cohérence

p. 96/18 Principe du promise et call back Lorsque le serveur envoi un fichier au client, il envoi un callback promise il avertira lorsqu un autre client modifiera le fichier. Lorsque le fichier est modifié, le serveur envoi un callback à toutes les copies du fichier callback promise cancelled Lorsque le client veut ouvrir le fichier il vérifie que le callback promise est valide. Après un crash du client, le serveur peut renvoyer les fichiers correspondant aux tags callback promise valides du client. Plus extensible qu un mécanisme basé sur les time-stamp Approximation de la one copy update semantic

p. 97/18 Conclusion générale Virtualisation du calcul indépendance du réseau indépendance du système Virtualisation du stockage indépendance du stockage protocoles iscsi et ifcp indépendance des protocoles systèmes de fichiers distribués Développement de services MiddleWare pour abstraire la distribution sans modifier les systèmes de façon trop importante suite du cours

p. 98/18 Plan Fondements caractétistiques des systèmes distribués réseaux communication interprocessus Algorithmes distribués temps et états globaux coordination et accords Middleware Objets distribués et invocation distante Sécurité Nommage Exemple : les EJB Infrastructure système support pour système d exploitation système de fichier distrbué mémoire partagée distribuée exemple : le système MACH Données partagées transaction et controle de la concurrence transactions distribuées réplication