EX4C Systèmes d exploitation Séance 14 Structure des stockages de masse Sébastien Combéfis mardi 3 mars 2015
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution Pas d Utilisation Commerciale Pas de Modification 4.0 International.
Objectifs Comprendre les dispositifs de stockage secondaire Structure physique Effets sur l utilisation des périphériques Performances des dispositifs de stockage de masse Expliquer les performances et caractéristiques Services proposés par l OS En particulier les systèmes RAID 3
Disque magnétique I Disque magnétique utilisé comme stockage secondaire Plateaux circulaires recouverts d un matériau magnétique Sur les deux faces de chaque plateau Têtes de lecture/écriture flottent sur les plateaux Toutes les têtes bougent ensemble comme une seule unité Découpe des plateaux en pistes coupées en secteurs L ensemble des pistes des plateaux est appelé cylindre 4
Disque magnétique II Les disques tournent pendant que les têtes restent fixes Vitesses de 5400, 7200, 10000 ou 15000 tours/minute Deux vitesses Vitesse de transfert entre le disque et l ordinateur Temps de positionnement des têtes et d alignement du secteur Crash des têtes (déplacement, secousse, redémarrage...) Ne peut normalement pas être réparé, disque à remplacer Connecté à la machine par un ensemble de fils appelé bus E/S ATA, SATA, esata, USB, FC... gérés par un contrôleur 5
Solid-State Disk (SSD) Mémoire non-volatile utilisée comme un disque dur Plusieurs technologies DRAM + batterie ou mémoire flash (SLC, MLC) Peuvent être plus fiable et rapide Pas de parties mobiles et accès aléatoire direct Coutent plus chers, capacités plus faibles, vie plus courte 6
Bande magnétique Plus longue durée de vie et grandes capacités de stockage Accès aux données très lent, et accès aléatoire pas possible Utilisation pour des backups Stockage d information peu utilisée, transfert entre systèmes Bande rangée dans une bobine Déroulée et rembobinée sous une tête de lecture/écriture 7
Première partie Structure physique
Structure du disque Addressage comme une séquence de blocs logiques Le bloc logique est la plus petite unité de transfert Taille usuelle d un bloc de 512 octets Mapping vers un numéro de cylindre, de piste et de secteur Secteurs défectueux et nombre de secteurs par piste pas constant 9
Vitesse de rotation Vitesse linéaire constante (CLV, Constant Linear Velocity) Densité de bits par piste uniforme Plus grand nombre de secteurs à l extérieur La vitesse de rotation varie selon le cylindre lu Vitesse angulaire constante (CAV, Constant Angular Velocity) Densité de bits par piste variable Plus petit nombre de bits à l extérieur La vitesse de rotation constante 10
Stockage rattaché à l hôte Stockage accédé à travers des ports E/S Bus de type IDE ou ATA, deux disques maximum par bus Utilisation du Fibre Channel (FC) Bus série à très haute vitesse (fibre optique ou câble de cuivre) Une variante avec adresses sur 24 bits (pour les SAN) Variante FC-AL (Arbitrated Loop) Plusieurs périphériques peuvent être rattaché à l hôte Disques durs, RAID, CD, DVD, bandes... 11
Stockage rattaché au réseau (NAS) Network-Attached Storage (NAS) Système de stockage accédé à travers un réseau Accès via une interface d appels de procédures distantes NFS sous Unix ou CIFS sous Windows Partage d un pool de stockage entre machines d un LAN Protocole iscsi pour les NAS Protocole SCSI transposé par dessus le protocole IP 12
Storage Area Network (SAN) Un NAS consomme de la bande passante sur le réseau Réseau privé (SAN) avec des protocoles de stockage Connecte les serveurs et unités de stockage Un hôte n accède pas directement au stockage Utilisation de Fiber Channel ou InfiniBand pour les connexions 13
NAS vs SAN NAS client LAN/WAN client NAS client storage array storage array SAN server server LAN/WAN client client tape library data-processing center client web content provider 14
Deuxième partie Ordonnancement du disque
Ordonnancement du disque L OS doit utiliser le disque de manière efficace Temps d accès rapide et grande bande passante Un processus fait un appel système pour accéder au disque Opération d entrée ou de sortie Adresse sur le disque pour le transfert Adresse mémoire pour le transfert Le numéro des secteurs à transférer Requête satisfaite directement ou placée dans une file Algorithme d ordonnancement pour choisir les requêtes 16
FCFS First-Come First-Served (FCFS), algorithme équitable Mais ne fournit pas le service le plus rapide Demande de blocs sur les cylindres suivants (tête en 53) 98, 183, 37, 122, 14, 124, 65, 67 (déplacement de 640 cylindres) 0 20 40 60 80 100 120 140 160 180 17
SSTF Shortest-Seek-Time-First (SSTF) Choisit le bloc le plus proche de la tête Demande de blocs sur les cylindres suivants (tête en 53) 98, 183, 37, 122, 14, 124, 65, 67 (déplacement de 236 cylindres) 0 20 40 60 80 100 120 140 160 180 18
SCAN La tête fait des aller-retour entre le début et la fin Les blocs sont servis quand la tête passe dessus (escalateur) Demande de blocs sur les cylindres suivants (tête en 53 ) 98, 183, 37, 122, 14, 124, 65, 67 (déplacement de 236 cylindres) 0 20 40 60 80 100 120 140 160 180 200 19
C-SCAN Circular SCAN ne sert aucune requête au moment du retour Car la file d attente est souvent de l autre côté du disque Demande de blocs sur les cylindres suivants (tête en 53 ) 98, 183, 37, 122, 14, 124, 65, 67 (déplacement de 382 cylindres) 0 20 40 60 80 100 120 140 160 180 200 20
LOOK SCAN et C-SCAN bougent la tête sur la largeur du disque Les variantes LOOK et C-LOOK ne vont pas jusqu au bout Déplacements respectifs de 208 et 322 cylindres 0 50 100 150 0 50 100 150 21
Choisir son algorithme SSTF est le plus commun Donne de meilleures performances que FCFS SCAN et C-SCAN réduisent le risque de famine Performances dépendent du nombre et des types de requêtes Une seule requête dans la file en moyenne, algos pareils Dépend aussi fortement de la méthode d allocation des fichiers SSTF et LOOK sont les deux algorithmes par défaut 22
Troisième partie Gestion de l espace et redondance
Formatage de bas niveau Formatage de bas niveau (ou physique) Division du disque en secteurs pour le contrôleur disque Secteur = tête (header), données (512 octets) et fin (trailer) Numéro de secteur et ECC Formatage en usine Mapping entre numéro de blocs logique et secteurs sans défaut 24
Formatage logique Partition du disque en groupes de cylindres par l OS Chaque partition est vue comme un disque séparé Formatage logique crée le système de fichiers Stockage de structures (dossier vide, liste des zones libres...) Regroupement de blocs en clusters E/S disque par blocs et E/S système de fichiers par clusters Accès au disque comme un tableau de blocs Raw I/O, par exemple utilisé par les bases de données 25
Bloc de démarrage Séquence de démarrage (bootstrap) est un programme simple Initialise le système (registre, contrôleurs, mémoire centrale...) Démarrage de l OS à partir du code du kernel en mémoire Programme de chargement du bootstrap se trouve en ROM Bootstrap se trouve dans un bloc de démarrage sur le disque 26
Exemple sous Windows Une partition de démarrage Contient l OS et les pilotes des périphériques Code de démarrage placé sur master boot record (MBR) Premier secteur du disque dur partition 1 partition 2 partition 3 partition 4 MBR boot code partition table boot partition 27
Bloc défectueux Disques sujets à des défauts À cause des parties mobiles et faibles tolérances Défaillance totale ou seulement quelques secteurs défectueux Déjà des blocs défectueux en sortie d usine Gestion manuelle (contrôleur IDE) Scan du disque et flag sur les blocs défectueux Gestion intelligente par le contrôleur Maintient d une liste des blocs défectueux 28
Sector forwarding Analyse des secteurs pendant le formatage de bas niveau Liste des blocs défectueux et de blocs de réserve Détection d un secteur défectueux 1 L OS demande à lire le bloc logique 87 2 Le contrôleur calcule l ECC et signale un bloc défectueux 3 Au prochain reboot, le contrôleur remplace le bloc défectueux 4 Requête pour bloc logique 87 mappée sur un bloc de réserve Problème pour les algorithmes d ordonnancement du disque Le sector slipping déplace tous les blocs 29
Gestion de l espace de swap Disque comme extension de la mémoire principale Offrir le meilleur débit possible Utilisation de l espace de swap Stocker tout un processus ou une page De quelques Mo à plusieurs Go Localisation de l espace de swap Dans le système de fichiers Raw partition gérée par un swap-space storage manager 30
Structure RAID Au vu des prix, plusieurs disques durs sur un même système Amélioration de la fiabilité et des performances En dupliquant les données et par accès parallèle Redundant Arrays of Independent Disks (RAID) Plusieurs disques sur le bus système, gérés par l OS Contrôleur dédié pour gérer plusieurs disques 31
Fiabilité Amélioration de la fiabilité par redondance Probabilité qu un disque sur N crash grande Plus grand que pour un seul disque isolé Mirroring consiste à simplement recopier les données Un disque logique consiste en deux disques physiques Pas utile en cas de coupure de courant Utilisation d une cache NVRAM pour le RAID 32
Performance Amélioration de la performance via parallélisme Le mirroring permet de doubler la vitesse de lecture Striping consiste à séparer les bits d un octets Chaque bit d un octet est placé sur un disque différent Temps d accès identique à un seul disque Chaque accès rapatrie huit fois plus de données Striping au niveau des blocs 33
RAID 0 Non-redundant striping Striping au niveau des blocs mais sans redondance 34
RAID 1 Mirrored disks Mirroring des disques, copies complètes en double C C C C 35
RAID 2 Memory-style error-correcting codes Stockage d informations sur la parité (ECC) Permet de réparer un bit endommagé Nécessite trois disques en plus pour quatre disques de données P P P 36
RAID 3 Bit-interleaved parity Un seul bit de parité suffisant Car les contrôleurs vérifient déjà les secteurs avec un ECC Un seul disque additionnel nécessaire P 37
RAID 4 Block-interleaved parity Striping au niveau des blocs avec un disque de parités Lecture de plusieurs blocs en parallèle Pas pour l écriture de plusieurs petits changements indépendants P 38
RAID 5 Block-interleaved distributed parity Données et parités réparties sur tous les disques Tout en gardant données et parités sur des disques différents Système le plus couramment utilisé P P P P P 39
RAID 6 P + Q redundancy Stocke plus d information de redondance Peut résister au crash de plusieurs disques Codes de Reed-Solomon à la place des parités P P P P P P P P P P 40
RAID 0+1 / 1+0 Combinaison de RAID 0 et RAID 1 RAID 0 pour la performance et RAID 1 pour fiabilité Meilleures performances que RAID 5, mais plus couteux stripe mirror stripe mirror mirror mirror mirror stripe RAID 0+1 RAID 1+0 41
Autres caractéristiques Snapshot Vue du système avant la dernière mise à jour Réplication synchrone ou asynchrone Duplication automatique entre différents sites Disque de secours Rétablissement automatique immédiat du niveau de RAID 42