Les migrations de la rentrée

On peut lire sur GCU que nous avons passé une partie du week end, après un bafr bien arrosé, à mettre à jour Zone0.GCU-Squad.org, machine qui héberge le site, et moult services du groupe.

Il faut l’avouer, cette mise à jour fut une promenade de santé en comparaison de sa cauchemardesque installation voila deux ans. Je me propose tout de même de vous raconter les quelques manipulations qui furent nécessaires à sa migration vers 2009.

Rappelez-vous, Zone0 c’était :

  • Un quad-core VT-capable
  • Une debian etch
  • Un noyau Linux 2.6.18 patché en raison d’un bug du driver du controlleur RAID 3ware
  • En conséquence du point précedent, un Xen 3.1 roulé sous les aisselles en provenance de Xen.org

Contre toute attente, un simple :%s/etch/lenny/g suivi d’un apt-get update && apt-get dist-upgrade a rectifié la situation bancale d’un Xen et d’un noyau non-issus de debian, ce qui rendait tout upgrade très périlleux.

Il est à noter qu’en raison du passage de lvm1 à lvm2, il a été nécessaire de se refendre d’un apt-get dist-upgrade, alors seulement l’installation d’un nouveau noyau utilisera les nouveaux hooks de lvm2 pour générer un initrd correct. Le noyau installé est en l’occurrence linux-image-2.6.26-2-xen-amd64.

Un reboot plus tard, le dom0 2.6.26 était controllé par Xen 3.2.

Pour être tout à fait honnête, nous avons planché quelques minutes sur un problème lié à l’ancienne installation. En effet, les domUs hvm ne démarraient pas, et nous constations que qemu-dm, l’executable en charge de virtualiser les péripheriques, était en état defunct. La raison était en réalité simplissime, les configurations de nos domUs faisaient appel aux fichiers /usr/lib/xen/boot/hvmloader et /usr/lib/xen/bin/qemu-dm, or c’étaient les anciens binaires qui se trouvaient là, ceux installés par la version 3.2 issue du package debian se trouvent dans /usr/lib/xen-default (qui est un lien logique vers /usr/lib/xen-3.2-1). Rien de bien méchant.

Une fois rebootée, c’en était fini pour notre session au datacenter, et il me revenait de mettre à jour les deux domUs NetBSD. Double (quadruple donc) mise à jour, puisqu’en plus de migrer les deux systèmes vers NetBSD 5.0.1, en raison de l’incroyable gain de performance que j’avais constaté entre le mode HVM et Paravirtualisé de Xen, j’avais prévu de profiter de cet upgrade massif pour basculer les domUs NetBSD en mode paravirtualisé.

Là encore, rien de terrifiant, dans la configuration des domUs, j’ai simplement remplacé :


kernel = ‘/usr/lib/xen-3.2-1/boot/hvmloader’
builder = ‘hvm’
device_model = ‘/usr/lib/xen-3.2-1/bin/qemu-dm’

par


kernel = ‘/home/xen/NetBSD/5.0.1/netbsd-XEN3PAE_DOMU.gz’

Après avoir booté les domUs sur ce kernel domU modifié, il n’a s’agit que d’une procédure d’upgrade des plus classiques, suivie de la mise à jour des packages à l’aide de pkg_comp (recréé pour correspondre au système réel) puis pkg_chk.

Les machines, virtuelles et réelles, semblent bien se comporter, et je suis désormais complètement convaincu par la supériorité du mode paravirtualisé, les temps de réponse sont simplement sidérants.
[tags]GCU,Zone0,Xen,Debian,NetBSD[/tags]