Vous êtes sur la page 1sur 49

Virtualisation

et
Cloud Computing

Save Wilson.
Introduction
La virtualisation est une technique informatique qui permet de simuler des équipements
informatiques; Elle permet d’utiliser un ou plusieurs composants informatiques physiques
respectivement comme plusieurs ou un équipement virtuel. La virtualisation permet par
exemple d’utiliser un seul serveur physique comme étant plusieurs serveurs logiques ou
d’utiliser plusieurs espaces de stockage physique comme étant un seul espace de stockage
logique.

Il existe trois sortes d’architectures de virtualisation qui sont l’isolateur, l’émulateur et


l’hyperviseur.

Ce document traite d’une part des moyens de connexion à distance, notamment le SSH, le RDP
et le VNC et d’autre part des techniques de virtualisation avec QEMU/KVM et KIMCHI avec
lesquels nous allons créer des isolateurs sur lesquels nous installerons des machines.
1. Connexion à distance avec SSH
Pour utiliser le service du protocole de connexion à distance SSH, nous allons installer sur les
machines client et serveur le paquet openssh-server qui installera un serveur et un client SSH
sur nos machines.

# sudo -s
#apt install openssh-server

Après l’installation, nous allons créer un utilisateur client sur la machine serveur avec la
commande adduser. C’est avec le compte de cet utilisateur que nous allons nous connecter à
distance sur le serveur.

# adduser client

Nous allons à présent vérifier et noter l’adresse IP du serveur.


Sur le client, nous allons tester la communication avec le serveur puis nous rendre dans le
dossier personnel de l’utilisateur où nous allons générer une clé de communication comme suit :
Nous allons afficher tous les fichiers et dossiers du répertoire personnel y compris ceux qui sont
cachés et nous rendre avec assurance dans le dossier .ssh/ puis nous allons envoyer la clé au
serveur.
Nous copions envoyons la clé au serveur

Nous pouvons maintenant nous connecter au serveur à distance par SSH comme suit :

Nous pouvons bien voir que nous sommes dans le dossier personnel de l’utilisateur client du
serveur à distance.
Nous pouvons également utiliser le visionneur de bureaux à distance Vinagre pour se
connecter
2. Connexion par RDP
Pour utiliser le service du protocole de bureau à distance RDP (Remote Desktop Protocol),
nous allons installer sur la machine serveur le paquet xrdp, xfce4 et xfce4-goodies qui nous
permettra de se connecter à distance en mode graphique.

# sudo -s
#apt install xrdp xfce4 xfce4-goodies

Après l’installation, nous allons redémarrer la machine puis nous allons redémarrer le service
xrdp.
Nous allons activer la connexion multiple au serveur puis activer le port 3389 comme suit :
Pour embellir l’interface, nous pouvons installer les thèmes comme suit :

Après cela, nous allons relancer le service xrdp.


Nous pouvons utiliser une machine client pour se connecter à présent.
Sur Linux, nous pouvons utiliser le visionneur de bureaux à distance vinagre pour se connecter
avec le protocole RDP.
Sur Windows, nous pouvons utiliser le module Bureau à distance pour se connecter.
3. Connexion par VNC
Pour utiliser le service du protocole de bureau à distance VNC, nous allons installer sur la
machine serveur le paquet tightvncserver, xfce4 et xfce4-goodies qui nous permettront de se
connecter à distance sur une machine serveur en mode graphique. Nous allons donc mettre à
jour le système et télécharger les paquets.

# sudo –s
# apt update
#apt install tightvncserver xfce4 xfce4-goodies

Après les installations, nous allons redémarrer la machine puis lancer la commande vncserver
pour définir le mot de passe d’authentification de VNC et déterminer la méthode d’accès à la
plateforme VNC. Cette commande nous montre également le numéro que le système nous a
attribué. Nous allons renommer le fichier xstartup, créer un nouveau fichier xstartup et lui
donner des droits comme suit :
Nous allons démarrer l’application à présent.

Sur le client, nous allons lancer le visionneur de bureaux à distance vinagre pour se connecter
avec le protocole VNC.
Après avoir renseigner les informations pour se connecter au serveur avec le compte client,
nous allons nous faire authentifier par VNC par son mot de passe.

Et enfin nous serons connectés.


