Virtualisation avec Fedora 15 KVM et Spice (2/3)

 

Dans cette seconde partie, nous allons mettre en place nos machines virtuelles et y accéder via le client Spice.

Virt-install

On va commencer en utilisant virt-install vu que nous n'avons pas d'interface graphique sur notre serveur pour utiliser virt-manager (on le verra quand même par la suite).

 

Création des vms

# virt-install --name ubuntu1104 --ram 2048 --vcpus=2 --cpu host --disk /var/lib/libvirt/images/ubuntu1104.img,device=disk,bus=virtio,size=20,sparse=true,format=qcow2 --network=bridge:br0,model=virtio --cdrom=/mnt/isos/ubuntu-11.04-alternate-amd64.iso --graphics spice,port=5903,listen=192.168.37.1 --video qxl --channel spicevmc,target_type=virtio --soundhw ac97 --noautoconsole --os-type=linux

Je reviens plus tard sur les options de cette ligne d'installation.

Pour vérifier que les vms sont bien démarrées :

# virsh list
ID Nom                  État
----------------------------------
1 ub1104               en cours d'exécution
2 fed15                en cours d'exécution

 

Se connecter aux vms

Sur le poste client on va lancer le client spice de la façon suivante :

# spicec -h 192.168.37.1 -p 5901 &

Ce qui va nous donner quelquechose comme ceci avec deux installations en cours :

L'option -f permet de passer en plein écran le client spice

NB : une fois la souris 'piégée' dans la fenêtre du client spice, il faut taper sur MAJ + F12 pour pouvoir en sortir.

 

Les options de virt-install

Pendant que les deux distributions s'installent parlons de cette ligne d'installation :

# virt-install --name ubuntu1104 --ram 2048 --vcpus=2 --cpu host --disk  /var/lib/libvirt/images/ubuntu1104.img,device=disk,bus=virtio,size=20,sparse=true,format=qcow2  --network=bridge:br0,model=virtio  --cdrom=/mnt/isos/ubuntu-11.04-alternate-amd64.iso --graphics  spice,port=5903,listen=192.168.37.1 --video qxl --channel  spicevmc,target_type=virtio --soundhw ac97 --noautoconsole  --os-type=linux

 

--name : le nom de la vm

-- ram : la quantité de mémoire allouée à la vm

--vcpus : le nombre de cpus que 'verra' la vm

--cpu host : envoi les caractéristiques du cpu réel aux vms pour que celles-ci profitent de toutes les options modernes de ce cpu. Cela permet d'avoir de meilleures performances pour la vm, mais peux causer des problèmes pour les options de migration en live

--disk path,device=disk,bus=virtio,size=20,sparse=true,format=qcow2 : on retrouve ici toutes les informations pour le paramétrage du 'disque' de la machine virtuelle. On va utiliser ici un fichier stocké sur le disque du serveur mais nous pourrions très bien aussi utiliser une partition lvm, ou des exports iscsi ...
path : le chemin complet vers le fichier image
device : le type de périphérique (disk,cdrom,floppy)
bus : le type de bus (ide,scsi,usb,virtio,xen)
size : la taille du disque en Go
sparse : comme pas mal d'outils de virtualisation, on peut créer des fichiers de taille fixe égale à la taille maximale du disque virtuel ou alors créer un disque qui va s'agrandir au fur et à mesure de son utilisation. Attention cependant dans le cas d'un disque s'agrandissant à l'utilisation, l'accès aux données en dehors de la virtualisation deviens difficile.
format : le format du fichier (raw,qcom2,vmdk)

--network : on précise ici que la carte réseau de la machine virtuelle sera 'pluguée' sur le bridge que nous avons créé et qu'en plus le modèle de la carte réseau sera 'virtio' recommandé pour de meilleures performances de la machine virtuelle (mais pas supporté sur de 'vieux' noyau)

--graphics spice,port=5903,listen=192.168.37.1 : défini la méthode d'accès à l'affichage de la machine virtuelle, attention ce ne sont pas les paramètres de la carte graphique. On peut ici utiliser vnc (par défaut), sdl et spice. On précise le port d'écoute et l'interface d'écoute. Sur un serveur qui va héberger plusieurs machines virtuelles, il est important de bien préciser des ports différents

--video qxl : paramétrage de la carte vidéo utilisée par la machine virtuelle, malheureusement pour l'instant nous ne pouvons définir ici beaucoup d'options. A part le type de carte vidéo : cirrus, vga, vmvga, qxl. On verra par la suite comment modifier ces paramètres pour par exemple augmenter la ram de la carte vidéo

 

Quelques finitions

Une fois la première phase d'installation finie avant de rebooter la vm je modifie quelques paramètres dans le fichier de conf xml :

# virsh edit ubuntu1104

Ce qui ouvre un éditeur sur le fichier xml. Modifier la ligne :

<input type='mouse' bus='ps2'/>

par

<input type='tablet' bus='usb'/>

et

<model type='qxl' heads='1'/>

par

<model type='qxl' vram='262144' heads='1'/>

 

On peut maintenant redémarrer la vm :

# virsh start ubuntu1104

 

Dans la vm on install un agent spécifique pour Spice, le vdagent :

# yum install spice-vdagent

 

Au final le résultat est pas trop mal la vm tourne bien, j'ai réussi à avoir un affichage en 2560x1600 maximum. J'ai pu jouer à Frozen Bubble et voir des vidéos su Youtube avec quelques ralentissements sur l'affichage surtout en plein écran.

 

Pour finir une petite présentation de Spice par RedHat
{filelink=3}