48
Stratégie de Virtualisation open source

Strategie de Virtualisation Open Source

Embed Size (px)

Citation preview

Page 1: Strategie de Virtualisation Open Source

Stratégie de Virtualisation open source

Page 2: Strategie de Virtualisation Open Source

2

La 1ère école 100 % dédiée à l'open source

Open Source School est fondée à l'initiative de Smile, leader de l'intégration et de l'infogérance open source, et de l'EPSI,établissement privé pionnier de l’enseignement supérieur en informatique.

Dans le cadre du Programme d’Investissements d’Avenir (PIA), le gouvernement français a décidé de soutenir la création de cette école en lui attribuant une première aide de 1,4M€ et confirme sa volonté de soutenir la filière du Logiciel Libre actuellement en plein développement.

Avec une croissance annuelle de plus de 10%, et 4 000 postes vacants chaque année dans le secteur du Logiciel Libre, OSS entend répondre à la pénurie de compétences du secteur en mobilisant l’ensemble de l’écosystème et en proposant la plus vaste offre en matière de formation aux technologies open source tant en formation initiale qu'en formation continue.

Page 3: Strategie de Virtualisation Open Source

3

Les formations du plein emploi !

Formation Continue

Open Source School "Executive Education" est un organisme de formation agréé qui propose un catalogue de plus de 200 formations professionnelles et différents dispositifs de reconversion permettant le retour à l’emploi (POE) ou une meilleure employabilité pour de nombreux professionnels de l’informatique.

Pour vos demandes : [email protected]

Formation Initiale

100% logiciels libres et 100% alternance, le cursus Open Source School s’appuie sur le référentiel des blocs de compétences de l’EPSI.Il est sanctionné par un titre de niveau I RNCP, Bac+5. Le programme est proposé dans 6 campus à Bordeaux, Lille, Lyon, Montpellier, Nantes, Paris.

Page 4: Strategie de Virtualisation Open Source

Stratégie de virtualisation Open Source

Programme Bachelor 3ème Année Parcours Open Source2015-2016 / Enseignant : Alain ARDITI

Page 5: Strategie de Virtualisation Open Source

5Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

Plan du cours - 1/4

La théorie● Définition de la virtualisation

● L’histoire de la virtualisation et l'énergie

● Les types de virtualisation

● Comparaison des solutions

● La stratégie actuelle et son mode d’application

Page 6: Strategie de Virtualisation Open Source

6Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

Plan du cours - 2/4

La virtualisation sur le poste de travail● VirtualBox

● Les CGroups

● L’isolation / Les jails

● OpenVZ

● LXC

Page 7: Strategie de Virtualisation Open Source

7Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

Plan du cours - 3/4

La virtualisation sur les serveurs● QEMU

● KVM / XEN

● Les fonctionnalités

● La sécurité

● La gestions des E/S - VirtIO

● La manipulation des VM avec LibVirt

Page 8: Strategie de Virtualisation Open Source

8Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

Plan du cours - 4/4

L'IaaS● OpenStack

● Docker

Page 9: Strategie de Virtualisation Open Source

9Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

Définition de la virtualisation

L'émulation consiste à substituer du matériel informatique – tel un terminal informatique, un ordinateur ou une console de jeux – par un logiciel.

La virtualisation consiste à faire fonctionner un ou plusieurs systèmes d'exploitation / applications comme un simple logiciel, sur un ou plusieurs ordinateurs - serveurs / système d'exploitation, au lieu de ne pouvoir en installer qu'un seul par machine (Wikipedia)

Page 10: Strategie de Virtualisation Open Source

10Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

L'histoire de la virtualisation

Dans les années 70 sur les gros IBMBesoin : séparer les environnementsFin 80 sur les PCBesoin : émuler du matériel (consoles, embarqué, etc...)Fin 90Besoin : consolider les postes de travailTerminaux XCitrixVMWare workstation 1999Les années 2000Besoin : consolider les serveursVservers 2003Xen 2003Amazon 2006KVM 2007

Page 11: Strategie de Virtualisation Open Source

11Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

La consommation en énergie 1/3

Consommation électrique sensible depuis 15 ansFacebook a consommé autant d’électricité en 2012 que 10 millions de français ou 85 millions d’indiens !

Page 12: Strategie de Virtualisation Open Source

12Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

La consommation en énergie 2/3

