« OVH : serveur bloqué au prompt GRUB EFI » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 1 : | Ligne 1 : | ||
Cela peut se produire après une mise à jour, du fait de la manière dont est installé les distributions OVH EFI dans le cadre d'un raid software.<br> | Cela peut se produire après une mise à jour, du fait de la manière dont est installé les distributions OVH EFI dans le cadre d'un raid software.<br> | ||
OVH créé en effet une première partition sur chaque disque contenant une amorce EFI de grub. Néanmoins, quand vous avez un raid software, une seule de ces partitions est montée dans <code>/boot/efi</code> et est donc mise à jour. Les autres partitions EFI se retrouvent alors avec des informations obsolètes ne permettant potentiellement plus le démarrage du serveur. Ensuite, tout dépend de quel disque sera sollicité en premier lors du démarrage.<br> | OVH créé en effet une première partition sur chaque disque contenant une amorce EFI de grub. Néanmoins, quand vous avez un raid software, une seule de ces partitions est montée dans <code>/boot/efi</code> et est donc mise à jour. Les autres partitions EFI se retrouvent alors avec des informations obsolètes ne permettant potentiellement plus le démarrage du serveur. Ensuite, tout dépend de quel disque sera sollicité en premier lors du démarrage.<br> | ||
La solution triviale est de | La solution triviale est de resynchroniser les différentes partitions EFI de vos disques. Le problème suivant est que, en général à ce stade, vous ne saurez plus a ce stade quelle partition était montée lors de la mise à jour. Il faut donc remonter le système en rescue, mettre à jour l'une des partitions EFI, puis synchroniser les autres avec celle-ci.<br> | ||
Je prend ici l'exemple d'un serveur avec 4 disques. | Je prend ici l'exemple d'un serveur avec 4 disques. | ||
Ligne 27 : | Ligne 27 : | ||
update-grub | update-grub | ||
/usr/sbin/proxmox-boot-tool refresh | /usr/sbin/proxmox-boot-tool refresh | ||
</pre> | |||
Il faut ensuite synchroniser les 3 autres partitions. | |||
<pre> | |||
mkdir /mnt/sdb /mnt/sdc /mnt/sdd | |||
mount /dev/sdb1 /mnt/sdb | |||
mount /dev/sdc1 /mnt/sdc | |||
mount /mnt/sdd /mnt/sdd | |||
rsync -av /boot/efi/ /mnt/sdb/ | |||
rsync -av /boot/efi/ /mnt/sdc/ | |||
rsync -av /boot/efi/ /mnt/sdd/ | |||
umount /mnt/* | |||
</pre> | </pre> |
Version du 5 février 2022 à 20:04
Cela peut se produire après une mise à jour, du fait de la manière dont est installé les distributions OVH EFI dans le cadre d'un raid software.
OVH créé en effet une première partition sur chaque disque contenant une amorce EFI de grub. Néanmoins, quand vous avez un raid software, une seule de ces partitions est montée dans /boot/efi
et est donc mise à jour. Les autres partitions EFI se retrouvent alors avec des informations obsolètes ne permettant potentiellement plus le démarrage du serveur. Ensuite, tout dépend de quel disque sera sollicité en premier lors du démarrage.
La solution triviale est de resynchroniser les différentes partitions EFI de vos disques. Le problème suivant est que, en général à ce stade, vous ne saurez plus a ce stade quelle partition était montée lors de la mise à jour. Il faut donc remonter le système en rescue, mettre à jour l'une des partitions EFI, puis synchroniser les autres avec celle-ci.
Je prend ici l'exemple d'un serveur avec 4 disques.
Rebootez le serveur en rescue.
Arrêtez les raids actifs :
mdadm --stop /dev/mdX
Remontez le raid qui contient la partition root. Par défaut chez OVH pour un système EFI, c'est md2 qui relie les partitions sd[a-z]2.
mdadm --assemble /dev/md2 /dev/sda2 /dev/sdb2 /dev/sdc2 /dev/sdd2
Montez la partition root puis chrootez dedans :
mount /dev/md2 /mnt/ mount -o bind /proc /mnt/proc mount -o bind /dev /mnt/dev mount -o bind /dev/pts /mnt/dev/pts mount -o bind /sys /mnt/sys chroot /mnt
Nous allons ensuite mettre à jour l'une des partitions EFI.
mount /dev/sda1 /boot/efi/ update-grub /usr/sbin/proxmox-boot-tool refresh
Il faut ensuite synchroniser les 3 autres partitions.
mkdir /mnt/sdb /mnt/sdc /mnt/sdd mount /dev/sdb1 /mnt/sdb mount /dev/sdc1 /mnt/sdc mount /mnt/sdd /mnt/sdd rsync -av /boot/efi/ /mnt/sdb/ rsync -av /boot/efi/ /mnt/sdc/ rsync -av /boot/efi/ /mnt/sdd/ umount /mnt/*