4 votes

La mise à jour de zfs-0.6.2-1.el6.x86_64 vers zfs-0.6.3-1.el6.x86_64 a rendu zpool illisible.

Après l'exécution # yum update zfs et redémarrer mon CentOS 6 ZFS on Linux ne peut plus voir ou interagir avec ses zpools.

# zpool status
no pools available
# zpool import
zpool: ../../lib/libzfs/libzfs_import.c:356: Assertion `nvlist_lookup_uint64(zhp->zpool_config, ZPOOL_CONFIG_POOL_GUID, &theguid) == 0' failed.
Aborted
# dmesg | grep -i spl 
SPL: Loaded module v0.6.2-1 
SPL: using hostid 0x43a4c8a0

Il s'agit d'un système canari, je ne m'inquiète donc pas de son contenu, mais j'ai d'autres machines que j'aimerais éventuellement mettre à niveau en toute sécurité. Qu'est-ce que j'ai fait de mal, et plus important encore, comment puis-je le faire correctement pour les systèmes importants ?

5voto

ewwhite Points 193555

Cette question a été soulevée lors d'une discussion sur le Liste de diffusion ZFS .

L'ABI du noyau a changé entre les versions 0.6.2 et 0.6.3 de telle sorte que les outils utilisateur 0.6.3 ne peuvent pas interagir avec les modules du noyau 0.6.2, ce qui est la configuration après la mise à jour vers la version 0.6.3. D'après de nombreux messages sur cette liste, la bonne approche est simplement de redémarrer.

Ce point est abordé dans le rapport de bogue ZFS : https://github.com/zfsonlinux/zfs/issues/2400#issuecomment-46118193

Je n'utilise ZFS que pour les partitions de données, j'ai donc désinstallé les paquets, je me suis débarrassé des références aux modules faibles et j'ai réinstallé ZFS.

# rpm -e `rpm -qa | egrep '(spl|zfs)'`
# cd /lib/modules/2.6.32-431.17.1.el6.x86_64/weak-updates/
# rm -fr spl* z*
# yum localinstall --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release$(rpm -E %dist).noarch.rpm
# yum install zfs

Editar : J'ai quand même dû redémarrer.

Editer :

L'application des deux solutions de contournement présentées a entraîné des problèmes lors de l'installation de ZFS. Il y a des problèmes avec le chargement des modules à cause d'un paramètre critique manquant ( zfs: Unknown parameter zfs_vdev_max_pending'`). Je considère que cette version n'est pas sûre pour une diffusion générale ou des mises à jour en aveugle sur des systèmes existants.

5voto

Michael Hampton Points 232226

Cela ressemble à... un bug. En fait, c'est un bug . Le userland ZFS est mis à jour, mais les modules du noyau ne sont pas mis à jour par DKMS. Cette affirmation est due à la non-concordance des versions.

Vous pouvez contourner le problème par un processus donné dans un commentaire au bogue, en supprimant les anciens modules du noyau et en réinstallant le tout.

$ find /lib/modules/$(uname -r)/extra -name "splat.ko" -or -name "zcommon.ko" -or -name "zpios.ko" -or -name "spl.ko" -or -name "zavl.ko" -or -name "zfs.ko" -or -name "znvpair.ko" -or -name "zunicode.ko" | xargs rm -f
$ find /lib/modules/$(uname -r)/weak-updates -name "splat.ko" -or -name "zcommon.ko" -or -name "zpios.ko" -or -name "spl.ko" -or -name "zavl.ko" -or -name "zfs.ko" -or -name "znvpair.ko" -or -name "zunicode.ko" | xargs rm -f
$ yum reinstall zfs-release
$ yum reinstall $(rpm -qa | egrep "zfs|spl")

4voto

DjDCH Points 141

Si jamais vous vous retrouvez sur cette page et que vous courez Debian Il vous suffit de procéder comme suit pour résoudre le problème :

# apt-get update
# apt-get dist-upgrade
# reboot

Le problème est survenu parce qu'un simple update ne remplace pas les anciens fichiers de la bibliothèque par les nouveaux. C'est pourquoi un dist-upgrade est nécessaire. A partir de la apt-get manpage :

mise à niveau en plus de la fonction de mise à niveau, également dépendances changeantes avec les nouvelles versions de paquets ; apt-get dispose d'un système "intelligent" de intelligent", et il tentera de mettre à jour les paquets les plus importants au au détriment des moins importants si nécessaire. La commande dist-upgrade peut donc supprimer certains paquets.

Source : http://bernaerts.dyndns.org/linux/75-debian/312-debian-wheezy-zfsonlinux-zpool-lost

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X