Installer une vm Windows 7 avec les drivers virtio sur Proxmox 4.3

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 ?!
driversigne

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)

createvm

create

os

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)

iso

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.

sata

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.

cpu

ram

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.

networkvirtio

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

addcd

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/

virtiocd02

On va aussi ajouter un disque supplémentaire virtio qui sera supprimer ensuite. La taille n’est pas importante.

addhd

addhd2

 

On peux cette fois lancer la machine et l’installer.

install

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.

gp01

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.

virtiocd

gp03

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 »
remdiskio01

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 »

remdiskio02

Pour transformer le disque principal en virtio on est obligé de le détacher de la VM en cliquant sur « Remove »

remdiskio03

Il est possible maintenant de l’éditer :

remdiskio04

Il ne faut pas oublier de changer l’ordre de démarrage dans « Options » pour renseigner ce nouveau périphérique.

bootorder

Vous pouvez maintenant lancer votre VM.

postinstall01

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 »

cmd

Lancez la commande d’installation du service :
BLNSVR.exe -i

Un fois le service installé éteindre la VM.

cmd2

Il ne reste plus qu’a définir le minimum et le maximum de ram dans hardware/memory

cmd3

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

Installer un windows serveur 2012 (R2) sur Proxmox

Introduction de Proxmox

Proxmox est une distribution Gnu/linux bare metal dédié à la virtualisation très populaire, utilisé par OVH, Online et d’autre grand comptes. C’est l’alternative libre, qui n’a pas à rougir, aux solutions vmware, ESX et autres solution propriétaire de virtualisation.
Elle est disponible gratuitement au téléchargement sous forme d’un ISO et s’installe sans grande difficultés. Vous pouvez optimiser son installation voir mon article Options avancées à l’installation de proxmox
La société éditrice propose un support payant pour les entreprises désireuse d’avoir un suivit par les développeurs du projet.
Proxmox réunit deux solutions de virtualisation et para-virtualisation, la virtualisation avec KVM développé par Red Hat , qui permet d’installer des systèmes non-linux (Windows, Bsd…) et la para-virtualisation avec Openvz qui, si l’on installe un invité avec un noyau linux, permet de partager efficacement les appels processeur et ram de l’hôte.
Cette dernière solution, d’isolation, à l’avant age de ne faire perdre que 3% des performances en comparaison à une machine physique mais comme expliqué, elle ne s’applique qu’a des machines virtuelles (conteneurs) linux.

A noter que l’on peux faire des cluster avec des transferts « online » des vm et bien sur tout ce qu’offre la virtualisation, snapshot, backuppc, redimensionnement des disques etc…

Un autre avantage :  Il n’y a besoin que d’un navigateur et Java pour utiliser toutes les fonctionctionnalité du système.
Plus d’infos s sur le site http://www.proxmox.com/fr/proxmox-ve

L’interface : (source site officiel)

screen-startpage-with-cluster

Installation d’une machine virtuelle windows 2012 serveur essential  (R2 ou plus vieux)

Nous allons donc ici utiliser KVM et les pilotes vitrio pour améliorer les performances réseau et stockage.
Je vous laisse lire la documentation du virtio.

Préparation des médias d’installation

Il nous faut donc un ISO du CD d’installation Windows Server. Vous pouvez créer cet ISO avec un logiciel de gravure depuis votre CD ou si vous êtes pressé télécharger une version d’essai de 2012 :
http://technet.microsoft.com/fr-fr/evalcenter/jj659306.aspx

On télécharge les pilotes virtio aussi sous forme d’ISO, vous verrez pourquoi par la suite.
http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/

Sur l’interface de proxmox, accessible à https://IpDeProxmox:8006, sélectionnez le disque de l’hôte « Local » puis allez sur l’onglet « Content ».
En sélectionnant « Upload » envoyez vos deux ISO Windows2012.iso et  virtio-win-0.1-74.iso

001_winpx

En haut à droite cliquez « Create VM »

002_winpx

Sélectionnez le type d’OS à virtualiser.

003_winpx

