Virtualisation d'un équipement d'une classe mobile

  • Bastien Poupelin [bastien.poupelin@etud.univ-angers.fr]
  • Anthony Cherruau [anthony.cherruau@etud.univ-angers.fr]
  • Corentin Thebaudin [corentin.thebaudin@etud.univ-angers.fr]
  • Quentin Fresneau [quentin.fresneau@etud.univ-angers.fr]

Sujet : Virtualisation d'un équipement d'une classe mobile

Il s'agit de mettre en place sur un PC (éventuellement) portable un serveur Xen 1) avec des machines virtuelles. L'une sera une passerelle pfsense qui devra importer une configuration existante, l'autre une machine sous Xubuntu 2) qui intégrera le serveur de gestion des tablettes du chariot.

Les attendus sont les suivants :

  1. prises de connaissance et représentation de l'existant sous forme visuelle et textuelle dans le Wiki et dans le rapport final.
  2. description des étapes et de la méthodologie employée lors de la réalisation. Devront notamment apparaitre les étapes clés, les points importants, les difficultés rencontrées.
  3. un guide de réalisation pour refaire les étapes de la réalisation dans une page wiki (intégrant évidemment au mieux le point 2 et de forme très didactique)
  4. la validation par tests et essais en situation réelle : branchement de la machine configurée réalisée sur les équipements du chariot (commutateur réseau / hub USB / bornes Wi-Fi / réseau portable) et tests avec tablettes.
  5. le rapport devra faire apparaitre un diagramme de GANTT du projet où les implications et contributions de chacun devront apparaitre.
Le choix de Xen est fortement recommandé. Si un autre choix est réalisé, il devra être Open Source, pleinement justifié & associé à un état de l'art sur les hyperviseurs temps réel, la virtualisation et la para-virtualisation.

Le choix de Xubuntu concerne un aspect / problème technique lié à la gestion de l'USB et du nombre de périphériques adressables simultanément qui, s'il est décrit, expliqué et / ou corrigé pourra faire l'objet d'un “bonus”. Cette partie est subsidiaire.

Avancement des études et travaux

Prises de connaissance et représentation de l'existant

Le projet porte sur le regroupement de machines permettant la gestion d'un chariot de tablettes.
Pour cela, il faut tout d'abord effectuer une représentation du système fonctionnel présent avant la réalisation du projet.
Il existe un GIT dans lequel vous pouvez retrouver le suivi du projet : https://github.com/acherruau/projet2/blob/master/Etape1

I- Représentation de l'existant

1) Représentation visuelle

Représentation visuelle de l'existant

2) Représentation textuelle

Le chariot de tablettes est dirigé par deux machines distinctes: l'une est un PC portable accessible qui intègre un serveur de gestion des tablettes, l'autre est un pc vertical disposé dans le chariot, relié à toutes les tablettes servant de passerelle.

II- But recherché

Le but recherché sera donc de regrouper ces deux machines en une seule: pour cela, ces deux machines seront modélisées par des machines virtuelles pilotées sous XenServer. Une machine virtuelle sera sous Xubuntu, choix technique décrit plus tard dans cette page, et une autre sera une passerelle pfSense, où une configuration existante sera importée.

Représentation visuelle du projet

III- Prise de connaissance des outils à disposition

1) XenServer

Logo xerServer

Xen est un logiciel libre de virtualisation, ou plus précisément un hyperviseur de machines virtuelle.
Xen permet d'exécuter plusieurs systèmes d'exploitation (et leurs applications) de manière isolée sur une même machine physique sur un grand nombre de plate-formes. Les systèmes d'exploitation invités partagent ainsi les ressources de la machine hôte.
Xen est un « paravirtualiseur » ou un « hyperviseur » de machines virtuelles. Les systèmes d'exploitation invités ont « conscience » du Xen sous-jacent, ils ont besoin d'être « portés » (adaptés) pour fonctionner sur Xen. Linux, NetBSD, FreeBSD, Plan 9 et GNU Hurd peuvent d'ores et déjà fonctionner sur Xen.

