Redondant Array of Inexpensive Disk (RAID) TP
Transcription
Redondant Array of Inexpensive Disk (RAID) TP
BTS S.I.O. 2nd Année Option S.I.S.R. TP 14 - RAID Redondant Array of Inexpensive Disk (RAID) 1. But à atteindre Installer et mettre en œuvre une solution RAID1 et RAID5. 2. Présentation du déroulement Ce TP se déroule en quatre étapes : 1. Créer 9 disques virtuels qui, vu de la machine virtuelle formeront 9 disques durs pour prendre en charge le RAID. 2. Installer les paquets et les modules nécessaires ; 3. Réaliser un stockage de données en RAID 1, avec trois disques, dont un de secours (spare), et tester la résistance aux pannes de cet agrégat ; 4. Réaliser un stockage de données en RAID 5, avec 6 disques, dont un de secours (spare), et tester la résistance aux pannes de cet agrégat. Nota : Les agrégat seront, dans ce TP, réalisés avec des disques virtuels situées sur le même disque physique, simulant ainsi la présence de neuf disques physiques. Il est bien évident que cette solution n'apporte strictement aucun avantage, ni en terme de sécurité, ni en terme de performances puisque si le disque physique tombe en panne toutes les disques virtuels seront perdus. Toutefois l'enchaînement des commandes et les réactions du système seront les mêmes avec N disques virtuels qu'avec N disques physiques différents. 1. Matériels, architecture à utiliser, pré-requis et conception. 1.1. Connaissances considérées comme acquises et TP préalable Vous devez maîtriser la configuration réseau d'une machine physique, le clonage de machines virtuelles et la configuration de machines virtuelles dans l'environnement du contexte MLIF. 1.2. Préparation de la machine virtuelle « srv-web » Ajoutez 9 disques virtuels Vdi Sata de taille fixe de 1Go chacun (vérifiez que vous avez bien la place sur le disque physique) nommés : raid1-1.vdi, raid1-2.vdi, raid1-3.vdi raid5-1.vdi, raid5-2.vdi, raid5-3.vdi, raid5-4.vdi, raid5-5.vdi, raid5-6.vdi Nota : La taille des disque qui formeront le Raid est fixé à 1 Go pour ne pas perdre de temps lors de la construction et de la réparation des agrégats. Le résultat sera le même qu'avec des disque plus grands mais évitera des temps d'attente pouvant atteindre plusieurs heures avec des gros disques. Bien sûr, en production, un Raid aussi petit ne servirait pas à grand chose. Attacher ces 9 disques à la machine srv-web, sur le contrôleur Sata existant, sur les ports 1 à 9. Nota : le port 0 est déjà occupé par le disque « system » de srv-web. Démarrez la machine virtuelle srv-web et vérifiez la présence des 9 disques et du disque système avec la commande : ls /dev/sd* Vous devez voir, en plus de votre disque système qui est, en principe, nommé sda, les neuf autres disques qui doivent s'appeler sdb, sdc ... sdj. Avec la commande « mount » vérifiez que le nom physique de votre disque système (celui monté sur /) est bien « sda1 ». Utiliser la commande cfdisk /dev/sdb et créer une partition primaire prenant tout l'espace du disque de type « linux Raid Autodetect » (FD) Conception V.Perrin , révision V.Mauduit Document1 1/8 Recommencer l'opération pour les disques « sdc » à « sdj » Vérifier avec la commande : ls /dev/sd* que les partitions sdb1, à sdj1 apparaissent. Si ces partitions nouvellement créées n'apparaissent pas dans « /dev/ alors rebooter la machine « srv-web » ». 1 - Appelez-moi pour que je vienne vérifier cette partie du TP 1. Réalisation 1.1. Préparation de la machine « srv-web » a) Le noyau que vous utilisez n'intègre pas directement la gestion des RAID logiciels, il va donc falloir lui adjoindre les modules nécessaires à cette gestion grâce à la commande « modprobe ». Pour cela : Lancer les commandes : modprobe raid1 puis modprobe raid456 b) Installer le paquet « mdadm » qui permet l'administration des RAID (Multiple Disk ADMinistration) et accepter les valeurs proposées par défaut pour la configuration de la messagerie. 1.2. Mise en place du RAID 1 sur « srv-web » a) Création de l'agrégat Pour créer un agrégat il faut indiquer son nom, son type, le nombre de disques le constituant, le nombre de disques de secours (spare) et fournir la liste des partitions à agréger. Par tradition les agrégats se nomment md (Multiple Disks) et sont numérotés à partir de 0. Ils se présenteront donc sous la forme : /dev/md0 pour le premier agrégat, /dev/md1 pour le second, etc... Lancer la commande (sur une seule ligne) : mdadm --create /dev/md0 --level=1 --raid-device=2 --spare-device=1 --assume-clean /dev/sdb1 /dev/sdc1 /dev/sdd1 Dans cette commande, vous demandez : La création d'un agrégat (--create), nommé « md0 » en Raid 1 (level=1) avec 2 disques (raid-device=2) et un spare (spare-device=1) On laisse les partitions intactes (assume-clean) Les trois partitions à utiliser sont sdb1, sdc1 et sdd1. Pour syntaxe complète de mdadm voir « man mdadm ». L'agrégat est maintenant créé et un identifiant unique (uuid) sur 128 bits (16 octets) à été inscrit sur chaque partition le constituant. b) Observer l'agrégat Lancer la commande suivante et observer les informations fournies : mdadm --detail /dev/md0 Si vous avez tapé cette commande assez rapidement après la création de l'agrégat, vous devriez voir la construction de l'agrégat progresser. Remarquez que l'agrégat est constitué des disques « sdb1 » et « sdc1 » et que le spare est « sdd1 ». Noter l'UUID de l'agrégat. UUID :bfbd7367:bc1d7909:3eee4a42:deafed1d4 Conception V.Perrin , révision V.Mauduit Document1 2/8 c) Formatage de l'agrégat Un agrégat se comporte exactement comme un disque dur. Il faut donc le formater (lui implanter un système de fichier). mkfs /dev/md0 d) Montage de l'agrégat Comme tout disque, un agrégat ne peut être utilisé qu'après avoir été monté. Créer un répertoire pour l'accueillir et montez l'agrégat dessus mkdir /raid1/ mount /dev/md0 /raid1/ Vérifier par « df » que le montage est correct. e) Taille de l'agrégat Vous venez de faire un agrégat en Raid1 de trois disques de 1Go chacun. Lancer la commande : df | grep md0 Quelle est la taille du disque agrégé ? Taille de l'agrégat :1027224 Pourquoi cette taille n'est pas égale à 3 fois 1Go Réponse : Conception V.Perrin , révision V.Mauduit Document1 3/8 f) Remplissage de l'agrégat Vérifier de contenu de l'agrégat avec la commande : ls /raid1/ Il ne contient qu'un seul répertoire (lost+found), en principe vide, qui est implanté systématiquement lors du formatage. Pour tester le fonctionnement de l'agrégat, il va falloir mettre quelques données dessus cp -R /usr/* /raid1/ g) Simulation d'une panne mdadm /dev/md0 --fail /dev/sdb1 va simuler la panne du disque sdb. mdadm --detail /dev/md0 Vous permet de constater que le disque de « spare » prend automatiquement le relais du disque en panne et qu'il permet la réparation de l'agrégat. Lancez cette commande plusieurs fois pour contrôler l'avancement de la reconstruction. Pendant ce temps, vous pouvez constater que les données de l'agrégat sont intactes et restent accessibles. h) Simulation d'une seconde panne mdadm /dev/md0 --fail /dev/sdc1 va simuler la panne du disque sdc. mdadm --detail /dev/md0 Vous permet de constater que deux disques sont en panne et que l'agrégat fonctionne toujours, mais en mode « dégradé ». Vous pouvez vérifier que les données sont intactes alors que les deux disques qui les contenaient à l'origine sont en panne. i) Simulation du remplacement des disques en panne On simule le retrait des deux disques défectueux de l'agrégat avec : mdadm /dev/md0 --remove /dev/sdb1 mdadm /dev/md0 --remove /dev/sdc1 On simule le remplacement des deux disques en panne par deux disques « en état de marche » dans l'agrégat avec : mdadm /dev/md0 --add /dev/sdb1 mdadm /dev/md0 --add /dev/sdc1 Avec la commande mdadm --detail /dev/md0 On peut constater que le premier disque sert à reconstituer l'agrégat et que le second disque se place automatiquement en « spare », prêt à remplacer le prochain disque défectueux. j) Assemblage des agrégats au démarrage Pour qu'au boot de la machine, les agrégat soient reconstitués automatiquement, il faut renseigner le fichier /etc/mdadm/mdadm.conf Conception V.Perrin , révision V.Mauduit Document1 4/8 Pour l'instant il comporte plusieurs lignes dont une marquée : DEVICE partitions Indiquant que toutes les partitions de la machine seront scannées et susceptibles de faire partie d'un agrégat. A la suite de cette ligne, il faut ajouter les informations sur l'agrégat qui vient d'être créé : ARRAY /dev/md0 uuid=11111111:222222222:333333333:444444444 En remplaçant bien sûr la valeur de l'uuid par celle que vous avez relevée lors de la création de l'agrégat. Pour plus d'informations sur ce fichier, sa syntaxe et ses nombreuses possibilités vous pouvez consulter « man mdadm.conf » k) Vérification Rebooter la machine, si tout est correct, l'agrégat devrait être assemblé sous le nom de /dev/md0, ce que vous pouvez vérifier avec la commande mdadm /dev/md0 l) Montage de l'agrégat au démarrage L'assemblage de l'agrégat ne réalise pas son montage. Pour que le montage s'effectue automatiquement, il faut, comme pour un disque dur, modifier le fichier « /etc/fstab » et ajouter la ligne : /dev/md0 /raid1 ext2 defaults 0 0 m) Vérification Rebooter la machine, si tout est correct, l'agrégat devrait être assemblé sous le nom de /dev/md0 et ses données accessibles sous « /raid1/ ». 2 - Appelez-moi pour que je vienne vérifier cette partie du TP Conception V.Perrin , révision V.Mauduit Document1 5/8 1.3. RAID 5 ici on est ICI OOHOHOHOHOH a) Création de l'agrégat Lancer la commande (sur une seule ligne) : mdadm --create /dev/md1 --level=5 -–raid-device=5 –-spare-device=1 --assume-clean /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1 /dev/sdi1 /dev/sdj1 Cette fois on demande la création d'un agrégat en raid 5, avec 5 disques plus un spare. Les disques se nomment : sde1, sdf1, sdg1, sdh1, sdi1 et sdj1. b) Observer l'agrégat mdadm --detail /dev/md1 Observer les informations fournies. Si vous avez tapé cette commande assez rapidement après la création de l'agrégat, vous devriez voir sa construction progresser. Noter l'UUID de l'agrégat. UUID : c) Formatage de l'agrégat mkfs /dev/md1 L'agrégat est maintenant créé et son uuid a été inscrit sur chaque partition le constituant. d) Montage de l'agrégat mkdir /raid5 mount /dev/md1 /raid5 Vérifier par « df » que le montage est correct. e) Taille de l'agrégat Vous venez de faire un agrégat en Raid5 de six disques de 1Go chacun. Lancer la commande : df | grep md1. Quelle est la taille du disque agrégé ? Taille de l'agrégat :9848352 Pourquoi cette taille n'est pas égale à 6 fois 1Go Réponse : f) Remplissage de l'agrégat cp -R /usr/* /raid5 Conception V.Perrin , révision V.Mauduit Document1 6/8 g) Simulation d'une panne mdadm /dev/md1 --fail /dev/sde1 mdadm --detail /dev/md1 Vous permet de constater que le disque de spare prend automatiquement le relais du disque en panne et qu'il permet la réparation de l'agrégat. Lancez cette commande plusieurs fois pour contrôler l'avancement de la reconstruction. Pendant ce temps, vous pouvez constater que les données de l'agrégat sont intactes et restent accessibles. h) Simulation d'une seconde panne Lorsque la reconstitution des données sera terminée, lancer la commande : mdadm /dev/md1 --fail /dev/sdi1 mdadm --detail /dev/md1 Vous permet de constater que deux disques sont en panne et que l'agrégat fonctionne en mode « dégradé ». Vous pouvez constater toutefois que les données sont intactes alors que deux des cinq disques qui les contenaient à l'origine sont en panne. i) Simulation du remplacement des disques en panne On enlève les deux disques défectueux de l'agrégat mdadm /dev/md1 --remove /dev/sde1 mdadm /dev/md1 --remove /dev/sdi1 On les remplace par deux disques en « état de marche » mdadm /dev/md1 --add /dev/sde1 mdadm /dev/md1 --add /dev/sdi1 On vérifie le fonctionnement mdadm --detail /dev/md1 On constate que le premier disque réparé sert à reconstituer un agrégat correct et que le second disque se place automatiquement en « spare », prêt à remplacer le prochain disque défectueux. j) Assemblage des agrégats au démarrage Ajouter les informations sur l'agrégat au fichier « /etc/mdadm/mdadm.conf » ARRAY /dev/md1 uuid=11111111:222222222:333333333:444444444 En remplaçant bien sûr l'uuid par celui que vous avez relevé lors de la création de l'agrégat. k) Montage de l'agrégat au démarrage Modifier le fichier /etc/fstab et ajouter la ligne : /dev/md1 /raid5 ext2 defaults 0 0 l) Vérification Rebooter la machine, si tout est correct, les deux agrégats (md0 et md1) devraient être montés sur /raid1 et sur /raid5 et leurs données accessibles sans aucune intervention.* Conception V.Perrin , révision V.Mauduit Document1 7/8 3 - Appelez-moi pour que je vienne vérifier cette partie du TP Conception V.Perrin , révision V.Mauduit Document1 8/8