Actualités | Audio/Vidéo | Evènements | DIY | Domotique | Informatique | Maison | Mobile | Sécurité

Virtualisation domestique – Tutoriel Windows (Suite) – Partie 15

Envoyer Imprimer PDF
Note des utilisateurs: / 12
MauvaisTrès bien 

Après avoir vu précédemment comment créer des machines virtuelles Windows XP, 7 et 8.1 sans les pilotes de périphériques virtuels VirtIO, je vais vous expliquer comment modifier une installation de Windows déjà virtualisée pour les intégrer.

 

Windows 7, 8.1 et 10

Vous pouvez optimiser une installation de Windows déjà virtualisée avec les pilotes de périphériques virtuels VirtIO en activant l'agent Qemu (menu Options de la VM) et en modifiant 3 éléments de la configuration : le disque virtuel, la mémoire et la carte réseau.

Le gain de performance est surtout sensible pour le disque. Pour la carte réseau, le débit ne va pas vraiment changer mais le processeur de l'hôte sera un peu moins sollicité car il n'aura plus à émuler une carte Intel E1000 ou Realtek RTL8139.

Pour la mémoire dynamique, ce n'est pas vraiment de l'optimisation. Le ballooning est une technique de gestion de la mémoire qui permet à l'hôte de récupérer de la mémoire inutilisée par les VM. Il n'apportera qu'un confort de gestion du serveur mais n'accélérera en aucun cas la VM. Au contraire le bollooning va consommer quelques ressources supplémentaires sur l'hôte. Quant à l'agent Qemu, il va permettre un dialogue entre l'hôte et la VM principalement pour l'extinction et les sauvegardes Snapshot.

Pour résumer, les drivers VirtIO sont surtout intéressants pour le disque et, même si je vais vous montrer les 4 éléments pratiquement en même temps, ils sont indépendants les uns des autres et vous n'êtes pas obligé de tous les modifier.

Nous allons commencer par Windows 8.1. La procédure étant la même pour Windows 7 et 10 (si vous n'avez pas fait l'installation directement avec les drivers VirtIO), je ne détaillerai que Windows 8.1 et Windows XP.

Premièrement, clonez votre machine virtuelle en faisant un clic droit sur son nom dans l'arborescence de gauche de Proxmox, ou sauvegardez-là.


