Virtualisation des technologies WEB

1 février 2022

Objectif principal

Amener le participant à comprendre la notion de virtualisation et à utiliser un outil de création d’une machine virtuelle.
 


Contenu


 

 
 


1 – Virtualisation – Définition

De façon simple, la virtualisation est une technique qui permet de simuler plusieurs ordinateurs complets; CPU, mémoire, carte réseau, unités de stockage, …. sur un ordinateur physique (metal).
L’avantage de cette approche est l’économie d’argent et d’espace.
Prenons l’exemple suivant,
‘La cie WEB ABC’, 200 employés, héberge les ressources informatiques suivantes:

Au total, l’entreprise possède 7 ordinateurs pour répondre à ses besoins.
Il faut savoir qu’un ordinateur fonctionne rarement à 100% de sa capacité.
Dans le cas qui nous occupe;

De plus, il faut suffisamment d’espace pour loger 6 ordinateurs physiques.

google.stanford.edu circa 1997

Avec la virtualisation il est possible d’installer tous les services informatiques de l’entreprise, même si ces derniers roulent sur des systèmes d’exploitation différents, sur une seule machine physique.
Voici un exemple d’ordinateur couramment utilisé pour ce type de fonction:

Ces ordinateurs permettent l’installation de plusieurs processeurs (CPU) et une grande quantité de mémoire vive (RAM).
Donc, une seule de ces machines serait en mesure de rouler tous les services de ‘La cie WEB ABC’.
 
Pour une entreprise ou une organisation de grande envergure, il est possible d’installer ce type d’ordinateur dans un support à serveurs (server rack)

Note: On appelle ce type d’ordinateur ‘headless computer’ car suite à l’installation initiale, ils vont fonctionner sans clavier ni écran.


2 – Virtualisation versus Émulation

2.1 -Émulation

Dans la cas de l’émulation, tout est simulé, le processeur, la mémoire et les périphériques.
Cette technique est utilisé lorsqu’un programme a été conçu pour un appareil totalement différent de l’ordinateur sur lequel on désire l’exécuter.
Par exemple, si nous voulions rouler le jeu ‘Space invader‘ conçu pour le TRS-80 (un des premiers ordinateurs personnelles de l’histoire moderne), il faudrait présenter, à l’application du jeu, un faux TRS-80 en tous points identique, au niveau fonctionnel, à l’original:  le processeur (un Z80 – avec toutes ses instructions), la carte vidéo, le clavier, la mémoire, …
 

 
C’est une approche qui n’est réaliste que si la machine que nous voulons émuler est bien moins performante que l’ordinateur servant à exécuter l’émulateur.
Simuler un processeur différent que celui que l’on retrouve sur l’ordinateur hôte requière énormément de traitement.  Idem pour la simulation d’une carte vidéo.
L’émulation d’une machine performante, comme par exemple, la dernière console de jeu à la mode, est impraticable, même sur un PC haut de gamme.
 


2.2 – Virtualisation

Termes:

Il existe plusieurs technologies de virtualisation.
Celle qui est couverte par ce cours est nommée ‘virtualisation complète‘.
La virtualisation complète permet de créer des machines virtuelles de même type que l’ordinateur sur lequel roule l’application de virtualisation.
Il sera donc possible de créer une VM qui permet l’installation du même type de systèmes d’exploitation qui pourrait être installer sur l’ordinateur hôte.
Avec ce type de virtualisation et n’est pas possible faire rouler le ‘space invader’ du TRS-80.
Cette limitation est l’avantage de la virtualisation complète.
Au lieu de créer de fausses pièces d’ordinateur (CPU, mémoire, …), la virtualisation complète va plutôt ‘partager’ les ressources physiques de l’ordinateur entre plusieurs instances d’une système d’exploitation invité, ou entre des instances des systèmes d’exploitation différents.
Cette approche permet d’obtenir des machines virtuelles presque qu’aussi performante qu’une machine physique.
C’est la solution parfaite pour ‘La cie WEB ABC’.
 


3 – Virtualisation – Outils disponibles

Il y a deux approches disponibles pour la mise en place d’un système de virtualisation complète:

  1. Sur un ordinateur exécutant un système d’exploitation typique comme, Windows, MacOS ou Linux.
  2. Sur un ordinateur sans système d’exploitation typique – sur métal.

3.1 – Virtualisation dans un système d’exploitation typique

C’est l’approche utilisée lorsque les besoins de virtualisation sont limités.
Par exemple, le propriétaire d’un ordinateur iMac roulant MacOS aimerait exécuter une application disponible que sur Windows.
Il pourra alors installer, sur son MAC, une application de virtualisation, de créer une VM et d’y installer Windows.
Au démarrage de la VM, l’instance de Windows va s’exécuter dans une fenêtre application sur le bureau du MAC.
L’utilisateur pourra passer de sa fenêtre Windows à ses applications MAC sans avoir à redémarrer l’ordinateur.
Voici une liste d’applications de virtualisation de ce type:

 

3.2 – Virtualisation sur  métal (bare metal)