Dans le cadre de notre projet, XenServer nous permettra donc de disposer de plusieurs machines virtuelles (dans notre cas 2) afin de gérer le chariot de tablettes sur une machine. Il faut donc télécharger l'iso de XenServer disponible à cette adresse: http://xenserver.org/open-source-virtualization-download.html Ensuite, un boot d'une clé USB avec cet iso et enfin un boot du PC ciblé directement sur la clé permet l'installation du XenServer.

Une fois que le XenServer est installé, il peut être dirigé en ligne de commande via le XenCenter (ou openxenmanager en version libre). Cela permet d'avoir une interface plus simple et globale du XenServer.

Pour cela, il faut tout d'abord installer openxenmanager via la ligne de commande suivante:

sudo apt-get install openxenmanager

Ensuite, il faut tout simplement taper openxenmanager dans l'invite de commande pour ouvrir l'interface.

Interface d'OpenXenManager
Il suffit enfin de taper sur “Add New Server”, et d'indiquer les données du XenServer.

Interface d'OpenXenManager
L'interface est donc connectée à ce dernier.

2) pfSense

Logo pfSense

PfSense est un routeur/pare-feu open source. Il utilise le pare-feu à états Packet Filter, des fonctions de routage et de NAT lui permettant de connecter plusieurs réseaux informatiques. Il comporte l'équivalent libre des outils et services utilisés habituellement sur des routeurs professionnels propriétaires. PfSense convient pour la sécurisation d'un réseau domestique ou de petite entreprise.

Après une brève installation manuelle pour assigner les interfaces réseaux, il s'administre ensuite à distance depuis l'interface web et gère nativement les VLAN.

Comme sur les distributions Linux, pfSense intègre aussi un gestionnaire de paquets pour installer des fonctionnalités supplémentaires comme un proxy par exemple.

Dans notre cas, pfSense va nous servir de passerelle entre la machine contenant le serveur de gestion du chariot et ce même chariot.

Pour cela, il faut tout d'abord télécharger l'iso de pfSense à cette adresse: https://www.pfsense.org/download/

Ensuite, il suffit d'ajouter l'iso à la liste d'isos disponibles dans le XenServer. Pour cela, on peut se connecter en ssh à ce dernier, et copier l'iso dans le dossier réservé à ceux-ci. Ainsi, lors de la création de VM, l'iso sera disponible afin de créer une VM pfSense.

IV- Etapes de réalisation du projet

1) Installation de XenServer

2) Pilotage de XenServer par OpenXenManager

3) Création d'une VM Xubuntu

4) Création d'une VM pfSense

5) Pilotage de pfSense par l'interface web

6) Utilisation des périphériques (Wi-fi, USB)

V- Résumé de l'avancée des réalisations techniques

