<> = KVM = == Faire fonctionner ACPI (poweroff) dans une VM == * installer `acpid` * dans le cas d'une vieille Debian : * s'assurer de la présence du fichier `/proc/acpi/events` (noyau Linux ≤ 2.6) * s'assurer que `hal` ne vient pas s'accaparer l'accès à ce fichier avant `acpid` == Repasser de Linux 3.x à Linux 2.6 == Dans le cas d'une VM démarrée avec un noyau externe Linux 3.x, il peut être nécessaire de redescendre à une version 2.6, par exemple pour pouvoir faire fonctionner `acpid`. Si le système de la VM est sur une partition formatée en `ext4`, elle ne pourra être montée qu'à partir de Linux 2.6.28. Or Debian “etch” 4 propose soit Linux 2.6.18 (de base), 2.6.24 (etchnhalf) ou 2.6.26 (backports). Il faut alors transformer la partition en `ext3` avant de pouvoir démarrer sur l'un de ces noyaux. À faire du côté VM (sous `root`) : {{{#!highlight sh for m in virtio virtio_pci virtio_blk; do grep -q "^$m$" /etc/initramfs-tools/modules || echo $m >> /etc/initramfs-tools/modules; done apt-get install --reinstall linux-image-2.6-686-etchnhalf grub-pc poweroff }}} À faire du côté hôte KVM (sous `root`), après que la VM ait été éteinte : {{{#!highlight sh virsh domblklist my-vm # pour identifier le chemin du disque à manipuler mv -i my-vm-system.img my-vm-system-old.img # renommage pour bien identifier la version originale qemu-img convert -p -O raw my-vm-system-old.img my-vm-system-old.raw # conversion en image brute pour travailler dessus cp -ai my-vm-system-old.raw my-vm-system-new.raw # copie de l'original pour travailler dessus kpartx -va my-vm-system-old.raw # mappage des partitions de l'original via loop0pX kpartx -va my-vm-system-new.raw # mappage des partitions de la copie via loop1pX losetup # pour vérifier les références des loopX à utiliser (normalement loop0 et loop1) mkdir mnt-old ; mount /dev/mapper/loop0p1 mnt-old # montage de la partition de l'original mkfs -t ext3 /dev/mapper/loop1p1 # reformatage de la partition sur la copie mkdir mnt-new ; mount /dev/mapper/loop1p1 mnt-new # montage de la partition nouvellement formatée rsync -avxPHS --numeric-ids mnt-old/ mnt-new/ # transfert à l'identique de la partition originale en ext4 vers la copie en ext3 umount mnt-new ; kpartx -vd my-vm-system-new.raw # démontage et démappage des partitions de la copie umount mnt-old ; kpartx -vd my-vm-system-old.raw # démontage et démappage des partitions de l'original rm my-vm-system-old.raw # on peut maintenant supprimer l'image originale brute qemu-img convert -p -O qcow2 my-vm-system-new.raw my-vm-system.img # conversion au format optimisé QCOW2 virsh start my-vm # la VM démarre sur la nouvelle image avec partition ext3 }}}