Ensuite, dans la partie Options de la VM, activez l'Agent Qemu (avant dernière ligne).
Puis dans la partie Matériel de la VM, éditez la mémoire et renseignez une plage dynamique de 1536 à 3072 Mo.
Modifiez le lecteur CD et rattachez le fichier virtio-win-0.1.141.iso des drivers VirtIO (voir l'installation de Windows 10 dans la partie 7.2 du tutoriel).


Enfin éditez la carte réseau en double-cliquant dessus et choisissez le modèle VirtIO (paravirtualisé).


Pour le disque virtuel, c'est un peu différent. Si vous modifiez directement le contrôleur SATA en VirtIO Block, Windows ne reconnaitra plus son disque de démarrage. Vous devez installer les drivers VirtIO Storage dans Windows avant de modifier le type de contrôleur.
Pour cela, le plus simple est de créer un nouveau disque virtuel, de type VirtIO Block, avec l'identifiant 1, et de la taille que vous voulez, pour forcer Windows à installer les pilotes. Ce disque sera supprimé après la migration du disque principal.


Vous pouvez maintenant démarrer la machine virtuelle. Une fois sur le bureau Windows, faites un clic droit sur l'icône de menu en bas à gauche et lancez le Gestionnaire de périphériques.

En tête de liste vous allez voir 4 périphériques non reconnus : un contrôleur Ethernet (réseau), un contrôleur PCI de communications simplifiées (Agent Qemu), un contrôleur SCSI (disque VirtIO) et un périphérique PCI (mémoire dynamique Balloon).

 

Faites un clic droit sur l'un des périphériques non reconnu et cliquez sur Mettre à jour le pilote.
Cliquez ensuite sur Rechercher un pilote sur mon ordinateur.


Tapez le chemin d'accès au lecteur CD contenant les drivers VirtIO ou cliquez sur Parcourir.


Windows va rechercher sur le CD le pilote nécessaire au périphérique que vous avez sélectionné et va vous demander une confirmation d'installation, les pilotes VirtIO Red Hat n'étant pas signés WHQL.


Une dernière fenêtre d'information va apparaître à la fin de l'installation.
Il ne vous reste plus qu'à renouveler la procédure pour chacun des périphériques non installés.

 

Pour l'agent Qemu et la gestion de la mémoire dynamique, l'installation des pilotes VirtIO ne suffit pas. Il reste encore quelques manipulations à effectuer. Ouvrez l'explorateur de fichiers de Windows ou le poste de travail et retournez sur le CD des drivers VirtIO. Accédez au dossier guest-agent et double-cliquez sur le fichier qemu-ga-x64 pour l'exécuter.

 

Une nouvelle fenêtre va s'ouvrir vous demandant de confirmer l'installation.



Une fois l'agent Qemu installé, il reste le gestionnaire de mémoire dynamique à installer. Retournez sur le CD des drivers VirtIO et copiez le dossier \Balloon\w8.1\amd64 dans le dossier Programmes puis renommez-le en Balloon.

 

Et là les plus assidus sont en train de se dire "Tiens il ne faut pas copier le dossier dans C:\Windows\System32 comme dans le tutoriel d'installation de Windows 10 ?" Eh bien, si vous y tenez, ça ne change pas grand-chose. Je choisis le dossier Programmes (plus exactement Program Files) pour vous montrer au passage une petite astuce sur l'interpréteur de commandes Windows.

Faites un clic droit sur l'icône de menu en bas à gauche du bureau Windows et cliquez sur Invite de commandes (admin).

Tapez cd\ pour revenir à la racine C:\ et … là ça se gâte. Pour pouvoir accéder au dossier Program Files il faut normalement taper un espace entre Program et Files. Or l'interpréteur de commandes ne reconnait pas cette syntaxe. Vous devez taper cd program puis appuyer sur la touche Tabulation de votre clavier. "Program Files" va apparaître et il ne vous reste plus qu'à appuyer sur la touche Entrée pour valider la proposition de l'interpréteur de commandes.


Tapez ensuite cd balloon puis .\blnsvr.exe –i pour installer et exécuter le service de gestion de la mémoire dynamique.


Arrêtez Windows pour éteindre la machine virtuelle et retournez dans la partie Matériel de la VM. Détachez le 2ème disque virtuel (virtio1) créé temporairement et supprimez-le. Puis détachez le disque principal (sata0) mais ne le supprimez pas (c'est évident mais je préfère quand même le dire).


Double-cliquez sur ce disque pour l'éditer et changez son type en VirtIO Block identifiant 0. Rendez-vous ensuite dans la partie Options de la VM pour modifier le périphérique de boot n°1 de sata0 à virtio0. Vous pouvez ensuite redémarrer la machine virtuelle. Windows va détecter le nouveau format du disque tout seul.


Windows XP

Le principe est le même pour Windows XP que précédemment avec Windows 8.1. Commencez par cloner votre machine virtuelle en faisant un clic droit sur son nom dans l'arborescence de gauche de Proxmox, ou sauvegardez-là.

Ensuite, dans la partie Options de la VM, activez l'Agent Qemu puis dans la partie Matériel éditez la mémoire et renseignez une plage dynamique de 384 à 1024 Mo.

Modifiez le lecteur CD et rattachez le fichier virtio-win-0.1.141.iso des drivers VirtIO. Editez la carte réseau en double-cliquant dessus et choisissez le modèle VirtIO (paravirtualisé).

Enfin créez un nouveau disque virtuel, de type VirtIO Block, avec l'identifiant 1, et de la taille que vous voulez, pour forcer Windows à installer les pilotes VirtIO SCSI Storage. Ce disque sera supprimé après la migration du disque principal.

Vous pouvez maintenant démarrer la machine virtuelle. Contrairement aux versions plus récentes de Windows, XP va normalement détecter automatiquement les nouveaux périphériques et vous proposer leur installation, en commençant par vouloir se connecter à Windows Update. Répondez Non, pas pour cette fois à cette question et cliquez sur Suivant.

L'assistant va vous demander ensuite où sont les drivers du périphérique détecté. Laissez-le chercher automatiquement (après tout, c'est son boulot). Il détectera tout seul le lecteur CD contenant les drivers VirtIO.

Une fois le pilote du périphérique localisé, l'assistant va vous demander une confirmation pour son installation.

Voilà, le premier périphérique est installé. Avouez que c'est quand même plus simple que sur les versions plus récentes de Windows. Il ne vous reste plus qu'à poursuivre avec les autres périphériques que l'assistant va détecter.

A noter que dans le cas de la carte réseau, la mise à jour du pilote va remplacer la configuration de l'adresse IP que vous aviez défini à l'installation (IP de la passerelle et des DNS non renseigné). La configuration réseau va repasser en DHCP complète et Windows XP aura accès à Internet.

Rendez-vous ensuite dans le gestionnaire de périphériques pour vérifier que l'Assistant matériel a bien fait son boulot.
Pour cela cliquez sur le bouton démarrer puis sur Panneau de configuration.

Cliquez ensuite sur Performances et maintenance puis sur Système.

Une fois dans la fenêtre Propriétés système, cliquez sur l'onglet Matériel et lancez le Gestionnaire de périphériques.

Chez moi, l'assistant a manqué le périphérique PCI Device correspondant à VirtIO Balloon Driver (le gestionnaire de mémoire dynamique).
Un clic droit sur le périphérique non reconnu pour Mettre à jour le pilote et le problème est réglé.

Il reste encore à installer l'agent Qemu. Rendez-vous sur le Poste de travail (bouton démarrer) et accédez au dossier Guest-agent du CD des drivers VirtIO.

Faites un double-clic sur le fichier qemu-ga-x86 pour installer la version 32 bits de l'agent Qemu.


Rendez-vous ensuite dans le dossier \Balloon\xp du CD pour copier le sous-dossier x86 sur C:\Program Files.

Renommez ensuite le dossier x86 en Balloon.

Pour installer et exécuter le service Balloon, la procédure est un peu différente des autres versions de Windows. Vous allez devoir récupérer devcon.exe, un utilitaire de Microsoft qui est présent dans l'archive support.cab, téléchargeable ici :
https://download.microsoft.com/download/6/e/4/6e481b67-54af-4340-a534-25de4229cfc6/support.cab

Une fois le fichier support.cab téléchargé, ouvrez-le par un double-clic, repérez le fichier devcon.exe, faites un clic  dessus pour l'extraire et placez-le dans le même dossier que les fichiers du service Balloon.

Cliquez ensuite sur le bouton démarrer de Windows et tapez cmd pour lancer l'invite de commandes.

Tapez cd\ pour revenir à la racine C:\, puis cd program et appuyez sur la touche Tabulation de votre clavier. "Program Files" va apparaître et il ne vous reste plus qu'à appuyer sur la touche Entrée pour valider la proposition de l'interpréteur de commandes.
Tapez ensuite cd balloon pour accéder au dossier contenant le service de gestion de la mémoire et l'utilitaire Devcon. C'est ici que la commande diffère légèrement par rapport aux autres versions de Windows. Pour installer le service Balloon, vous devez utiliser la commande Devcon suivante :

devcon install BALLOON.inf "PCI\VEN_1AF4&DEV_1002&SUBSYS_00051AF4&REV_00"

Une fois le service installé, arrêtez Windows pour éteindre la machine virtuelle et retournez dans la partie Matériel de la VM. Détachez le 2ème disque virtuel (virtio1) créé temporairement et supprimez-le. Puis détachez le disque principal (ide0) et double-cliquez dessus pour l'éditer et changez son type en VirtIO Block identifiant 0.

Rendez-vous ensuite dans la partie Options de la VM pour modifier le périphérique de boot n°1 de ide0 à virtio0. Vous pouvez ensuite redémarrer la machine virtuelle. Windows va détecter le nouveau format du disque et vous proposer d'installer le pilote Red Hat VirtIO SCSI Controller de la même façon que précédemment avec les autres périphériques virtuels.
Windows XP vous demandera après de redémarrer la machine virtuelle pour prendre en compte les modifications.

Je me suis "amusé" à vérifier le gain de performance des drivers VirtIO SCSI sous Windows XP. J'ai utilisé pour cela 2 utilitaires : CrystalDiskMark et HD-Tach. Voici les résultats avec le contrôleur IDE de la première installation et le contrôleur modifié en VirtIO Block. Les benchmarks ont été réalisés sur mon serveur de test Jetway NF9A-Q67 équipé d'un Pentium G2030 (2 cœurs à 3.0 Ghz), de 8 Go de RAM DDR3 et d'un SSD Samsung 830 de 120 Go. Toutes les autres machines virtuelles étaient éteintes.

Sur Windows XP, les drivers VirtIO doublent les débits en lecture et apportent un gain appréciable en écriture. On remarque également que l'occupation processeur de la machine virtuelle est divisée par 2.

Pour ces tests, le cache du disque virtuel n'était pas activé. En choisissant le mode writethrough qui optimise la lecture, le gain est encore plus significatif. En pratique, pour une utilisation courante de XP, l'augmentation de performances n'est pas si sensible que ça. Vous trouverez plus de détails sur les différents modes de cache disque sur le wiki de Proxmox : https://pve.proxmox.com/wiki/Performance_Tweaks

L'activation du cache Writethrough sous Proxmox a pour effet d'augmenter nettement l'utilisation processeur de la VM et plombe littéralement les performances en écriture.
Je n'ai pas testé les autres modes de cache mais ce n'est surement pas un hasard si, par défaut, l'option est désactivée dans Proxmox.

Sous Windows 8.1, les pilotes VirtIO apportent également un gain significatif en lecture et en écriture 4K mais pas en séquentiel.

A suivre

Dans la dernière partie de ce tutoriel consacré à Windows, nous verrons comment redimensionner un disque virtuel sous Proxmox et Windows et comment accéder à Windows depuis différents supports (PC, Smartphone, tablette).

NOUVEAU : Retrouvez nos articles en Vidéos sur YouTube

Mise à jour le Mardi, 10 Juillet 2018 22:20  

Ajouter un Commentaire


Code de sécurité
Rafraîchir

Recherche

Newsletter ?

Instagram

Publicité



Connexion