Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
tutoriel:installation_raid_lvm [Le 20/08/2009, 14:40] 213.95.41.13 |
tutoriel:installation_raid_lvm [Le 11/09/2022, 12:23] (Version actuelle) moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== INSTALLATION ROBUSTE ====== | + | {{tag>tutoriel raid}} |
- | {{tag>raid}} | + | ---- |
- | ====== Utilisation de mdadm + LVM2+UBUNTU-alternate-CD ====== | + | ====== Installation robuste : utilisation de mdadm + LVM2+UBUNTU-alternate-CD ====== |
Le but de ce tutoriel est d'expliquer comment installer un système permettant le remplacement d'un disque dur en panne sans perte de données. Nous utiliserons deux types de raid: | Le but de ce tutoriel est d'expliquer comment installer un système permettant le remplacement d'un disque dur en panne sans perte de données. Nous utiliserons deux types de raid: | ||
* le **raid1** pour le point de montage **/boot** | * le **raid1** pour le point de montage **/boot** | ||
<note important>en effet Grub ne sait pas booter sur du LVM. | <note important>en effet Grub ne sait pas booter sur du LVM. | ||
- | En revanche, **Grub2** le permet désormais (au moins depuis la version présente dans Debian/lenny). Cette limitation devient donc caduque même avec une partition de boot LVM+RAID (software).</note> | + | En revanche, **Grub2** le permet désormais (au moins depuis la version présente dans Debian/lenny). Cette limitation devient donc caduque même avec une partition de boot LVM+RAID (software).</note> |
* le **raid5+LVM** pour la **racine** et **/home** (j'ai choisi de faire des partions LVM sur le raid5 car celle-ci peuvent être facilement dimensionnées a posteriori. | * le **raid5+LVM** pour la **racine** et **/home** (j'ai choisi de faire des partions LVM sur le raid5 car celle-ci peuvent être facilement dimensionnées a posteriori. | ||
=== AVERTISSEMENT : === | === AVERTISSEMENT : === | ||
- | * Ce tutoriel n'est en aucun cas un manuel de référence, il est juste le fruit de mon expérience qu'il me semblait intéressant de partager. | + | * Ce tutoriel n'est en aucun cas un manuel de référence, il est juste le fruit de mon expérience qu'il me semblait intéressant de partager. |
* Ce tutoriel n'explique pas non plus ce qu'est le RAID ou le LVM, je vous laisse lire les nombreux wiki qui existent sur la question. | * Ce tutoriel n'explique pas non plus ce qu'est le RAID ou le LVM, je vous laisse lire les nombreux wiki qui existent sur la question. | ||
* Je vous conseille de faire quelques tests de pannes tant que vous n'avez pas de données sensibles. | * Je vous conseille de faire quelques tests de pannes tant que vous n'avez pas de données sensibles. | ||
=== CONFIGURATION : === | === CONFIGURATION : === | ||
* UBUNTU Gutsy 7.10 | * UBUNTU Gutsy 7.10 | ||
- | * 3 disques durs de 40 Go | + | * 3 disques durs de 40 Go |
=== AVANT DE COMMENCER : === | === AVANT DE COMMENCER : === | ||
* Télécharger et graver le alternate-CD de Ubuntu | * Télécharger et graver le alternate-CD de Ubuntu | ||
Ligne 24: | Ligne 24: | ||
- | ===== 1. Installation ===== | + | ===== Installation ===== |
- | Booter sur le CD, taper F2 pour choisir la langue française puis sélectionner le menu **« Installer sur le disque dur »**. | + | Booter sur le CD, taper F2 pour choisir la langue française puis sélectionner le menu **« Installer sur le disque dur »**. |
(en mode texte, pour éviter certains bugs, avec les disques ide) | (en mode texte, pour éviter certains bugs, avec les disques ide) | ||
Ligne 33: | Ligne 33: | ||
- | ==== a) Partitionnement des disques ==== | + | ==== Partitionnement des disques ==== |
Nous allons utiliser l'outil de partitionnement du CD et le faire manuellement. Choisir donc **« partitionnement manuel »** | Nous allons utiliser l'outil de partitionnement du CD et le faire manuellement. Choisir donc **« partitionnement manuel »** | ||
Les 3 disques doivent normalement apparaitre comme ci-dessous: | Les 3 disques doivent normalement apparaitre comme ci-dessous: | ||
Ligne 39: | Ligne 39: | ||
{{tutoriel:disques-avant-partions.jpg|}} | {{tutoriel:disques-avant-partions.jpg|}} | ||
- | Sélectionner un espace libre et créer les 3 partitions : | + | Sélectionner un espace libre et créer les 3 partitions : |
- | * une de 500Mo utilisée comme **« swap »** | + | * une de 500Mo utilisée comme **« swap »** |
* une de 500Mo utilisée comme **« raid »** et rajouter l'indicateur d'amorçage sur "présent" | * une de 500Mo utilisée comme **« raid »** et rajouter l'indicateur d'amorçage sur "présent" | ||
* une dernière de 39 Go utilisé comme **« raid »** | * une dernière de 39 Go utilisé comme **« raid »** | ||
Ligne 48: | Ligne 48: | ||
{{tutoriel:disques-partitionnes.jpg|}} | {{tutoriel:disques-partitionnes.jpg|}} | ||
- | + | ==== Création des périphériques RAID ==== | |
- | + | ||
- | + | ||
- | ==== b) Création des périphériques RAID ==== | + | |
A l'aide de la barre de défilement verticale remonter et sélectionner le menu « Configurer le RAID logiciel » | A l'aide de la barre de défilement verticale remonter et sélectionner le menu « Configurer le RAID logiciel » | ||
Ligne 65: | Ligne 62: | ||
{{tutoriel:creation-raid1.jpg|}} | {{tutoriel:creation-raid1.jpg|}} | ||
- | Répondre aux quelques questions qui vous sont posez concernant les caractéristiques du RAID : j'ai personnellement choisi 3 disques, et 0 en secours. | + | Répondre aux quelques questions qui vous sont posées concernant les caractéristiques du RAID : j'ai personnellement choisi 3 disques, et 0 en secours. |
Réaliser la même opération pour créer le RAID 5 à l'aide des partitions sda3,sdb3 et sdc3 | Réaliser la même opération pour créer le RAID 5 à l'aide des partitions sda3,sdb3 et sdc3 | ||
Ligne 84: | Ligne 81: | ||
- | ==== c) Configuration du LVM === | + | ==== Configuration du LVM === |
A ce stade doit apparaître un menu **« Configurer le gestionnaire de volumes logiques (LVM) » ** qui va nous permettre de créer nos différents: | A ce stade doit apparaître un menu **« Configurer le gestionnaire de volumes logiques (LVM) » ** qui va nous permettre de créer nos différents: | ||
* volumes physiques, | * volumes physiques, | ||
* groupes de volumes | * groupes de volumes | ||
- | * et volumes logiques | + | * et volumes logiques |
sur le RAID 5. | sur le RAID 5. | ||
Ligne 94: | Ligne 91: | ||
A l'aide des différents écrans, créer : | A l'aide des différents écrans, créer : | ||
- | * Un volume physique sur le périphérique RAID5 ici /dev/md1 | + | * Un volume physique sur le périphérique RAID5 ici /dev/md1 |
- | __Remarque:__ les périphériques RAID sont nommés md0 et md1 | + | __Remarque:__ les périphériques RAID sont nommés md0 et md1 |
- | * Un groupe de volume appelé //« mvg »//, contenant le volume physique précédent | + | * Un groupe de volume appelé //« mvg »//, contenant le volume physique précédent |
* Et deux volumes logiques, le 1er appelé //« racine »// de 10Go et le 2nd appelé //« home »// de 68Go, | * Et deux volumes logiques, le 1er appelé //« racine »// de 10Go et le 2nd appelé //« home »// de 68Go, | ||
Ligne 113: | Ligne 110: | ||
- | ==== d) Finalisation ==== | + | ==== Finalisation ==== |
Il ne nous reste plus qu'à paramétrer le type de système de fichier "ext3" que l'on souhaite sur les partitions et les différents points de montages. A la fin cela doit donner quelque chose dans ce goût là: | Il ne nous reste plus qu'à paramétrer le type de système de fichier "ext3" que l'on souhaite sur les partitions et les différents points de montages. A la fin cela doit donner quelque chose dans ce goût là: | ||
Ligne 124: | Ligne 121: | ||
- | ===== 2.Modifications complémentaires ===== | + | ===== Modifications complémentaires ===== |
Votre système est maintenant installé, démarrez-le. Si vous voulez qu'il arrive à démarrer avec des lecteurs en panne il va falloir faire quelques modifications. | Votre système est maintenant installé, démarrez-le. Si vous voulez qu'il arrive à démarrer avec des lecteurs en panne il va falloir faire quelques modifications. | ||
Ligne 131: | Ligne 128: | ||
- | ==== a) Modification du fichier de configuration du KERNEL ==== | + | ==== Modification du fichier de configuration de mdadm ==== |
- | + | ||
- | <note important>Cette partie n'est plus utile sous **Ubuntu hardy heron 8.04**</note> | + | |
- | Dans le fichier **« /boot/config-2.6.22-14-generic »** | + | |
- | + | ||
- | CONFIG_BLK_DEV_MD=y; | + | |
- | CONFIG_MD_RAID1=y; | + | |
- | CONFIG_MD_RAID456=y; | + | |
- | CONFIG_MD_FAULTY=y; | + | |
- | + | ||
- | __Remarque :__dans mon fichier **CONFIG_MD=y** était déjà sur yes | + | |
- | + | ||
- | FIXME si quelqu'un peut expliquer le rôle de ce fichier | + | |
- | + | ||
- | <note important> **bug possible** sur mon PC j'ai réussi à booter 10 fois puis la 11ème je suis tombé sur la fameuse invite de commande **(Initramfs):** chose un peu incompréhensible. Pour régler le problème j'ai du faire : </note> | + | |
- | + | ||
- | sudo update-initramfs -k all -u | + | |
- | + | ||
- | **A mon avis cette commande peut être faite préventivement**, après les modifications précédentes. | + | |
- | Pour plus d'info [[http://ubuntuforums.org/showpost.php?p=2236181&postcount=5|lire ce post]] ou [[https://bugs.launchpad.net/ubuntu/+source/mdadm/+bug/112923|celui-ci]] | + | |
- | + | ||
- | + | ||
- | ==== b) Modification du fichier de configuration de mdadm ==== | + | |
Il ne faut pas oublier de renseigner le fichier de configuration **/etc/mdadm/mdadm.conf** sur les différents RAID existant, voici le mien | Il ne faut pas oublier de renseigner le fichier de configuration **/etc/mdadm/mdadm.conf** sur les différents RAID existant, voici le mien | ||
- | # definitions of existing MD arrays | + | # definitions of existing MD arrays |
- | DEVICE /dev/sda2 /dev/sdb2 /dev/sdc2 /dev/sda3 /dev/sdb3 /dev/sdc3 | + | DEVICE /dev/sda2 /dev/sdb2 /dev/sdc2 /dev/sda3 /dev/sdb3 /dev/sdc3 |
- | ARRAY /dev/md0 devices=/dev/sda2,/dev/sdb2,/dev/sdc2 level=raid1 num-devices=3 UUID=80ebfd5f:2385410e:988bcc54:d4011508 | + | ARRAY /dev/md0 devices=/dev/sda2,/dev/sdb2,/dev/sdc2 level=raid1 num-devices=3 UUID=80ebfd5f:2385410e:988bcc54:d4011508 |
- | ARRAY /dev/md1 devices=/dev/sda3,/dev/sdb3,/dev/sdc3 level=raid5 num-devices=3 UUID=74c43784:06f6be21:90a22a85:a8e3aa21 | + | ARRAY /dev/md1 devices=/dev/sda3,/dev/sdb3,/dev/sdc3 level=raid5 num-devices=3 UUID=74c43784:06f6be21:90a22a85:a8e3aa21 |
On peut commencer à remplir automatiquement le fichier en utilisant la commande suivante: | On peut commencer à remplir automatiquement le fichier en utilisant la commande suivante: | ||
Ligne 165: | Ligne 140: | ||
#mdadm --examine --scan >> /etc/mdadm/mdadm.conf | #mdadm --examine --scan >> /etc/mdadm/mdadm.conf | ||
- | ==== c) Installation de Grub sur les autres disques ==== | + | ==== Installation de Grub sur les autres disques ==== |
il suffit de taper les commandes: | il suffit de taper les commandes: | ||
#grub-install hd1 | #grub-install hd1 | ||
#grub-install hd2 | #grub-install hd2 | ||
- | Ces commandes n'ont pas été satisfaisante pour moi. Lorsque je débranchais le premier disque, au démarrage de l'ordinateur le GRUB m'envoyait l'erreur suivante : | + | ==== Modification du fichier de configuration de GRUB ==== |
- | #GRUB Hard Disk Error | + | |
- | J'ai résolu ce problème en suivant ce [[http://grub.enbug.org/MirroringRAID|tuto]] | + | |
- | + | ||
- | ==== d) Modification du fichier de configuration de GRUB ==== | + | |
Par défaut GRUB se sert du premier disque pour démarrer, dans certaines conditions il peut être utile de démarrer à partir des autres disques. Nous allons donc modifier le fichier de configuration **/boot/grub/menu.lst**. et y ajouter deux autres menus. | Par défaut GRUB se sert du premier disque pour démarrer, dans certaines conditions il peut être utile de démarrer à partir des autres disques. Nous allons donc modifier le fichier de configuration **/boot/grub/menu.lst**. et y ajouter deux autres menus. | ||
Ligne 180: | Ligne 151: | ||
fallback 1 2 | fallback 1 2 | ||
- | title Ubuntu 7.10, kernel 2.6.22-14-generic (disque 0) | + | title Ubuntu 7.10, kernel 2.6.22-14-generic (disque 0) |
- | root (hd0,1) | + | root (hd0,1) |
- | kernel /vmlinuz-2.6.22-14-generic root=/dev/mapper/mvg-racine ro quiet splash | + | kernel /vmlinuz-2.6.22-14-generic root=/dev/mapper/mvg-racine ro quiet splash |
- | initrd /initrd.img-2.6.22-14-generic | + | initrd /initrd.img-2.6.22-14-generic |
- | quiet | + | quiet |
- | title Ubuntu 7.10, kernel 2.6.22-14-generic (disque 1) | + | title Ubuntu 7.10, kernel 2.6.22-14-generic (disque 1) |
- | root (hd1,1) | + | root (hd1,1) |
- | kernel /vmlinuz-2.6.22-14-generic root=/dev/mapper/mvg-racine ro quiet splash | + | kernel /vmlinuz-2.6.22-14-generic root=/dev/mapper/mvg-racine ro quiet splash |
- | initrd /initrd.img-2.6.22-14-generic | + | initrd /initrd.img-2.6.22-14-generic |
- | quiet | + | quiet |
- | title Ubuntu 7.10, kernel 2.6.22-14-generic (disque 2) | + | title Ubuntu 7.10, kernel 2.6.22-14-generic (disque 2) |
- | root (hd2,1) | + | root (hd2,1) |
- | kernel /vmlinuz-2.6.22-14-generic root=/dev/mapper/mvg-racine ro quiet splash | + | kernel /vmlinuz-2.6.22-14-generic root=/dev/mapper/mvg-racine ro quiet splash |
- | initrd /initrd.img-2.6.22-14-generic | + | initrd /initrd.img-2.6.22-14-generic |
- | quiet | + | quiet |
- | title Ubuntu 7.10, kernel 2.6.22-14-generic (recovery mode) | + | title Ubuntu 7.10, kernel 2.6.22-14-generic (recovery mode) |
- | root (hd0,1) | + | root (hd0,1) |
- | kernel /vmlinuz-2.6.22-14-generic root=/dev/mapper/mvg-racine ro single | + | kernel /vmlinuz-2.6.22-14-generic root=/dev/mapper/mvg-racine ro single |
- | initrd /initrd.img-2.6.22-14-generic | + | initrd /initrd.img-2.6.22-14-generic |
- | title Ubuntu 7.10, memtest86+ | + | title Ubuntu 7.10, memtest86+ |
- | root (hd0,1) | + | root (hd0,1) |
- | kernel /memtest86+.bin | + | kernel /memtest86+.bin |
- | quiet | + | quiet |
- | ==== e) Désinstaller dmraid si nécessaire ==== | + | ==== Désinstaller dmraid si nécessaire ==== |
Des problèmes peuvent surgir quand dmraid est installé en même temps que mdadm, voir [[http://ubuntuforums.org/showthread.php?t=1149669&highlight=%2Fdev%2Fblock%2F252%3A1 | ce poste]]. | Des problèmes peuvent surgir quand dmraid est installé en même temps que mdadm, voir [[http://ubuntuforums.org/showthread.php?t=1149669&highlight=%2Fdev%2Fblock%2F252%3A1 | ce poste]]. | ||
Ligne 220: | Ligne 191: | ||
</code> | </code> | ||
- | ===== 3.Simulation de pannes ===== | + | ===== Simulation de pannes ===== |
- | ===ATTENTION :=== | + | ===ATTENTION :=== |
- | la reconstruction du RAID 5 peut être longue. | + | La reconstruction du RAID 5 peut être longue. |
- | ==== a) 1er test ==== | + | ==== 1er test ==== |
Mettre en panne le sda2 | Mettre en panne le sda2 | ||
#mdadm --fail /dev/md0 /dev/sda2 | #mdadm --fail /dev/md0 /dev/sda2 | ||
- | en avoir la confirmation | + | en avoir la confirmation |
#cat /proc/mdstat | #cat /proc/mdstat | ||
le supprimer du tableau RAID | le supprimer du tableau RAID | ||
Ligne 238: | Ligne 209: | ||
- | ==== b) 2ème test ==== | + | ==== 2ème test ==== |
débrancher le //sdb// et redémarrer, là le PC bloque, au bout de //10 minutes// vous tombez sur une invite de commande **( Initramfs )**. Le système n'est pas arrivé à assembler les périphériques RAID, il vous suffit alors de taper : | débrancher le //sdb// et redémarrer, là le PC bloque, au bout de //10 minutes// vous tombez sur une invite de commande **( Initramfs )**. Le système n'est pas arrivé à assembler les périphériques RAID, il vous suffit alors de taper : | ||
#/sbin/mdadm --assemble --scan | #/sbin/mdadm --assemble --scan | ||
Ligne 247: | Ligne 218: | ||
vous vous apercevez que //sdb2 et sdb3// sont défectueux, votre système marche bien sur 2 disques. Arrêter le système rebrancher le disque et démarrer le système. //( il vous faudra peu être assembler à nouveau les disques)// | vous vous apercevez que //sdb2 et sdb3// sont défectueux, votre système marche bien sur 2 disques. Arrêter le système rebrancher le disque et démarrer le système. //( il vous faudra peu être assembler à nouveau les disques)// | ||
- | Vous pouvez constater que //sdb2 et sdb3// sont encore défectueux il faut donc les ajouter à nouveau aux deux tableaux RAID. (quelquefois il faut faire un //--remove// avant le //--add//) | + | Vous pouvez constater que //sdb2 et sdb3// sont encore défectueux il faut donc les ajouter à nouveau aux deux tableaux RAID. (quelquefois il faut faire un //--remove// avant le //--add//) |
#mdadm --add /dev/md0 /dev/sdb2 | #mdadm --add /dev/md0 /dev/sdb2 | ||
#mdadm --add /dev/md1 /dev/sdb3 | #mdadm --add /dev/md1 /dev/sdb3 | ||
Ligne 258: | Ligne 229: | ||
- | ==== c) 3ème test ==== | + | ==== 3ème test ==== |
débrancher le sda et redémarrer, là normalement vous tombez sur le shell GRUB, pour lancer le menu de GRUB taper: | débrancher le sda et redémarrer, là normalement vous tombez sur le shell GRUB, pour lancer le menu de GRUB taper: | ||
configfile (hd0,1)/grub/menu.lst | configfile (hd0,1)/grub/menu.lst | ||
Ligne 265: | Ligne 236: | ||
__Remarque :__ Le clavier de GRUB est configuré en qwerty a vous de retrouver les bonnes touches. | __Remarque :__ Le clavier de GRUB est configuré en qwerty a vous de retrouver les bonnes touches. | ||
- | ==== d) Conclusion ==== | + | ==== Conclusion ==== |
On est donc arrivé à démarrer le système sur seulement 2 disques ce qui permet de changer le 3ème. une fois le nouveau disque inséré il faut le partitionner à l'aide de //cfdisk// par exemple et ajouter chaque partitions dans le bon tableau RAID. | On est donc arrivé à démarrer le système sur seulement 2 disques ce qui permet de changer le 3ème. une fois le nouveau disque inséré il faut le partitionner à l'aide de //cfdisk// par exemple et ajouter chaque partitions dans le bon tableau RAID. | ||
Ligne 287: | Ligne 258: | ||
et le tour est joué. | et le tour est joué. | ||
- | ===== 5.Listes de commandes utiles ===== | + | ===== Listes de commandes utiles ===== |
Après avoir beaucoup perdu de temps en cherchant des informations à droite et à gauche qui me permettent de récupérer mon système sachant que j'avais installé du RAID ou du LVM ou les deux j'ai donc fait une petite compilation des commandes les plus utiles. Il faut aussi savoir que **mdadm** et **LVM** sont dans **/sbin**. et vous y avez accès même si vous tombez sur une invite de commande du style **( Initramfs )**. | Après avoir beaucoup perdu de temps en cherchant des informations à droite et à gauche qui me permettent de récupérer mon système sachant que j'avais installé du RAID ou du LVM ou les deux j'ai donc fait une petite compilation des commandes les plus utiles. Il faut aussi savoir que **mdadm** et **LVM** sont dans **/sbin**. et vous y avez accès même si vous tombez sur une invite de commande du style **( Initramfs )**. | ||
une fois vos périphérique RAID et vos partitions LVM retrouvées à la main faites un **« exit »** pour continuer le démarrage. | une fois vos périphérique RAID et vos partitions LVM retrouvées à la main faites un **« exit »** pour continuer le démarrage. | ||
- | ==== a) Commandes RAID ==== | + | ==== Commandes RAID ==== |
Renseignement sur les périphériques RAID | Renseignement sur les périphériques RAID | ||
#mdadm --detail /dev/md0 | #mdadm --detail /dev/md0 | ||
Ligne 306: | Ligne 277: | ||
#mdadm --remove /dev/md0 /dev/sdb2 | #mdadm --remove /dev/md0 /dev/sdb2 | ||
Pour ajouter un nouveau disque dans le tableau RAID | Pour ajouter un nouveau disque dans le tableau RAID | ||
- | #mdadm --add /dev/md0 dev/sdb2 | + | #mdadm --add /dev/md0 dev/sdb2 |
Recréer les périphériques multidisque si ils ne sont pas présent dans répertoire /dev | Recréer les périphériques multidisque si ils ne sont pas présent dans répertoire /dev | ||
Ligne 322: | Ligne 293: | ||
- | ==== b) Commande LVM ==== | + | ==== Commande LVM ==== |
Recréer les périphériques node dans /dev/mapper | Recréer les périphériques node dans /dev/mapper | ||
- | #vgmknodes | + | #vgmknodes |
Activer des Groupes Volumes qui existent déjà. | Activer des Groupes Volumes qui existent déjà. | ||
#vgchange -a y | #vgchange -a y | ||
Ligne 334: | Ligne 305: | ||
- | ===== 6.Conclusion ===== | + | ===== Conclusion ===== |
Dans ce document j'ai donc essayé d'avoir une approche très pratique du problème en compilant différentes informations sur mdadm, LVM2, GRUB et l'ALTERNATE-CD de UBUNTU. | Dans ce document j'ai donc essayé d'avoir une approche très pratique du problème en compilant différentes informations sur mdadm, LVM2, GRUB et l'ALTERNATE-CD de UBUNTU. |