L'Europe consomme 100TWh pour ses datacenters soit l'énergie pour 8 millions de foyersLa part du numérique serait de l’ordre de 20 à 25 TWh par an, soit 4 à 6 % de la consommation électrique française.Au US la part de consommation électrique numérique atteindrait les 10 %

Page 13: Strategie de Virtualisation Open Source

13Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

La consommation en énergie 3/3

Pour 1W d'électricité fournie à un serveur on consomme 1W en refroidissement.On arrive à des PUE (Power Usage Effectiveness) de 1,1 à 1,3Forte croissance de la consommation => utilisation du charbon / nucléaire ?La solution : écoconception logicielle ?

Page 14: Strategie de Virtualisation Open Source

14Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

Ecoconception logicielle

La publicité représente 39 % du poids des pages webExpérience chez Google en 2006 :The page with 10 results took 0.4 seconds to generate. The page with 30 results took 0.9 seconds.Half a second delay caused a 20% drop in traffic. Half a second delay killed user satisfaction.100ms de trop sur les temps de réponse Amazon impactent le CA !

Page 15: Strategie de Virtualisation Open Source

15Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

Pourquoi virtualiser ?

Aujourd'hui la question ne se pose plus Trop de serveurs sous utilisés→ Réduction des coûts matériels→ Réduction de la consommationGestion des changements→ On peut isoler des services→ On peut avoir des versions différentes d'une application dans des VM différentes→ On peut revenir en arrière en restaurant une VM (Docker/PaaS)Administration des VM→ On peut cloner les VM, les dupliquer, les transporter (PCA)→ On peut archiver les VM→ La VM devient indépendante du matériel et de sa disponibilité (abstraction)

Page 16: Strategie de Virtualisation Open Source

16Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

Les types de virtualisation - Emulation

Page 17: Strategie de Virtualisation Open Source

17Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

Emulation

Avantages● Permet de faire tourner toute application sur tout matériel

Inconvénients● Lent, car compilation dynamique

Utilisation● Développement d'application● Mise au point● Tests

Page 18: Strategie de Virtualisation Open Source

18Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

Isolation

Héritage du Chroot Unix, des Jails BSD,De la séparation des environnements sur CP/M IBMObjectif : séparer les environnements qui fonctionnent sur le même matériel

Page 19: Strategie de Virtualisation Open Source

19Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

Isolation

Toutes les applications tournent sur le même noyau.Objectif : séparer les environnements qui fonctionnent sur le même matérielAvantages● Isole les application (gestion des versions)● Economique en ressources (partage des ressources par le noyau) 40 VM Debian

LAMP sur un Xeon 4 cœurs + 16Go de RAM● Performant, car accès direct aux drivers disques, réseau, etc...● Accès direct aux fichiers des VM depuis l'isolateur● Facilité d'administration/modification des VM/Copie des VMInconvénients● Ne supporte que les OS qui fonctionnent sur le noyau et dans les bonnes versions● Gestion peu fine des ressources. Problèmes de sécurité (inter VM)● Limitation par les capacités du noyau commun (sockets, open files, etc...)Utilisation● Fournir des environnement pour le développement, les tests● Production sur des environnement Lamp

Page 20: Strategie de Virtualisation Open Source

20Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

Hyperviseur type 2

La virtualisation utilise directement le matérielL'émulation est faite sur les périphériquesLes OS doivent être compatibles avec le matériel (CPU)AvantagesFacile à déployer sur un poste de travail pour travailler dans des environnements différentsCopie des VM par copie de fichiers imagesVM relativement rapides en CPU

InconvénientsLenteur pour la production informatiqueUtilisationLe poste de travail si les OS sont différentsOracle VirtualBox (logiciel libre) : Windows / Mac OS / LinuxVMWare Workstation (payant) : Windows / LinuxVMWare Fusion (payant) : Mac OS

Page 21: Strategie de Virtualisation Open Source

21Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

Hyperviseur type 2

Page 22: Strategie de Virtualisation Open Source

22Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

Hyperviseur type 1

La virtualisation utilise directement le matérielL'accès aux périphériques se fait par des drivers spécifiquesPara-virtualisationLes OS doivent être compatibles avec le matériel (CPU)L'hyperviseur "remplace" l'OS du serveur physiqueAvantagesAmélioration des performances (quelques % d'overhead)Isolation des OS invités

