Utiliser KVM sous ubuntu pour virtualiser des serveurs (1ere partie)

Pré-requis : ubuntu serveur 10.04,  11.10, 12.04 ou 12.10  avec un système de partitions en LVM et d’OpenSSH installé.

Vérification des possibilités du processeur (Intel ou AMD) du serveur physique:

sudo egrep ‘^flags.*(vmx|svm)’ /proc/cpuinfo

Si rien ne s’affiche, le processeur ne supporte pas la virtualisation ( à vérifier dans le BIOS). Dans ce cas, ca ne sert à rien de continuer avec cette machine. Prenez-en une autre.

Installation du serveur physique qui contiendra les machines virtuelles:

sudo aptitude install qemu-kvm

Ajouter l’utilisateur courant au groupe KVM :

sudo adduser $user kvm

Configuration de l’utilisation à distance ( SSH )

pour l’utilisation de virtual manager à distance

Configuration de SSH avec authentification par clefs ( par défaut, c’est par mot de passe et moins pratique) :
Générer des clefs (public / privé) sur la machine client :

ssh-keygen

Copier la clef publique (id-rsa.pub ou id_dsa.pub) sur le serveur dans le fichier ~/.ssh/authorized_keys

ssh-copy-id -i ~/.ssh/id_rsa.pub $user@IP_Serveur 

S’il y a un message d’erreur du type :

 Failed to add the host to the list of known hosts (/home/user/.ssh/known_hosts).

Alors faire avec sudo :

chown username: /home/username/.ssh

chown username: /home/username/.ssh/*

chmod 700 /home/username/.ssh

chmod 600 /home/username.ssh/*

S’il y a ce message d’erreur :

Agent admitted failure to sign using the key.

Alors sur le client exécuter :

ssh-add

En cas de problème d’authentification, pour vérifier le log, lancer sur le serveur :

tail -f /var/log/auth.log

Installation de virtual-manager

  • Sur le serveur :

sudo aptitude install libvirt-bin

  • Sur le client :

sudo aptitude install virt-manager

1ere connexion au serveur

Lancer virtual-manager sur le client.
Cliquer sur ‘Fichier / Ajouter une connexion’

Cliquer sur Connecter
Virt-Manager doit demander la pass-phrase indiqué lors de la création des clefs publique et privée.

S’il y a un message d’erreur, il faut vérifier que les services Qemu et Libvirtd ont bien démarré sur le serveur :

sudo /etc/init.d/qemu-kvm restart

sudo /etc/init.d/libvirt-bin restart

et que l’utilisateur fait bien parti du groupe libvirt

sudo adduser $user libvirt

 

Gestion des espaces de stockage :

Cliquer droit sur l’IP du serveur et choisir   » Détails  »

Choisir l’onglet Stockage .

Cliquer sur la croix verte pour ajouter une réserve.

La nommer ISO, et la faire pointer vers un répertoire du serveur tel que /home/kvm/iso.
Cette réserve contiendra les images iso des distributions à installer.

Une réserve peut pointer vers différent espace de stockage :

  • un répertoire dans une arborescence locale ( plus facile à mettre en place )
  • un Volume Group LVM ( les machines virtuelles sont plus rapide )
  • un partage réseau
  • un disque dur physique

Je vais d’abord utiliser un répertoire local. puis migrer les disques dur virtuel vers un Volume Group.

Pour avoir plus d’espace disque pour les disques dur virtuels, je vais :

Supprimer la réserve « default »

Ajouter une réserve « default » qui pointe vers un répertoire tel que /home/kvm/vm.

Cette réserve contiendra les disques dur virtuels.

 Créer une machine virtuelle :

Sélectionner le serveur hôte.

Cliquer sur  » Créer une nouvelle machine virtuelle »

Étape 1:

Donner un nom à la machine

Choisir la source d’installation de l’OS

Média d’installation local pour utiliser un CD/DVD ou un fichier ISO

Démarrage réseau (PXE) pour utiliser un serveur PXE

Importer une image disque existante pour utiliser un disque dur virtuel déjà existant.

 Étape 2:

 Sélectionner le lecteur de CD/DVD ou le fichier iso ( qui aura été copié dans le répertoire iso correspondant à la réserve iso)

Vous pouvez utiliser l’utilitaire SSH « scp » pour copier les ISO sur votre serveur à partir d’une machine client.

Exemple :

scp mon_fichier_local login@IP_de_mon_serveur:/chemin/fichier_distant

Choisir le type et la version correspondant à l’OS installé

Étape 3:

Choisir la quantité de RAM et le nombre de CPU attribué à la machine virtuelle.

Pour un serveur Linux pas très gourmand en ressource : 512Mo et 1 CPU sont suffisant.

Étape 4:

Choisir de créer un nouveau disque dur virtuel : 8Go suffisent pour un serveur qui ne stockera pas beaucoup de données et allouer le totalité du disque permet un fonctionnement plus rapide du serveur.

Ou choisir d’utiliser un disque virtuel déjà existant

La création d’un disque virtuel à cette étape créé un fichier de type raw dans la réserve sélectionnée.

Pour utiliser un autre format, il faut créer le disque dur virtuel dans la fenêtre « Détail / Stockage » vu précédemment. peuvent être créé format :

    • vpc: Windows Virtual PC
    • vmdk: VMware virtual machine disk format
    • qcow: QEMU Copy-on-write
    • qcow2: QEMU Copy-on-write (new in version 0.9)
    • raw: Raw file system (no special format)
    • cow: User-mode Linux copy-on-write

Étape 5:

La case à cocher « Personnaliser la configuration avant l’installation » permet de changer d’autres options de la machine virtuelle avant sa création

Les options avancées permettent de

Choisir la configuration de la carte réseau ( préalablement créé dans la fenêtre détail / Réseaux virtuels ). La configuration par défaut connecte la carte réseau virtuel au réseau local par translation d’adresse.

Choisir le type de virtualisation et l’architecture

Cliquer sur « Terminer »

Dés que la création de la machine virtuelle est terminé, l’installation de l’OS se lance.

 

A suivre …

 

Webographie :

http://doc.ubuntu-fr.org/ssh
http://doc.ubuntu-fr.org/kvm
http://doc.ubuntu-fr.org/lvm
http://www.webstrat.fr/blog/web-technology/creer-une-machine-virtuelle-avec-kvm-sous-linux-ubuntu
http://thegeekcorner.pagesperso-orange.fr/fr/tutoriel/kvm_linux.html
https://help.ubuntu.com/11.10/serverguide/C/libvirt.html
http://doc.fedora-fr.org/wiki/Xen_:_installation_d%27un_domaine_compl%C3%A8tement_virtualis%C3%A9_avec_virt-manager
http://virt-manager.et.redhat.com/

1 comment for “Utiliser KVM sous ubuntu pour virtualiser des serveurs (1ere partie)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*