boot FreeBSD rescue shutdown ZFS
Lorsque le système ne parvient plus à démarrer sur la partition racine ZFS (ici zroot
) suite à plusieurs extinctions intempestives, des messages comme ceux-ci peuvent s'afficher au démarrage :
zio_read error: 5
zio_read error: 5
ZFS: i/o error - all block copies unavailable
ZFS: can't read MOS of pool zroot
...
Failed to find bootable partition
Press any key to interrupt reboot in 5 seconds
Il peut s'agir d'un simple problème logiciel, des erreurs d'écriture nécessitant une opération de maintenance manuelle.
Si tel est le cas, voici comment régler le problème.
Démarrer en console à l'aide d'une clef USB d'installation du système FreeBSD, en mode utilisateur unique, ou un système de secours (mode rescue), sous le compte root, puis tenter d'importer le pool en lecture seule :
zpool import -o readonly=on zroot
Si un message indique alors que la récupération (recovery) est possible, suivre les instructions.
En principe :
zpool import -F zroot
Puis :
zpool export zroot
Éteindre, enlever la clef USB et redémarrer le système sur la partition racine.
Une fois celui-ci chargé, effectuer ensuite un scrub :
zpool scrub zroot
1. si nécessaire, il est possible de vérifier que les partitions sont bien visibles et d'identifier celle(s) du système avec :
gpart show
2. Lorsque cela ne suffit pas, consultez aussi : https://www.ronny-mueller.com/2022/03/09/howto-solve-freebsd-zfs-out-of-temporary-buffer-space/
3. Dans le cas où le problème est matériel, il faudra réinstaller le système sur un nouveau disque : pour éviter ce type de désagrément, il est toujours préférable d'utiliser un pool de deux disques en raid 1.
Ce document a été publié le 2020-02-05 13:13:27. (Dernière mise à jour : 2024-06-10 00:50:25.)