InconvénientsLes IO sont encore perfectiblesEscalade matérielle : utilisation de SAN, du réseau 10Gbps, etc...Les "bons" drivers sont parfois payants (VMWare)UtilisationLes serveurs d'infrastructure pour l'IaaSVMWare vSphere (gratuit)(outils payants)KVM (Open Source)Xen (Open Source)Microsoft HyperV

Page 23: Strategie de Virtualisation Open Source

23Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

Hyperviseur de type 1

Page 24: Strategie de Virtualisation Open Source

24Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

Virtualisation x86

La majorité des problématique s'est posée pour les architectures x86. En 2006 Intel et AMD fournissent des instructions pour aider la virtualisation→ Intel Xeons : VT-x : vmx→ AMD Opterons : Pacifica : svmegrep ‘(vmx|svm)’ /proc/cpuinfoRing -1 pour les Hyperviseurs

Page 25: Strategie de Virtualisation Open Source

25Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

L'isolation - chroot

The chroot system call was introduced during development of Version 7 Unix in 1979, and added to BSD by Bill Joy on 18 March 1982Changement de racine (root), dans une sous arborescence.

Page 26: Strategie de Virtualisation Open Source

26Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

L'isolation - chroot 2

chroot est utilisé pour isoler les comptes FTP, mais aussi sur PostFix pour le mail.jails sous BSD (1991)Naissances des Containerszones sous Solaris en 2005Linux Vservers utilisé pour la virtualisation Linux en 2003

Page 27: Strategie de Virtualisation Open Source

27Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

L'isolation - chroot 2

chroot est utilisé pour isoler les comptes FTP, mais aussi sur PostFix pour le mailBootstrap pour installer un OS : Debootstrap sous Debianjails sous BSD (1991)Naissances des Containers

● Zones sous Solaris en 2005

● Linux Vservers utilisé pour la virtualisation Linux en 2003

● OpenVZ en 2005

Page 28: Strategie de Virtualisation Open Source

28Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

L'isolation - CGroups

CGroups pour Control GroupsObjectif initial : gérer les ressources (CPU, mémoire, IO, etc...) pour une famille de processus sur un serveur Linux

● Permet de limiter les ressources mémoire

● Permet d'affecter les priorités CPU et débit Entrées/Sorties

● Comptabilise l'utilisation des ressources (accounting)

● Permet de gérer la synchronisation d'un groupe de processus (checkpoint)

Namespace isolation● Espace de noms pour les identifiants de processus : Tous les processus

enfants ont des identifiants propres dans l'espace de nom du parent.

● Espace de noms pour les interfaces réseau : interfaces virtuelles veth qui permettent d'avoir des règles de firewall IPTables par veth.

● Espace de noms pour les points de montage. Pas de mélange entre les montages du serveur physique et ceux des machines virtuelles

Page 29: Strategie de Virtualisation Open Source

29Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

L'isolation - Containers

Isolateurs basés sur les CGroups

LXC

Différences subtiles au niveau du fonctionnement.Sensible au niveau du réseau et du maintien par les distributions et les noyaux

● LXC est intégré au noyau Linux (Vanilla)

● OpenVZ noyau spécifique intégré dans les distribution Debian ou CentOS

● LinuxVserver noyau spécifique à recompiler (fourni en Debian Etch → Squeeze)

Page 30: Strategie de Virtualisation Open Source

30Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

L'isolation - OpenVZ

Performances quasi semblables au serveur physique (de 1 à 3 % près)De manière théorique : 120 VM avec 2Go de RAMRéseau évolué :

● adresse de l'interface veth gérée par la VM

● possibilité d'affecter des VLAN

Accès aux fichiers de la VM depuis le serveurPossibilité de faire de la "Live Migration"Simplicité de manipulation des VM, car accès à l'arborescence

Page 31: Strategie de Virtualisation Open Source

31Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

L'isolation - OpenVZ - 2

Accès depuis l'isolateur / Accès depuis les VMarditi-host1:~# ps -edf | grep bashroot 609187 609176 0 22:34 pts/0 00:00:00 -bashroot 609373 609371 0 22:41 /var/lib/vz/root/arditi-vm1/dev/pts/0 00:00:00 -bashroot 609412 609187 0 22:43 pts/0 00:00:00 grep --color=auto basharditi-host1:~#