Date Etape Descriptif Avancement
03/01/17 Lecture et compréhension du sujet Prise de connaissance du fonctionnemment de XenServer, pfSense. OK
03/01/17 Installation de XenServer Téléchargement de l'iso, boot d'une clé avec l'iso, boot du pc avec la clé contenant l'iso de XenServer. Problème rencontré: la clé n'est pas reconnue par le PC. OK
04/01/17 Installation de XenServer Utilisation d'une autre clé USB, lancement du server OK
04/01/17 Creation d'une VM Xubuntu Téléchargement de l'iso Xubuntu, premier test avec un boot grâce à une clé USB: l'iso n'est pas reconnu.
Seconde solution: copie de l'iso par SSH, copie dans le fichier contenant les isoS du XenServer: Réussite.
Un problème survient lors du lancement de la VM: le bootloader plante.
Utilisation de la ligne de commande: #xe vm-param-set uuid=[Virtual Machine UUID] HVM-boot-policy=BIOS\ order HVM-boot-params:order=dc.
OK
05/01/17 Creation d'une VM pfSense Téléchargement de l'iso pfSense, ajout de l'iso à la liste disponible du XenServer. Création de la VM pfSense.
Paramétrage de la VM afin d'avoir accès à l'interface web. Les VM sont reliées entre elles.
OK
06/01/17 et 09/01/17 Rédaction du wiki Rédaction du wiki contenant le détail de l'existant, le projet et les étapes de réalisation. OK
10/01/17 et 11/01/17 Correction de bugs Correction de problèmes de lenteur sur Xubuntu et de connection via l'interface web pfSense. OK
12/01/17 et 13/01/17 Tests sur tablette et port USB Recherche d'informations pour la connexion d'une tablette. OK
13/02/17 et 14/02/17 Tests sur tablette et port USB Activation des ports usb et connexion d'une tablette avec la commande cmd : accès au contenu de la tablette.
Réinstallation d'une VM Xubuntu 64bits pour pouvoir lancer les différents scripts.
Corection de bug.
OK
15/02/17 Test sur tablette et port USB Test des différents scripts.
Correction bug de conflits entre pfSense et XenServer causé par les différentes interfaces.
OK
16/02/17 Test nouvelle configuration pfSense Changement du fichier de configuration pfSense avec celui qui nous a été donné (provocation d'un crash de PfSense).
Réinstallation de PfSense.
OK
27/02/17 Test du système avec le chariot 13 tablettes sur 40 reconnus.
Recherche de solutions/hypothèses à ce problème.
OK
28/02/17 Paramétrage de PfSense Ajout de la carte réseau pour dissosier les deux sorties du xen. OK
01/03/17 Installation/Réinstallation Test d'une nouvelle installation avec une machine Unix qui virtualise via VirtualBox les VMs souhaitées. (échec à cause de la mémoire RAM)
Réinstallation complète de XenServer, Xubuntu et PfSense.
OK
02/03/17 Point sur le projet Enregistrement de Snapshot avec les versions des VMs fonctionnelles.
Installation du mode DHCP sur XenServer.
Installation des paquets pour lire les ports USB du PC (usb-utils).
OK
03/03/17 Nouveau test avec les solutions envisagées

Prêt d'un nouveau PC portable 

Point sur le projet
Test en branchant l'alimentation du PC, avec une seule tablette (ou en débranchant une) et sur les différents ports USB.

Réinstallation complète du systême pour le retester.

Toutes les tablettes sont reconnues et les scripts sont lancés sur chacune d'elles (“autorisation pour ce PC” sélectionner au préalable).
OK
27/03/17 Rédaction des différents supports écrits et préparation orale Rédaction du wiki et du diagramme de Gantt. En cours

VI- Réalisation de tests

VII- Problèmes rencontrés et solutions mises en place

VIII- Diagramme de GANT

Diagramme disponible à l'url suivant: https://www.tomsplanner.fr/?template=new#doc=mocFVXEnNikbXNQInVWn email: corentin.thebaudin@laposte.net mdp: coco72

IX- Documents réalisés

Matériel mis à disposition

- Un ordinateur portable avec son alimentation et sa sacoche

Nom Entité Statut Utilisateur Groupe Type Fabricant Numéro de série Modèle Informations financières et administratives - Date d'achat Informations financières et administratives - Valeur Composants - Processeur Composants - Mémoire (Mio) Composants - Taille du disque dur Dernière modification

|LGJ |Entité racine |Réservé formation |Projet licpro |DptInfo |portable serveur |Hewlett-Packard |CND1244LGJ |HP EliteBook 8540w |2011-08-29 |915.00 |Intel(R) Core(TM) i5 CPU M 560 @ 2.67GHz |4 096 Mio |312 571 Mio |2017-01-02 15:23 |

8fh Entité racine emprunté stage dpt Projet licpro licpro portable serveur Hewlett-Packard 4CZ13908FH HP EliteBook 8560w 2011-10-21 1 524.32 Intel(R) Core(TM) i7-2620M CPU @ 2.70GHz 4 096 Mio 2017-03-03 11:24

- Un adaptateur HP USB ↔ Ethernet [adresse MAC 9c:eb:e8:4a:96:46 | identification drivers enx9cebe84a9646 ]

- Un adaptateur Apple USB ↔ Ethernet [adresse MAC 3a:d4:3a:6d:ed:33 ]

- Une clé USB 2.0 de 4Go

- Une tablette Samsung galaxy tab (N°21) avec cordon USB- micro-USB

- Une tablette ASUS avec son coffret contenant cordon spécifique et accessoire (clavier) …

- Un mini hub usb 3 ports USB 2.0

Poste d'administration des tablettes (Dell D430)

FIXME La reconnaissance de toutes les tablettes par les ports USB est possible sous Xubuntu mais limité à 7 tablettes sous Ubuntu

Mise à jour de l'OS sur les tablettes

→ Applications → Paramètres → Genéral → A propos de l'appareil → mise à jour logicielle → Mettre à jour maintenant. Installer

Tabulatum : Gestion d'une flotte de tablettes

Ensemble de scripts développé en 2015 par les étudiants (Jérôme FOURMOND et Florentin NOEL) sous la direction de Vincent BARICHARD pour la gestion de tablettes

  • Les scripts et développements

GEST_TABLETTES

Nommage des tablettes

Nommage des tablettes : NomDuModele/4DerniersNumSerie/Num

Ex : SM-T530/NY6V/01

Liste des id des tablettes Samsung Galaxy Tab 4

cbef8dea0474aedb 01
944d6c8f0470764f 02
e3e589ea046fe2fd 03
1669ccda0473b2fb 04
97716b8f046f7b5e 05
d2e58fea0473b4ae 06
d8e78aea04741c11 07
1c71ccda0474afb6 08
9c4f6b8f046f7bb7 09
d3ed8dea0474aee1 10
d8e18aea046fe27f 11
12ed47510471fa6d 12
d8ed8dea04741cf4 13
a46d6a8f0474b139 14
e4ed89ea04741c4e 15
206fc5da047202e1 16
1767c9da0473a11e 17
9b736c8f04739f27 18
e0d78cea046f16fd 19
4ed98c9104739fc2 20
1553c6da0473b200 21
d5f58fea047333fa 22
215dc5da0471fd83 23
2567c9da04732986 24
53f721270471f97c 25
256fc9da047328d2 26
086bccda046fe14a 27
164fc5da0473b271 28
d8cf8cea047334bf 29
daf58aea046f7ac4 30
a66d6b8f04732efd 31
1779c5da0471fd54 32
176fc5da0473b4cb 33
144dc6da046f7a9a 34
dbd78dea04741cd4 35
9b676b8f04720499 36
d0d38dea0470726f 37
a6696c8f046f7be3 38
ccd98dea04741c27 39
18e1425104739df0 40
d0cd8fea047333dc 41
e2e38cea0471ff95 42

Bornes Wifi pour tablettes

Le paramétrage se fait à l'aide du logiciel Apple Airport de l'iPad (Mac adresse 90:8D:6C:0F:CA:F0)

Borne 1

  • Airport Extrem 802.11 ac
  • N° Série C86NF6XPFJ1R
  • SSID : WifiTabDptInfo1
  • MAC ADDRESS Ethernet (WAN): 6C:70:9F:D5:88:A5
  • MAC ADDRESS Wifi (2,4 Ghz) : 6C:70:9F:E4:93:DC
  • MAC ADDRESS Wifi (5 Ghz) : 6C:70:9F:E4:93:DD
  • IP : DHCP
  • mode : pont

Borne 2

  • Airport Extrem 802.11 ac
  • N° Série C86NF78AFJ1R
  • SSID : WifiTabDptInfo2
  • MAC ADDRESS Ethernet (WAN): 6C:70:9F:D5:8A:0E
  • MAC ADDRESS Wifi (2,4 Ghz) : 6C:70:9F:E5:4F:84
  • MAC ADDRESS Wifi (5 Ghz) : 6C:70:9F:E5:4F:85
  • IP : DHCP
  • mode : pont
1)
le choix de Xen est fortement recommandé. Si un autre choix est réalisé, il devra être opensource, pleinement justifié & associé à un état de l'art sur les hyperviseurs temps-réel, la virtualisation et la para-virtualisation
2)
le choix de xubuntu concerne un aspect / problème technique lié à la gestion de l'USB et du nombre de périphérique adressable simultanément
projets_etudiants/2017_l3pro_eg_virtualisation_classe_mobile.txt · Dernière modification: 28/03/2018 11:59 par De Germain Frantz
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0