Sélectionnez l’iso d’installation.

004_winpx

On va donc choisir un disque dur de type virtio d’une taille de 200Go au format qcow2 avec l’option write back. Ce disque virtual sera créé sur « local »005_winpx

« Sockets » correspond au nombres de processeurs que vous avez sur la carte mère de votre machine physique (Hôte) et que vous voulez utiliser dans cette VM.
« Cores » le nombre de Cœurs que vous voulez donnez à la VM.
Ici j’ai un processeur intel Xeon 4 cœurs avec 2,8Ghz par cœurs, je lui alloue la totalité des cœurs.

IMPORTANT :
Si vous installez une version R2 de windows 2012 serveur, il y a pour l’instant un bug de windows qui attend un paramètre du processeur kvm64 et qui le fait rebooter en boucle.
Il vous faudra donc sélectionner le type « qemu64 » à la place. Ceci n’as pas d’incidence sur les performances d’après ce que j’ai lu sur les forums.

006_winpx

 

Pour la Ram soit vous la fixer à un valeur, soit comme ici, vous mettez une fenêtre d’utilisation.
Le système demandera plus de ram uniquement quand il en aura besoin, ce qui peut être intéressant si vous avez plusieurs VM ponctuellement gourmandes en RAM (ex: sauvegardes)

007_winpx

Comme le disque dur, on va utiliser les drivers virtio pour le réseau et utiliser plus directement la carte réseau de l’hôte.

 

008_winpx

On vérifie et on confirme la création de la VM

009_winpx

L’installeur windows n’as pas les pilotes virtio, on va donc ajouter un lecteur CD contenant l’iso que l’on a uploader plus tôt.
Dans l’onglet « Hardware » , cliquez sur « Add » et ajouter un lecteur CD.

010_winpx

Sélectionnez la machine qui vient d’être créé et allez dans l’onglet option pour donnez plus de puissance processeur (windows serveur est un gourmand).
J’ai mis ici « CPU units » à 30000.

011_winpx

 

A cette étape il vous faudra avoir java d’installé pour avoir le retour graphique de la VM sous forme d’applet. La nouvelle politique de sécurité de Java impose d’ajouter l’adresse de votre serveur dans la liste des sites autorisés.
Lancez java depuis le menu démarrer, allez dans l’onglet sécurité et ajoutez l’adresse de votre serveur https://xxx.xxx.xxx.xxx:8006

De retour sur l’interface Proxmox, sélectionnez votre VM, appuyez sur « start « en haut à droite puis « console ».
Après avoir validé les avertissements vous devriez voir une fenêtre VNC vous permettant d’installer le système.

012_winpx

 

C’est ici que l’on va cliquer sur « charger un pilote » pour que windows puisse trouver le disque dur et la carte réseau.

013_winpx

 

On sélectionne le lecteur CD contenant virtio et on choisi ici windows8 et amd64.

014_winpx

Sélectionnez tous les pilotes et « suivant »

015_winpx

 

Le disque dur apparaît, « suivant »

016_winpx

Vous pouvez maintenant poursuivre votre installation et profiter de tous les avantages de la virtualisation.

Sources :
https://pve.proxmox.com/wiki/Windows_2012_guest_best_practices

Options avancées à l’installation de proxmox

proxmox

La distribution Proxmox s’installe très vite et c’est assez pratique, pourtant les paramètres par défaut ne sont, la plupart du temps, pas adaptés à la machine que l’on utilise.

Par exemple l’installation par défaut prend beaucoup trop de place pour la partition root ce qui est un problème sur un disque de petite taille, 100Go, car il prend environ 25Go et c’est encore plus du gaspillage sur des gros disques car c’est un pourcentage.

Autre problèmes le système de fichiers est ext3 et la taille de la swap est fixés.

Heureusement arrivé au prompt #, il est possible de passer certains paramètres.

# linux ext4 maxroot=15 swapsize=16

Avec cette ligne on passe le système de fichiers en EXT4, la racine / pour le système à 15Go et la taille de la swap à 16Go.