web-dev-qa-db-fra.com

14.04 - Lecteur remplacé dans Software RAID 1 - Comment rendre amorçable?

J'ai un serveur Ubuntu 14.04 x64 avec 2 lecteurs de 500 Go (sda et sdb) dans un logiciel RAID 1.

Il me suffisait de remplacer sdb. L'ajouter à la matrice avec mdadm et la resynchronisation était un jeu d'enfant. Le problème que je rencontre est de s'assurer qu'il peut démarrer si sda échoue à l'avenir.

Remarque: toutes les commandes ci-dessous ont été exécutées en tant que root


1er essai

La plupart des procédures que j'ai trouvées m'ont dit de courir:

grub-install /dev/sda /dev/sdb

Quelle est la même commande que celle que j'ai vue exécuter l'installateur Ubuntu cent fois. Cependant, quand j'ai couru ça, j'ai eu:

grub-install: error: More than one install device?.

Cela a toujours fonctionné pour moi. Peut-être que quelque chose a changé avec 14.04?


2e essai

Certaines procédures recommandaient de configurer manuellement grub pour le nouveau disque dur. L'invite grub me fait peur, mais j'étais disposé à essayer ces étapes:

# grub --device-map=/boot/grub/device.map
grub> root (hd0,0)
grub> setup (hd0)
grub> root (hd1,0)
grub> setup (hd1)
grub> quit

Seul problème? Après la première commande, je reçois:

The program 'grub' is currently not installed. You can install it by typing:
apt-get install grub

???

Alors j'ai essayé d'installer grub.

# apt-get install grub
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Suggested packages:
  grub-legacy-doc
The following packages will be REMOVED:
  grub-gfxpayload-lists grub-pc grub2-common
The following NEW packages will be installed:
  grub
0 upgraded, 1 newly installed, 3 to remove and 0 not upgraded.
Need to get 913 kB of archives.
After this operation, 438 kB of additional disk space will be used.
Do you want to continue? [Y/n] 

Inutile de dire que j'ai répondu non.


3ème essai

En désespoir de cause, j'ai essayé quelque chose qui, à mon avis, était faux. Le serveur officiel guide recommande (au bas de la section "Maintenance du Raid"):

grub-install /dev/md0

C'était la sortie:

# grub-install /dev/md0
Installing for i386-pc platform.
grub-install: warning: Couldn't find physical volume `(null)'. Some modules may be missing from core image..
grub-install: warning: Couldn't find physical volume `(null)'. Some modules may be missing from core image..
grub-install: warning: File system `ext2' doesn't support embedding.
grub-install: warning: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and their use is discouraged..
grub-install: error: will not proceed with blocklists.

Effrayant.


On dirait que grub a été remplacé d'une manière ou d'une autre en 14.04, mais je ne trouve aucune information sur la façon dont les choses ont changé. J'ai un répertoire /boot/grub/, donc je sais qu'une certaine forme de grub est installée.


Mise à jour:

J'ai pu exécuter les commandes suivantes indépendamment:

grub-install /dev/sda
grub-install /dev/sdb

Cependant, je ne sais pas si sda démarrera après l'installation de grub sur sdb et vice versa. Est-ce que ça va?

4
Andrew Ensley

J'ai trouvé la réponse. Pour vous assurer que GRUB est correctement installé et reconnaît les deux lecteurs de chacun d'eux, exécutez:

Sudo dpkg-reconfigure grub-pc

Lorsque le système vous demande quels lecteurs installer, assurez-vous que tous les lecteurs de démarrage sont sélectionnés. Dans mon cas, c'était /dev/sda et /dev/sdb. Ne sélectionnez pas /dev/md0 ni aucun des autres périphériques md.

2
Andrew Ensley

Pour ce que ça vaut: je devais ajouter un script de délai à ma configuration de démarrage pour permettre à un ensemble RAID dégradé de disposer de suffisamment de temps pour être assemblé. Sinon, tout a bien fonctionné lors du démarrage avec 2 lecteurs en état de marche, mais dès que j'ai déconnecté un lecteur pour tester la redondance, je me suis retrouvé dans busybox (sans clavier pour faire bonne mesure)! Pour plus de détails, voir la fin de l'étape 6 dans Comment installer Ubuntu 14.04 64 bits avec une partition RAID 1 à double amorçage sur un système UEFI/GPT? (la partie consacrée à/usr/share/initramfs -tools/scripts/local-premount/sleepAwhile).

0
Niclas Börlin