Quand on installe une version serveur de Windows sur proxmox il n’y a pas de grande difficultés à créer un disque virtio et à charger les pilotes correspondant au moment de l’installation Windows.
Bizarrement l’installation d’un Windows classique, entendez poste de travail, n’a pas le même comportement.
Au moment de charger le driver virtio pour le disque dur vous vous retrouver avec un message.
« Le driver n’est pas signé » à croire que sous Windows serveur ce n’est pas un problème ?!
On va donc voir comment gérer cette incohérence et l’astuce qui permet de ne pas se priver de la para-virtualisation sur une machine virtuelle Windows 7.
La procédure est la même avec un Windows 8 8.1 ou 10.
En haut à droite on va sur « Create VM » (oui moi je préfère rester en anglais comme les docs officiels)
On va chercher le cd d’installation au format .iso que l’on a au préalable chargé sur le serveur.
Ici il est sur « local » mais il peut être sur un partage NFS ou ailleurs.
(Vous pouvez télécharger le .iso sur le site de microsoft avec votre numéro de série win7)
On ne vas pas tout de suite créer un disque virtio mais IDE. Prévoyez tout de suite la taille de disque que vous voulez allouer à votre machine de production.
J’installe le disque sur un volume ZFS je sélectionne donc « Write back » pour éviter une erreur au démarrage de la machine. Vous pouvez laisser les valeurs par défaut si vous n’êtes pas en ZFS.
Adaptez la suite suivant vos besoins. Les Sockets sont les processeurs physiques sur le serveur Proxmox. Si vous n’avez qu’un processeur laissez le socket à 1.
Ici on va créer la carte réseau en virtio on ne pourra pas l’installer à l’installation mais ce n’est pas bloquant.
Une fois confirmé on a fini le paramétrage de notre VM mais on ne va pas là lancer tout de suite.
Il nous faut d’abord créer un second lecteur CD où nous chargerons le cd virtuel virtio.iso
Ici j’utilise une ancienne version de l’iso mais vous pouvez télécharger la dernière version stable.
https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/
On va aussi ajouter un disque supplémentaire virtio qui sera supprimer ensuite. La taille n’est pas importante.
On peux cette fois lancer la machine et l’installer.
Un fois l’installation terminée on va aller dans le gestionnaire de périphériques pour installer les pilotes virtio pour la ram, le disque dur et la carte réseau.
Après un clique droit sur « Contrôleur Ethernet » on sélectionne mettre à jour le pilote et on va chercher le lecteur CD contenant le CD virtio.
On refait la même manipulation pour les périphériques restant et on éteins la VM.
C’est ici qu’est l’astuce.
Maintenant que Windows a bien voulut nous installer le pilote du disque dur on va transformer notre disque classique en virtio.
D’abord supprimer le disque virtio de 32Go qui ne nous servira plus en cliquant sur « Remove »
Le disque n’est pas à proprement parlé effacé mais plutôt détaché de la VM et passe en « Unused Disk »
On va donc le supprimer définitivement, toujours avec « remove »
Pour transformer le disque principal en virtio on est obligé de le détacher de la VM en cliquant sur « Remove »
Il est possible maintenant de l’éditer :
Il ne faut pas oublier de changer l’ordre de démarrage dans « Options » pour renseigner ce nouveau périphérique.
Vous pouvez maintenant lancer votre VM.
Avant de redémarrer suite à l’installation du disque on va en profiter pour ajouter le service qui nous permet d’avoir la Ram Dynamique.
Copiez et renommer en administrateur le dossier WIN7\AMD64 depuis le CD virtio dans « c:/Program files/Balloon »
Ouvrez CMD en administrateur pour vous rendre dans « c:/Program Files/Balloon »
Lancez la commande d’installation du service :
BLNSVR.exe -i
Un fois le service installé éteindre la VM.
Il ne reste plus qu’a définir le minimum et le maximum de ram dans hardware/memory
Voilà la VM est prête pour la production et vous remarquerez la différence de performances rien que le temps de démarrage et l’optimisation des ressources du serveur proxmox comparé à des VM qui ne sont pas installées avec virtio.
Sources :
https://pve.proxmox.com/wiki/Windows_7_guest_best_practices
https://pve.proxmox.com/wiki/Dynamic_Memory_Management