arditi-vm1:~# ps -edf | grep bashroot 4760 4758 0 22:41 pts/0 00:00:00 -bashroot 4770 4760 0 22:45 pts/0 00:00:00 grep --color=auto basharditi-vm1:~#

arditi-host1:~# vzpid -p 609373Pid CT/Pid CTID Name609373 4760 10101 basharditi-host1:~#

arditi-host1:~# vzlist CTID NAME LAVERAGE CPUUNI 10101 arditi-vm1 0.00/0.00/0.00 1000 10103 cs-vm 0.00/0.00/0.00 1000 10102 ns0 0.00/0.00/0.00 1000arditi-host1:~#

Page 32: Strategie de Virtualisation Open Source

32Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

Paravirtualisation

Beaucoup d'acteurs sur le créneau, car c'est la brique de base de l'IaaS.VMWare est leader sur la richesse fonctionnelle et le support matériel.D'autant que désormais, EMC la maison mère de VMWare appartient à DELL.Lorsque les enjeux matériels sont important, que la connaissance technique des équipes est faible, le choix est VMWare.Windows Hyper-V est dédié aux environnement Miscrosoft. Donc restrictif en terme de support de solutions logicielles, bien qu'ayant beaucoup de support matériel.Dans les solutions Open Source, XEN est une des premières solutions, toujours dans la course, mais qui est dépassée par la popularité de KVM, qui est soutenu par RedHat (rachat en 2008) et l'hyperviseur de référence du projet OpenStack.Dernier point, les solutions propriétaires sont chères, d'autant plus, si on ajoute les nombreux outils qui facilitent la vie.

Page 33: Strategie de Virtualisation Open Source

33Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

Paravirtualisation -

Kernel-based Virtual MachineKVM est intégré dans le noyau Linux depuis la version 2.6.20 (2007)KVM porté sur x86, S/390, PPC, IA-64KVM supporte Linux, BSD, Solaris, Windows, OS X, etcUtilisation de la librairie VirtIO qui fournit :

● le réseau (carte Ethernet)

● controleur disque

● gestion de la RAM (ballooning)

● carte graphique

Page 34: Strategie de Virtualisation Open Source

34Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

Paravirtualisation -

Page 35: Strategie de Virtualisation Open Source

35Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

Paravirtualisation -

Outils de gestion de KVM● LibVirt : virsh (shell)

● OpenStack

● Virtual Machine Manager

● Proxmox

● oVirt

Exemple de création de VM :virt-install \--name debian6 \--ram 1024 \--disk path=./debian6.qcow2,size=8 \--vcpus 1 \--os-type linux \--os-variant debian6 \--network bridge=virbr0 \--graphics none \--console pty,target_type=serial \--location 'http://ftp.nl.debian.org/debian/dists/squeeze/main/installer-amd64/' \--extra-args 'console=ttyS0,115200n8 serial'

Page 36: Strategie de Virtualisation Open Source

36Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

Paravirtualisation -

Copie de VM avec fichier :virt-clone \ --original debian6 \ --name debian6_clone \ --file /var/lib/libvirt/images/debian_6_clone.img

Création avec un volume logique (LV)

# lvcreate -L 5G -n kvm6 vg_kvm

## Reduire un LV# umount /home# e2fsck -fy /dev/mapper/kawa2--vg-home# resize2fs -p /dev/mapper/kawa2--vg-home 400G# lvreduce -L 400G /dev/mapper/kawa2--vg-home# mount /home

virt-clone \ --original debian6 \ --name debian6_clone \ --file /dev/mapper/kawa2--vg-home

Page 37: Strategie de Virtualisation Open Source

37Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

TP KVM : Sommaire

● Partie I : Mise en place de l'environnement de virtualisation

● Partie II : Création d'un environnement virtualisé

● Partie III : Gestion des ressources

● Partie IV : Template et Clonage de VM

● Partie V : Stockage

● Partie VI : Snapshot et Sauvegarde

● Partie VII : Réseau virtuel interne

Page 38: Strategie de Virtualisation Open Source

38Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

TP KVM : Partie 1 - Mise en place de l'environnement de virtualisation

Objectif : Installer les outils permettant de mettre en place l'environnement de virtualisation et découvrir les commandes d'administration

● Installer les packages Libvirt

