La virtualisation permet d'avoir sur une machine physique plusieurs machines virtuelles en fonctionnement. Ainsi on peut diminuer les coûts de matériel et l'encombrement des datacenters pour faire tourner plusieurs services ayant besoin d'être seuls sur leur machine.
Pour ce faire diverses solutions existent, comme VMWare, Xen ou encore KVM que j'utilise fréquemment. Il a l'avantage d'être bien intégré au noyau Linux.
Dans le cas qui nous intéresse nous avons en fonctionnement une machine virtuelle sous windows server 2003 qui fait tourner un logiciel utile à certains utilisateurs. Ces derniers se plaignent de lenteurs inacceptables. Après une phase de tentative de modifications des paramètres de la machine virtuelle, le problème persiste. La solution que personne ne souhaite mettre en place s'impose: transformer la machine virtuelle en une machine physique. C'est ce que l'on appelle le V2P (Virtual to Physical), opération inverse du P2V très documenté.
Les machines virtuelles fonctionnent avec des fichiers images de disque. L'idée naturelle est de prendre cette image de disque et de la coller sur un vrai disque, de mettre ce vrai disque dans une machine et en voiture Simone!
La procédure s'effectue sur une machine linux avec kvm ou qemu d'installé, l'image disque de la machine virtuelle accessible (sur le disque local ou via un partage réseau), et le futur disque de la machine connecté directement.
On notera sdb le disque dur de la future machine.
qemu-img convert -O host_device diskImage /dev/sdb
On met le disque dans la nouvelle machine, on démarre et ... BSOD (Écran bleu de la mort)
Pas de panique, il faut juste réparer l'installation de windows. Il faut booter sur le CD de Windows 2003, sélectionner installer et non réparer (logique!), puis lors de la prochaine question faire réparer. Attendre 3 minutes, répondre à la question sur les paramètres régionaux et attendre 35/40 minutes.
Et là miracle, aux drivers à réinstaller près tout marche!
PS: La procédure ci-dessus nous a juste permis de dire que la virtualisation n'était pas en cause car l'appli était toujours aussi lente.