TP VDI⚓
NOTE : se reporter au Glossaire à la fin de ce document pour les termes techniques non explicites et autres acronymes
Objectif du TP et considérations sur l'usage des ressources VDI⚓
L'objectif du TP est simple : que vous soyez en mesure, le cas échéant, d'accéder depuis votre ordinateur personnel à des ressources virtuelles centralisées de type VDI mises à disposition par l'école. Pour celà il va vous falloir installer (et tester) un client de déport d'affichage spécifique absent a priori sur votre ordinateur portable car, quel que soit le système d'exploitation utilisé sur votre ordinateur portable (Windows, Linux ou macOS), ce logiciel client est absolument nécessaire pour accéder aux VM qui seront potentiellement mises à votre disposition. NB : nous mettons à disposition exclusivement des VM de type Linux ou de type Windows.
La solution VDI retenue à l’école est "signée" Red Hat et se nomme RHV. Comme pour toute autre solution de ce type, le principe général consiste à exécuter des postes de travail virtualisés, autrement dit des VM, sur des serveurs dédiés et centralisées (ie. dans un Datacenter) afin d'en déporter l'affichage sur des postes clients (physiques) - comme, par exemple, votre ordinateur portable. Notons tout de suite que ce TP ne vous permettra de voir qu'une toute petite partie des fonctionnalités de la solution RHV.
Avant de débuter ce TP, il est important d'insister sur un point : l'usage raisonné (et raisonnable) des ressources RHV. Comme on l'a dit précédemment, les solutions VDI sont des ressources centralisées... et donc partagées. Il faut être conscient qu'à un instant donné une multitude de VM peuvent être en cours d'exécution et que les ressources de l'infrastructure ne sont pas illimitées. Il importe donc de libérer les ressources, c'est-à-dire d'éteindre les VM non utilisées qui vous ont été allouées dès que vous ne les utilisez plus.
Schéma synoptique⚓
Légende
Installation du client SPICE (virt-viewer) à faire sur ordinateur personnel, déjà fait sur postes administrés
Connexion au portail utilisateur depuis un navigateur (supporté) avec son compte école
Sélection d'une VM puis "allumage" au besoin & attente du lancement de la VM
Prise de console SPICE (téléchargement du fichier console.vv via le navigateur)
Déport d'affichage de la VM sur le poste client, interaction avec la VM & "extinction"
Dans le schéma ci-dessus on donne une vision simplifiée "orientée élève" de l'architecture RHV où l'accent est mis sur la "mécanique" identique (et en 5 étapes) permettant d'exploiter des ressources virtuelles, peu importe sa localisation. Ceci explique le fait qu'il n'y ait pas de différences apparentes dans l'accès aux VM, qu'il se fasse en interne école (LAN) ou en externe (WAN). Dans la réalité, certaines différences devraient apparaître mais c'est transparent vu de l'utilisateur final. L'accent est mis également sur l'utilisation du protocole SPICE car, bien que plusieurs protocoles de déport d'affichage soient exploitables par RHV, c’est SPICE qui sera privilégié pour ses bonnes performances (avec une VM Linux ou Windows).
Déroulé du TP... pour les impatients⚓
En résumé, ce TP consiste à...
installer virt-viewer sur votre ordinateur personnel (en faisant l'hypothèse que ce logiciel est bien manquant)
accéder au portail VDI (http://vdi.imt-atlantique.fr) avec vos identifiants école
sélectionner et "allumer" une VM mise à votre disposition sur ce portail : soit TP-AtelierVDI-Windows ou TP-AtelierVDI-Linux
afficher la console de cette VM sur votre ordinateur et se connecter...
TP-AtelierVDI-Linux : ouverture de session automatique (cf. le Déroulé pas à pas pour plus de détails sur les comptes utilisables)
TP-AtelierVDI-Windows : au choix s'authentifier comme Utilisateur avec le mot de passe usr ou comme Administrateur avec le mot de passe adm
intergir avec cette VM (pour évaluer sa réactivité) puis "l'éteindre"... afin de passer à autre chose
Si vous êtes pressé et si vous avez une bonne maîtrise de l'informatique vous devez pouvoir vous débrouiller ! Si vous bloquez sur un point, référez-vous au déroulé pas à pas ci-dessous.
Déroulé du TP pas à pas⚓
Remarque importante : vous trouverez ci-dessous un certain nombre de copies d'écran qui illustrent les différentes étapes du TP et aident ainsi - on l'espère - à sa compréhension ; toutefois ces copies d'écran ne sont pas le reflet exact de ce que vous verrez en TP car les pools de VM mis à votre disposition diffèrent légèrement ; donc, si vous vous référez à ces illustrations, attachez-vous à "l'esprit" plutôt qu'à la "lettre"...
Etape 1 : Installation du client SPICE⚓
NB : cette étape n'est utile que si le client SPICE n'est pas déjà installé - en effet, elle n'est à faire qu'une fois, pour un poste donné.
Le client virt-viewer est disponible pour Linux, Windows et macOS. Mais, on l'aura compris, sans virt-viewer un poste client est incapable d'afficher une console de VM accessible via le protocole SPICE et il faut donc l'installer sur votre ordinateur personnel alors que dans les salles de TP - qu’elles soient situées à Brest, Nantes ou Rennes – le client virt-viewer est pré-installé et correctement configuré.
Par ailleurs, l’articulation entre le navigateur et le client virt-viewer passe par un fichier texte (console.vv). Ce fichier contient toutes les informations nécessaires à l’accès au déport d’affichage de la VM et il faut que les fichiers .vv soient associés avec l'application virt-viewer (qui in fine va les prendre en charge) et ceci est normalement configuré par défaut à la fin de l'installation.
ComplémentInstallation sur ordinateur personnel Windows⚓
NB : sous Windows il vous faudra disposer de droits Administrateur
Virtviewer pour Windows
Le client virt-viewer est fourni sous forme de paquets MSI pour Windows (en 32 bits ou 64 bits) qui sont disponibles dans leur version courante directement depuis le portail sur la page https://vdi.imt-atlantique.fr/ovirt-engine/rhv/client-resources ; cf. la copie d'écran (partielle) ci-dessous :
Pour les utilisateurs de portables Windows, sauf à posséder un ordinateur très ancien, c'est évidemment la version courante en 64 bits qui s'impose. Après téléchargement, l'installation est triviale et pratiquement silencieuse.
Si l'on examine l'impact de cette installation au niveau Menu Démarrer on trouvera un groupe nommé VirtViewer contenant une application nommée Remote viewer (et pointant bien sur l'exécutable remote-viewer.exe).
NB : on n'a pas besoin de lancer Remote viewer (via le Menu Démarrer) explicitement, "à la main" : il sera lancé automatiquement dès qu'on essaiera d'ouvrir une session SPICE (ie. dès qu'on cherchera à ouvrir un fichier console.vv).
UsbDk pour Windows
IMPORTANT : sur la page https://vdi.imt-atlantique.fr/ovirt-engine/rhv/client-resources on peut voir que si l'on souhaite exploiter des périphériques USB depuis les VM via SPICE il faut également télécharger puis installer un logiciel supplémentaire : UsbDk pour Windows. Cette installation n'est en fait nécessaire que si l'on a besoin d'accéder depuis la VM à une ressource USB connectée physiquement sur le poste client local.
Pour les utilisateurs de portables Windows il faut bien entendu choisir la même version (32 bits ou 64 bits) que celle choisie pour virt-viewer. L'installation est triviale et pratiquement silencieuse.
ComplémentInstallation sur ordinateur personnel Linux⚓
NB : sous Linux il vous faudra disposer de droits root (via sudo ou autre).
Il y a de multiples façons d'installer un logiciel sous Linux, suivant la distribution, via des outils graphiques ou en mode ligne de commande. Le paquet virt-viewer est normalement fourni dans les dépôts des distributions Linux. Comme il existe beaucoup de distributions Linux on se contentera de décrire l'installation type pour les 3 familles courantes, en mode ligne de commande. Le principe général reste le même : on commence par actualiser les dépôts puis on procède à l'installation du paquet.
Linux Debian ou apparentés (Ubuntu, Linux Mint, Knoppix, etc.) : système de packaging DEB
$ sudo apt update
$ sudo apt install virt-viewer
Linux Red Hat ou apparentés (Fedora, CentOS, openSUSE, etc.) : système de packaging RPM
$ sudo dnf makecache
$ sudo dnf install virt-viewer
Arch Linux ou apparentés : système de packaging Pacman
$ sudo pacman -Sy
$ sudo pacman -S virt-viewer
ComplémentInstallation sur ordinateur personnel macOS⚓
Le logiciel virt-viewer pour les systèmes macOS n'est pas pris en charge officiellement par Red Hat. Toutefois, il existe un paquet (fourni par la communauté) dont l'installation est un peu plus complexe, décrite dans une documentation spécifique sur l'Intranet : https://intranet.imt-atlantique.fr/assistance-support/informatique/didacticiels/installation-du-client-virt-viewer-sous-macos/
En substance, la procédure consiste à utiliser Homebrew, un gestionnaire de paquets open-source pour systèmes macOS, qui est largement utilisé pour installer sur Mac des logiciels venant du monde Linux.
Etape 2 : Connexion au portail utilisateur⚓
On n’accède pas directement à une VM mais, via un navigateur, à un portail web qui constitue notre point d’entrée de l’infrastructure RHV. Après authentification, on peut afficher et accéder aux VM qui nous ont été assignées - voir plus loin pour avoir plus de détails à ce sujet. Comme on le voit sur le synoptique, ce portail est accessible aussi bien en interne (cf. portion LAN du schéma) qu'en externe (cf. portion WAN du schéma).
L'URL à saisir au niveau du navigateur est la suivante : http://vdi.imt-atlantique.fr
En cliquant sur Portail VM on accède à la demande d'authentification. Vous devrez saisir vos identifiants école (login + password). NB : il s'agit bien ici de fournir votre login et pas un autre identifiant (ex : votre adresse de messagerie).
Etape 3 : Sélection et "allumage" d'une VM⚓
En fait, selon son statut et/ou son cursus, l'élève trouvera à sa disposition un nombre variable de VM... voire aucune ! Lors de ce TP nous avons fait en sorte que vous puissiez avoir accès à deux VM : une VM Linux (issue du pool TP-AtelierVDI-Linux-??) et une VM Windows (issue du pool TP-AtelierVDI-Windows-??).
Instancier une VM signifie se voir attribuer une VM (d'un pool donné) qui sera "allumée" automatiquement. On peut noter dans la copie d'écran ci-dessous que même si cette opération est automatisée on voit apparaître une phase transitoire avec simultanément la représentation du pool et l'instance de la VM (pas encore "allumée") issue de ce pool. Cette phase dure typiquement entre quelques secondes et quelques dizaines de secondes ; et il ne sert à rien de cliquer sur le bouton Exécuter, il faut simplement attendre que la VM soit démarrée !
Etape 4 : Prise de console SPICE pour une VM⚓
NB : le "bouton" Console (ou Console SPICE) affiché par défaut ne doit pas faire oublier qu'il s'agit d'un menu déroulant qui donne accès à plusieurs actions, variables selon l'état de la VM.
Quand on clique sur le bouton Console SPICE cela entraîne le téléchargement d'un fichierconsole.vv que le navigateur va pouvoir ouvrir via l'application qui est associée aux fichiers .vv. La procédure exacte dépend du navigateur & du système d'exploitation employés. Dans la copie d'écran ci-dessous, on emploie Firefox comme navigateur et on voit que l'association est correctement effectuée puisque par défaut on nous propose d'ouvrir ce fichier avec l'application Afficheur distant (sous-entendu virt-viewer) ; mais dans d'autres cas il faut explicitement cliquer sur console.vv et faire Ouvrir.
Etape 5 : Déport d'affichage, interaction et "extinction" d'une VM⚓
Quelques instants après avoir cliqué sur OK on voit s'afficher sur le bureau du poste client la console sous forme d'une fenêtre supplémentaire (qu'on peut redimensionner à loisir). Dans notre exemple, comme il s'agit d'une VM Windows, on obtient ceci :
A partir du moment où la console est affichée on doit considérer qu'on a à faire à un ordinateur supplémentaire. Autrement dit : on ouvre une session, on lance des applications, ...etc. On peut donc interagir avec la VM comme on le ferait avec un ordinateur physique - et pour pallier à certaines limites le client Remote viewer fournit un certains nombres de fonctionnalités via des menus déroulants situés en haut à gauche de la fenêtre console :
Les comptes utilisateurs exploitables sont les suivants :
VM | Compte super utilisateur | Mot de passe associé | Compte utilisateur standard | Mot de passe associé |
---|---|---|---|---|
TP- AtelierVDI- Linux | root | adm | user | usr |
Tp- AtelierVDI- Windows | Administrateur | adm | Utilisateur | usr |
NB : dans la VM TP-AtelierVDI-Linux l'ouverture de session est automatique et utilise le compte user
Lorsqu'il s'agit "d'éteindre" la VM on opère à la manière du système d'exploitation qu'utilise cette VM. Dans notre exemple, comme il s'agit d'une VM Windows, on passera par le menu Démarrer > Marche/Arrêt > Arrêter comme on le voit ci-dessous :
IMPORTANT : fermer la fenêtre virt-viewer et "éteindre" la VM sont deux actions très différentes ! Dans le premier cas on se contente d'arrêter le déport d'affichage (mais la session pourra être récupérée en l'état ultérieurement, en recliquant sur Console SPICE) ; alors que dans le second cas on éteint réellement la VM.
Annexes⚓
Glossaire⚓
déport d'affichage
- technologie consistant à transférer via le réseau le contenu graphique d'un système donné afin de le visualiser sur un poste distant et à interagir avec ce système via le clavier/souris du poste distant
- il existe de nombreux protocoles de déport d'affichage : RDP, VNC, ICA/HDX, SPICE, etc.
DataCenter
- désigne un site (physique) regroupant des équipements informatiques (serveurs, routeurs, commutateurs, etc.) et stockant des données accessibles via le réseau (ie. Internet)
LAN
- acronyme de Local Area Network
- notion englobant l'ensemble des technologies permettant la communication réseau entre des machines au sein d'une entité de taille variable comme, par exemple, une école ou une entreprise
portail RHV
- appellation courante de Red Hat Virtualization VM Portal
- vu de l'utilisateur le portail RHV est un site web accessible via un simple navigateur
RHV
- acronyme de Red Hat Virtualization
- RHV est une solution de virtualisation open-source complète, dérivée du noyau Red Hat Enterprise Linux, de la technologie KVM (Kernel-based Virtual Machine) et des projets de gestion de virtualisation oVirt
SPICE
- acronyme de Simple Protocol for Independent Computing Environments
- techniquement parlant il s'agit d'un protocole de déport d'affichage conçu pour les environnements virtuels et permettant de visualiser des environnements informatiques de type "bureau"
- le code est publié sous licence open-source par Red Hat depuis 2009 (suite à l'acquisition de la société Qumranet)
VDI
- acronyme de Virtual Desktop Infrastructure
- VDI, traduit en français par infrastructure de bureau virtuel ou machine virtuelle est un système permettant la dissociation de la machine de l'utilisateur d'une part et de la machine physique d'autre part (cf. https://fr.wikipedia.org/wiki/Virtual_desktop_infrastructure)
VM
- acronyme de Virtual Machine, traduit en français par machine virtuelle
- une machine virtuelle est une illusion d'un appareil informatique créée par un logiciel d'émulation ou instanciée sur un hyperviseur. Le logiciel d'émulation simule la présence de ressources matérielles et logicielles telles que la mémoire, le processeur, le disque dur, voire le système d'exploitation et les pilotes, permettant d'exécuter des programmes dans les mêmes conditions que celles de la machine simulée (cf. https://fr.wikipedia.org/wiki/Machine_virtuelle)
WAN
- acronyme de Wide Area Network
- notion englobant l'ensemble des technologies permettant la communication réseau sur de grandes distances et faisant appel typiquement à des réseaux d'opérateurs interconnectés entre eux
Configurations supportées pour l'accès à l'infrastructure RHV⚓
IMPORTANT : Red Hat fixe dans ses documentations un certain nombre de prérequis au niveau des postes clients pour utiliser RHV (et les ordinateurs personnels sous macOS ne sont pas officiellement supportés au niveau de SPICE !)
Combinaisons (navigateur + système d'exploitation) supportées ⚓
Red Hat définit 3 niveaux de support en terme d'accès à RHV depuis un poste client et une combinaison donnée (navigateur + système d'exploitation) relève de tel ou tel niveau. L'ensemble est susceptible de varier en fonction des changements de version de navigateur ou autre (et aussi des solutions apportées par Red Hat en cas de problème rencontré). Au moment de la rédaction de ce document Red Hat fournit pour RHV 4.4 le tableau suivant :
Support Tier | Operating System Family | Browser |
---|---|---|
Tier 1 | Red Hat Enterprise Linux | Mozilla Firefox Extended Support Release (ESR) version |
Any | Most recent version of Google Chrome, Mozilla Firefox, or Microsoft Edge | |
Tier 2 | ||
Tier 3 | Any | Earlier versions of Google Chrome or Mozilla Firefox |
Any | Other browsers |
On pourrait reformuler les choses ainsi : en terme de navigateur et de système d'exploitation RHV est très bien supporté si on possède une configuration pas trop datée. Courant 2021, la situation est la suivante :
Niveau 1 : combinaisons (navigateur + système d'exploitation) pleinement testées et supportées
- N'importe quel système + Versions les plus récentes de Google Chrome, Mozilla Firefox ou Microsoft Edge
Niveau 2 : combinaisons (navigateur + système d'exploitation) partiellement testées et potentiellement fonctionnelles
- néant pour la version courante
Niveau 3 : combinaisons (navigateur + système d'exploitation) non testées mais susceptibles de fonctionner
- N'importe quel système + Versions antérieures de Google Chrome ou Mozilla Firefox
- N'importe quel système + Autres navigateurs
Client de déport d'affichage supporté⚓
Les consoles de VM ne sont officiellement accessibles qu'à l'aide des clients Remote Viewer (virt-viewer) pris en charge sur Red Hat Enterprise Linux et Windows. Autrement dit : en théorie, les systèmes Linux "non Red Hat" et les systèmes macOS ne sont pas pris en charge ; en pratique il semble que seules certaines versions de macOS peuvent poser problème.
L'installation de virt-viewer est officiellement documentée au paragraphe Installing Supporting Components on Client Machines dans le Guide de gestion des machines virtuelles de Red Hat. Dans ce document nous avons décrit cette installation en essayant de couvrir les cas de figure les plus fréquent (et pas seulement ceux donnés par Red Hat).
Problèmes connus et dépannage⚓
En cas de problème il faut chercher à diagnostiquer avec méthode car le problème peut survenir au niveau des différentes phases du processus de connexion à une VM. Il faut donc repartir du synoptique et se poser les bonnes questions :
Problème de connexion (depuis son navigateur) au portail VDI ?
Problème réseau et/ou de résolution de nom ? Assurez-vous de pouvoir "pinguer" vdi.imt-atlantique.fr
Navigateur "exotique" ? Assurez-vous que votre navigateur est bien supporté (cf. le chapitre Configurations supportées pour l'accès à l'infrastructure RHV)
Problème d'authentification au portail VDI ?
Assurez-vous que les champs Nom d'utilisateur/Mot de passe sont correctement renseignés (avec votre login/password école)
Testez vos identifiants école sur un autre service et, au besoin, informez le support d'un problème de compte informatique
Problème de visibilité et/ou disponibilité de la VM (une fois connecté au portail) ?
Si aucune VM n'apparaît c'est qu'aucune VM n'a été mise à votre disposition. Si vous êtes élève et que votre cas diffère de celui de vos condisciples , demandez à votre enseignant(e)/encadrant(e) de prendre contact avec la DISI
Problème de téléchargement et/ou d'ouverture du fichier de console (console.vv) ?
Suivant les navigateurs l'accès à la zone de téléchargement varie
Il faut exploiter le fichier console.vv rapidement car il a une durée de vie limitée à 2 mn ; en cas de problème il faut re-cliquer sur Console SPICE pour obtenir un nouveau fichier valide... pour 2 mn !
Certains antivirus et/ou firewall (ie. sous Windows) font de l'analyse poussée de certificat et peuvent ainsi empêcher l'ouverture de console - cela se vérifie en désactivant momentanément son antivirus et/ou firewall
Si aucune application valide n'est trouvée pour ouvrir le fichier console.vv c'est que l'installation de virt-viewer s'est mal passée ou que l'aasociation avec les fihiers .vv est mal configurée
Problème pour s'authentifer au niveau de l'ouverture de session (VM Windows) ?
Si vous avez un clavier autre que AZERTY, vérifiez que vous tapez bien les "bons" caractères
Références⚓
Documentation Introduction to the VM Portal (Red Hat) : https://access.redhat.com/documentation/en-us/red_hat_virtualization/4.4/html-single/introduction_to_the_vm_portal/index#What_is_the_VM_Portal
Documentation Virtual Machine Management Guide (Red Hat), cf. chapitre Installing Supporting Components on Clients Machines : https://access.redhat.com/documentation/en-us/red_hat_virtualization/4.4/html-single/virtual_machine_management_guide
Site officiel Homebrew, pour utilisateurs macOS : https://brew.sh/index_fr
Page homebrew-virt-manager (GitHub), pour utilisateurs macOS : https://github.com/jeffreywildman/homebrew-virt-manager
Site offciel de téléchargement de virt-viewer : https://virt-manager.org/download
Site offciel SPICE : https://www.spice-space.org/