# apt-get install libvirt-daemon-system libvirt-clients# systemctl status libvirtd# virt-host-validate

● Installer les outil de gestion des images

# apt-get install libguestfs-tools virtinst

● Configurer le client virsh et se connecter à son interface en ligne de commande

Dans le fichier /etc/libvirt/libvirt.conf décommenter la ligne suivante :

uri_default = "qemu:///system"

● Activer de l'IP Forwarding (ip_forward)

● Installer le viewer graphique (sur votre poste utilisateur)

apt-get install virt-viewer

Page 39: Strategie de Virtualisation Open Source

39Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

TP KVM : Partie 2 - Création d'un environnement virtualisé (1/2)

Objectif : Déployer une première machine virtuelle sous Debian et CentOS

● Activer le réseau par défaut si ce n'est pas déjà fait depuis virsh (commandes virsh net-list, net-start, net-autostart)

● Récupérer un image ISO de Debian en dernière version et la déposer dans le dossier /var/lib/libvirt/iso

● S'inspirer de la commande suivante pour déployer une VM nommée debian8-tpl

virt-install --connect qemu:///system \ --virt-type kvm \ --name debian8-tpl \ --ram 512 \ --vnc \ --disk size=2 \ --cdrom /var/lib/libvirt/iso/debian-8.2.0-amd64-netinst.iso \ --network network=default \ --os-variant debianwheezy

● Utiliser virt-viewer pour procéder à l'installation de la VM

Page 40: Strategie de Virtualisation Open Source

40Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

TP KVM : Partie 2 - Création d'un environnement virtualisé (2/2)

● Récupérer un image CentOS en dernière version et la déposer dans le dossier /var/lib/libvirt/iso

● S'inspirer de la commande du slide précédent pour déployer une VM CentOS nommée centos7-tpl

● Utiliser virt-viewer pour procéder à l'installation de la VM

Page 41: Strategie de Virtualisation Open Source

41Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

TP KVM : Partie 3 - Gestion des ressources

● Passer le nombre de VCPU alloué à la VM debian8-tpl à 2 (commande virsh dominfo, setvcpus, vcpucount) et vérifier dans la VM que les CPU sont bien présents

● Passer la mémoire de la VM debian8-tpl à 1G (commandes virsh dominfo, setmaxmem, setmem) et vérifier dans la VM que la mémoire est bien présente

● Faire en sorte que les changements soient persistent même après un redémarrage de VM (commandes virsh start, shutdown, reboot)

● Vérifier la configuration de la VM à l'aide de la commande virsh edit

Page 42: Strategie de Virtualisation Open Source

42Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

TP KVM : Partie 4 - Template etClonage de VM (1/2)

Objectif : Créer un template de VM qui servira de base à la création de plusieurs machine virtuelle

● Personnaliser votre VM debian8-tpl en installant vos outils de base (bash-completion, vim, tcpdump, htop, rsync, agent qemu) et en personnalisant votre ~/.bashrc

● Arrêter la VM pour effectuer les modifications qui vont suivre

● Purger la VM debian8-tpl pour en faire un template avec la commande virt-sysprep● Modifier le mot de passe par défaut du template de VM debian8-tpl avec la commande

virt-customize● Utiliser la commande virt-copy-in pour copier vos clés SSH présente sur la machine

physique (/root/.ssh) sur le compte root de la VM debian8-tpl

Page 43: Strategie de Virtualisation Open Source

43Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

TP KVM : Partie 4 - Template etClonage de VM (2/2)

● Cloner la VM template debian8-tpl pour créer une nouvelle instance nommée debian8-web (commande virt-clone)

● Modifier le hostname de la nouvelle VM debian8-web (commande virt-customize)

● Faire de même pour créer une nouvelle instance nommée debian8-bdd● Démarrer les deux nouvelles VM

● Faire en sorte qu'elle soit lancée automatiquement au démarrage du serveur (commande virsh)

● Utiliser virt-viewer pour s'assurer que les VM sont bien démarrées et que le mot de passe et le hostname sont correctes

● Tente de vous connecter en SSH sur le serveur. Si la connexion échoue regénérer les clés SSH à l'aide de la commande :

# dpkg-reconfigure openssh-server

Page 44: Strategie de Virtualisation Open Source

44Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

TP KVM : Partie 5 - Stockage