Nous pourrons travailler comme en local.
4. Gestion de machines virtuelles sur par un hyperviseur
KVM avec QEMU
QEMU est un émulateur de diverses architectures dont x86 (Hyperviseur de type 2). Combiné
au pilote KVM, il permet de réaliser de l'accélération Hardware (HVM). L'outil de base qemu-
img permet de créer et de gérer des images. Pour l’installer, nous allons installer les paquets :
virsh qui est un cli pour libvirt, qemu-img qui permet de gérer les images des disques, virt-
manager qui fait office de client graphique, virt-install qui est la commande pour la création
des machines virtuelles, virt-viewer qui est un client console graphique et virt-clone, un outil
de clonage.

# apt-get -y install qemu-kvm libvirt-bin virtinst virt-viewer libguestfs-tools virt-


manager uuid-runtime

Nous allons ensuite démarrer le commutateur virtuel par défaut, lancer virt-manager et
procéder à la création de la machine virtuelle comme suit.

# virsh net-autostart default


# virt-host-validate
# ip add sh virbr0
# iptables –t nat –L –n –v
# virt-manager
Nous allons d’abord, créer une machine virtuelle Ubuntu
Nous allons installer une machine Windows 7 également
Et nous avons finalement nos machines qui fonctionnent sur le QEMU.
5. Installation et gestion de l’hyperviseur KIMCHI
Pour mieux comprendre la virtualisation, nous allons installer une plateforme de gestion des
machines virtuelles Kimchi utilisant l’hyperviseur Qemu/KVM.
Cette plateforme est composée d’un serveur web (Nginx) et d’un serveur Wok-Kimchi
Pour sa mise en place, nous allons mettre à jour le système puis procéder à l’installation
l’hyperviseur qemu/kvm et ajouter le dépôt universe.

# apt-get update && sudo apt-get upgrade –y


# apt install qemu qemu-kvm libvirt-bin python-paramiko python-pil novnc python-libvirt
python-ethtool python-ipaddr python-guestfs libguestfs-tools spice-html5 python-magic
keyutils libnfsidmap2 libtirpc1 nfs-common rpcbind python-configobj python-parted –y
# add-apt-repository universe
Nous allons ensuite installer le serveur web nginx et télécharger les composants de kimchi.

# apt install nginx

# wget https://github.com/kimchi-project/kimchi/releases/download/2.5.0/wok-2.5.0-
0.noarch.deb
# wget http://kimchi-project.github.io/gingerbase/downloads/latest/ginger-base.noarch.deb
# wget https://github.com/kimchi-project/kimchi/releases/download/2.5.0/kimchi-2.5.0-
0.noarch.deb

apt install -f
Maintenant nous allons installer les paquets téléchargés en corrigeant les problèmes de
dépendances
A présent, nous allons redémarrer la machine puis relancer le service wokd
Nous allons activer le port 8001/tcp et contacter wok via un navigateur à l’adresse
https://adresse_IP:8001. Après avoir passé les alertes de sécurité du navigateur, nous
accédons à l’interface graphique de wok.
Conclusion
Le principe de la virtualisation est donc un principe de partage : les différents systèmes
d’exploitation se partagent les ressources du serveur. La virtualisation est le socle du Cloud
Computing. Elle crée un gain au niveau de la protection du système d’exploitation hôte en
s’assurant que l’application virtualisée ne viendra pas interagir avec les fichiers de
configuration du système. Les réseaux virtuels permettent une réduction du trafic de diffusion,
puisque celui-ci est à présent contenu au sein de chaque réseau virtuel, une sécurité accrue
puisque l’information est encapsulée dans une couche supplémentaire et une meilleure
flexibilité puisqu’une modification de la structure des réseaux peut être réalisée en modifiant la
configuration du commutateur. Elle permet d’adjoindre un périphérique de stockage
supplémentaire sans interruption des services, de regrouper des unités de disques durs de
différentes vitesses, de différentes tailles et de différents constructeurs, de réallouer
dynamiquement de l’espace de stockage ; ainsi, un serveur nécessitant un espace de stockage
supplémentaire pourra rechercher des ressources non allouées sur le disque logique.
Inversement, un serveur nécessitant moins d’espace de stockage pourra libérer cet espace et le
rendre disponible pour d’autres serveurs.
La virtualisation permet également de réduire la surface au sol, la consommation électrique, le
besoin de climatisation et le nombre d'administrateurs et ainsi réaliser des économies (locaux,
consommation électrique, personnel), réduire les coûts, le nombre d’équipements matériels et
la surface au sol, réduire les délais de mise à disposition de nouveaux serveurs, simplifier
l’administration et la gestion.
Ce sont tous ces avantages qui font de la virtualisation, un composant clé de l’informatique du
futur.

Vous aimerez peut-être aussi