C’est l’approche utilisée pour les serveurs d’entreprises et les grands parcs informatique.
Il est rare qu’un utilisateur travaille directement sur un serveur d’entreprise.  Il devient alors inutile de consommer des ressources de l’ordinateur pour une interface graphique, une souris, des accès réseaux, une gestion des fichiers, à l’impression, …
Il est possible d’installer des logiciels de virtualisation qui sont autonomes et qui n’ont pas besoin d’être installés dans un système d’exploitation classique comme Windows ou Linux.
On les installe directement sur le matériel de l »ordinateur d’ou leur nom de ‘bare metal’.
Voici une liste d’applications de virtualisation de ce type:

 


4 – Installation de virtualBox

VirtualBox est un choix intéressant de virtualisation car il est gratuit et disponible en version Windows, Linux, Solaris et MacOS.
Les programmes d’installation sont disponibles ici.
Il suffit de télécharger la version compatible avec la machine hôte et de l’installer comme n’importe quel autre programme.
Note: VirtualBox devrait déjà être installé sur les poste de travail du local.
Note pour MacOS:  Si vous rencontrez un plantage à l’installation d’Ubuntu 20.04 alors utilisez la version 5.2 de virtualBox.


Voici les étapes de l’installation de virtualBox

4.1 – Visiter le site www.virtualbox.org et suivre le lien vers la page de téléchargement

 
4.2 – Télécharger la version compatible avec le système d’exploitation hôte

 
4.3 – Démarrer le programme d’installation et suivre les directives

4.4 – Analyse du système hôte

4.5 – Début de l’installation

4.6 – Information sur la taille et emplacement de l’installation
Note: L’emplacement par défaut d’une application MacOS est le dossier ‘Applications’

4.7 – Compte administrateur requis pour apporter des modifications au système hôte

4.8 – Fin de l’installation


5 – Création d’une machine virtuelle (VM)

Maintenant que VirtualBox est installée, nous pouvons créer notre première VM.
Action 5.1 – Démarrer VirtualBox

Action 5.2 – Explorer les différentes fonctions de l’application:

Action 5.3 – Afficher l’onglet ‘Global Tools‘ et sélectionner l’option ‘Host Network Manager
Nous allons créer une carte de réseau privé qui va permettre la communication – bidirectionnelle –  entre l’ordinateur hôte et les machines virtuelles.

Action 5.4 – Créer une carte réseau (bouton Create)
Note: Les valeurs de configuration proposées vont nous convenir.  Nous y reviendrons plus tard.

Action 5.5 – Sélectionner l’onglet ‘Machine tools’ suivi du bouton ‘New’ pour créer une VM

Action 5.6 – Passer en mode expert – bouton ‘Expert Mode’

 
Action 5.7 – Renseigner la configuration de base de la VM et confirmer avec le bouton créer

Action 5.8 – Renseigner la taille du disque dur de la VM et confirmer avec le bouton ‘Créer’
Note: Il faut réserver assez d’espace pour pouvoir y installer l’OS invité et ses applications.  La version 17.10 Desktop d’Ubuntu requière 8.3 Go.
Nous allons donc créer un disque dur de 10Go.

Action 5.9 – Renseigner le dossier dans lequel sera stocké la VM.
ATTENTION : Par défaut, la VM sera créée dans le dossier de l’utilisateur actuel.  Sur les Mac du D140, ce dossier est vidé à chaque redémarrage.  Si vous voulez conserver votre VM, il faut la créer sur le volume Data.
 


 
 

Il reste finalement, à renseigner sa configuration réseau de la VM.
Action 5.10 – Afficher le panneau de configuration de la VM – bouton ‘Settings

Action 5.11 – Afficher l’onglet ‘Network’ suivi de ‘Adapter 2’
Note:  La machine virtuelle possède déjà une carte réseau en configuration NAT, ce qui ne permet pas la communication de l’hôte vers l’invitée. Par contre, la configuration NAT permet l’accès au réseau de l’entreprise en passant pour l’hôte.  Si l’hôte a accès à Internet alors cet accès sera disponible pour l’invitée.
Pour une communication, privé, entre l’hôte et l’invitée, il faut ajouter une CIR de type ‘Host-only Adapter’.
Nous avons créé cette interface à l’étape 5.3.

Il aurait été possible de procéder autrement, en définissant une carte réseau de type ‘Bridge‘ ce qui dote la VM de sa propre CIR visible par le réseau de l’entreprise.  C’est une solution bien plus facile à mettre en place.  Il n’est plus alors nécessaire d’ajouter une deuxième CIR pour la communication entre l’hôte et l’invitée.
Par contre, pour des raisons de sécurité, cette technique est interdite dans notre organisation.  Ce type de configuration va déclencher une alarme au service informatique.

 
Action 5.12 – Activer la CIR 2 en cochant ‘Enable Network Adapter’,  sélectionner ‘Host-only Adapter’ dans ‘Attached to:’  et confirmer avec le bouton ‘ok’

Note: vboxnet0 est le nom de la carte pour réseau privé créée à 5.3.  Elle devrait apparaitre automatiquement dans le champ ‘Name’ car c’est la seule de disponible dans notre configuration VirtualBox globale.

 
 
 
Voilà, nous avons créé notre première VM.
Pour l’instant, c’est un ordinateur défini par:

Nous en installerons un système d’exploitation sur la VM dans l’atelier suivant.
 


Document rédigé par Alain Boudreault – version 2018.01.09