Comment installer correctement GRUB sur un RAID 1 logiciel?

21

Dans ma configuration, j'ai deux disques qui sont chacun formatés de la manière suivante:

(GPT)
1)  1MB   BIOS_BOOT
2)  300MB LINUX_RAID   
3)  *     LINUX_RAID   

Les partitions de démarrage sont mappées dans / dev / md0, les rootfs dans / dev / md1. md0 est formaté avec ext2, md1 avec XFS. (Je comprends que le formatage doit être fait sur les appareils md et non sur sd - veuillez me dire si c'est faux).

Comment configurer correctement GRUB pour que si un disque tombe en panne, l'autre démarre toujours? Et par extension, qu'un disque de remplacement inclura automatiquement GRUB aussi? Si cela est même possible, bien sûr.

vic
la source

Réponses:

16

Si les deux disques sont /dev/sdaet /dev/sdb, exécutez les deux grub-install /dev/sdaet grub-install /dev/sdb. Les deux disques pourront alors démarrer seuls.

Assurez-vous que votre configuration Grub ne ressemble pas à des disques durs comme (hd0), mais recherche à la place les UUID des systèmes de fichiers de démarrage et racine.

Je ne suis pas au courant de la prise en charge dans Grub pour déclarer deux disques comme étant dans une matrice RAID-1, ce qui grub-installécrirait automatiquement sur les deux. Cela signifie que vous devrez réexécuter grub-installsi vous remplacez un disque; c'est une chose à faire en plus d'ajouter de nouveaux membres aux matrices RAID.

Gilles 'SO- arrête d'être méchant'
la source
1
"Assurez-vous que votre configuration Grub ne code pas des disques durs comme (hd0), mais recherche à la place les UUID des systèmes de fichiers de démarrage et racine." Comment?
lifeofguenter
1
@lifeofguenter Withsearch
Gilles 'SO- stop being evil'
1
gnu.org/software/grub/manual/grub/grub.html#GNU_002fLinux ou regardez le fichier de votre distribution
Gilles 'SO- arrêtez d'être méchant'
1
Sur certains systèmes, c'est au grub2-installlieu de grub-install.
ndemou
1
Notez que le RAID est au niveau de la partition, pas au niveau du disque; s'il l'était, il n'y aurait aucun problème, car la mise en miroir refléterait également le MBR.
Marcos Dione
3

J'ai fait cela sur un bon nombre de serveurs au cours des dernières années et j'ai parfois trouvé des problèmes, généralement ce que je fais est d'exécuter ce qui suit

sudo grub-install /dev/sdb
sudo update-grub /dev/sdb

Les problèmes que j'ai rencontrés sont généralement affichés avec des messages d'erreur comme

update-grub … update-grub failed with no such disk …

Pour résoudre cela, j'ai couru

sudo mv /boot/grub/device.map /boot/grub/device.map.old 
sudo update-grub 

et cela semble avoir résolu le problème - comme test dans certains cas, j'ai supprimé /sdv/sdaet juste utilisé /dev/sdbpour démarrer, mais ce n'est pas idéal et probablement pas possible dans la plupart des environnements de production!

Tony Doyle
la source
0

Mon expérience d'installation de CentOS 5 et CentOS 6 est que pendant la phase d'installation, j'ai configuré le RAID-1 à ce moment-là - l'installation vous donne le choix de le faire. Ce qui s'est passé est le suivant: 1. Défini / dev / sda1 comme 1 Go comme partition RAID 2. Défini / dev / sdb1 comme 1 Go comme partition RAID 3. Périphérique RAID créé / dev / md0 composé de / dev / sda1 et / dev / sdb1 4. Création de la partition / boot à l'aide de / dev / md0 5. Création de partitions supplémentaires à l'aide des étapes 1 à 3. 6. Implémentation de LVM sur les partitions créées à l'étape 5 en suivant les instructions.

Après le démarrage initial du système, dans le fichier grub.conf, j'ai modifié l'entrée / dev / sda1 en / dev / md0. J'ai ensuite copié l'entrée de la ligne d'image de démarrage a (hd0,0) et ajouté un # au début et changé (hd0,0) en (hd1,0). En regardant les réponses ci-dessus montrant comment installer grub dans / dev / sdb, suivez-les. Modifiez le fstab pour que le point de montage de démarrage utilise / dev / md0 (en procédant ainsi, lorsque vous effectuez une mise à jour yum, il y a quelque chose de mis à jour sur la partition / boot, il sera écrit dans / dev / sda1 et / dev / sdb1 ). Si vous rencontrez une défaillance du disque dur / dev / sda, vous devrez démarrer en utilisant le secours et commenter la ligne (hd0,0) et décommenter la ligne (hd1,0). Votre système devrait être amorçable

Gene Poole
la source