Objectif : Ajouter un nouveau disque qcow2 à la VM pour étendre l'espace disque

● Créer un nouveau disque au format qcow2 de 1 Go pour chacune des deux VM debian8-web et debian8-bdd (commande qemu-img create en utilisant l'option -o preallocation=metadata)

● Attacher les nouveaux disques sur les VM (commande virsh domblklist et attach-disk en utilisant l'option --subdriver qcow2 et l'option --persistent pour que la modification soit persistante après le redémarrage des VM)

● Dans la VM vérifier que le nouveau disque est bien visible dans /dev● Partitionner le disque avec la commande fdisk● Formater le disque en ext4 avec la commande mkfs.ext4● Monter la partition dans /srv et vérifier que la taille est correcte

● Copier les répertoires /etc et /boot sur cette nouvelle partition

● Faire en sorte que la partition soit montée automatiquement au démarrage de la VM

Page 45: Strategie de Virtualisation Open Source

45Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

TP KVM : Partie 6 - Snapshot etSauvegarde (1/2)

Objectif : Apprendre à utiliser les snapshots et réaliser un script de sauvegarde des VM

● Installer un serveur Web sur la debian8-web● Installer un serveur de base de données sur la debian8-bdd et créer une base de

données

● Réaliser le scénario suivant :

Créer un snapshot (commande virsh snapshot-create-as) de chacune de vos VM qui s'intitulera init

Vérifier que les snapshots ont bien été créés (snapshot-list) Sur la VM debian8-bdd supprimer la base de données créées et le contenu du dossier /srv Restaurer le snapshot de la VM debian8-bdd (commande virsh snapshot-revert) Vérifier que la base de données supprimées est bien présente et que le contenu du

dossier /srv a bien été restauré

Page 46: Strategie de Virtualisation Open Source

46Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

TP KVM : Partie 6 - Snapshot etSauvegarde (2/2)

● Réaliser un script qui réalise la sauvegarde de vos VM en les copiant via la commande rsync dans les répertoires /srv/backup-kvm/config et /srv/backup-kvm/images de votre seveur :

● Suspendre la VM (commande virsh suspend)

● Sauvegarder les dossiers suivants :

Configuration des VM : /etc/libvirt Disque des VM : /var/lib/libvirt/images

● Restaurer la VM (commande virsh resume)

Page 47: Strategie de Virtualisation Open Source

47Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

TP KVM : Partie 7 - Réseau virtuel (1/2)

Objectif : Créer un réseau privé 192.168.100.0/24 permettant à vos deux VM de communiquer entre elle avec les adresses suivantes :

Serveur : 192.168.100.1 (interface int0)

debian8-web : 192.168.100.2 (interface eth1)

debian8-bdd : 192.168.100.3 (interface eth1)

● Créer le réseau appelé interne en créant le fichier /etc/libvirt/qemu/networks/interne.xml ayant pour contenu :

<network> <name>interne</name> <uuid>fa794e75-bddf-4875-b437-39fbabae8432</uuid> <bridge name='int0' stp='on' delay='0'/> <mac address='52:54:00:76:ab:8a'/> <ip address='192.168.100.1' netmask='255.255.255.0'> </ip></network>

Note : le fichier de configuration va permettre de créer un réseau nommé interne ou sera rattaché l'interface int0 du serveur parent avec pour adresse 192.168.100.1

Page 48: Strategie de Virtualisation Open Source

48Licence Creative Commons (CC BY-SA 3.0 FR) Attribution - Partage dans les Mêmes Conditions 3.0 France

TP KVM : Partie 7 - Réseau virtuel (2/2)

● Créer le réseau interne sous KVM en important la configuration et s'assurer que celui-ci est bien créé (commande virsh net-define, net-info et net-list)

● Activer le réseau interne, permettre son activation automatique au démarrage des serveurs et s'assurer(commande virsh net-*)

● Attacher une nouvelle interface sur chacun des deux serveurs à ce réseau en s'assurant que la configuration sera persistante même après un redémarrage (commande virsh attach-interface avec l'option --type virtio)

● Vérifier que les interfaces sont bien présentent sur les deux VM (commande virsh domiflist)

● Se connecter sur les deux VM et vérifier qu'une nouvelle interface a bien été ajoutée

● Configurer la nouvelle interface avec une adresse IP statique et tenter de joindre l'autre VM