Virtual Desktop Infrastructure

Transcription

Virtual Desktop Infrastructure
Ludovic MARCHAL
Formation:TSGERI
Session:2015/2016
Ce(tte) œuvre est mise à disposition selon les termes de la Licence
Creative Commons Attribution - Pas d’Utilisation Commerciale 4.0
International.
[email protected]
Ludovic MARCHAL
Formation : TSGERI Session 2015/2016
Table des matières
Important..................................................................................................................3
ULTEO..............................................................................................................................3
Contexte...................................................................................................................3
Qu’est-ce que Open Virtual Desktop ?.....................................................................3
A quoi sert Open Virtual Desktop ?.....................................................................4
Licence utilisateur illimitée dans le temps...............................................................4
Ulteo.........................................................................................................................5
Hardware minimum requis.......................................................................................5
Recommandations....................................................................................................6
Mode Bureau............................................................................................................7
Mode Portail.............................................................................................................7
Proof of concept.......................................................................................................8
Technique............................................................................................................9
Nota bene.............................................................................................................9
Tomcat...............................................................................................................10
Session manager.....................................................................................................10
Fixer l’IP............................................................................................................11
Connexion..........................................................................................................11
Administrateur...................................................................................................12
Utilisateur..........................................................................................................12
Tour du propriétaire................................................................................................12
Index..................................................................................................................12
Nota bene...........................................................................................................13
Serveurs.............................................................................................................13
Gestion des utilisateurs......................................................................................14
Ajout d’utilisateur..............................................................................................15
Groupes utilisateurs...........................................................................................16
Applications...........................................................................................................16
Assigner des applications à un groupe, ici les groupes représentent les sessions
de formation de l’AFPA de St Jerome (en partie.)............................................16
Configuration.........................................................................................................17
Etat.........................................................................................................................20
Rapports d’activités................................................................................................21
Rapports de sessions..............................................................................................21
Journal des actions d’administration......................................................................21
Infos........................................................................................................................22
Résumé...................................................................................................................22
Windows serveur2012R2............................................................................................22
Installation depuis les sources.....................................................................................24
Session manager.....................................................................................................24
Installer mysql...................................................................................................24
Serveur d’application.............................................................................................25
Environnement de bureau..................................................................................25
Colinux.........................................................................................................27
Principe technique....................................................................................27
coroutines.................................................................................................27
User Mode................................................................................................28
Avantages......................................................................................................28
[email protected]
2/33
Ludovic MARCHAL
Formation : TSGERI Session 2015/2016
Préambule
Je cherchais à l’origine à répondre à une problématique de gestion de
parc, déployer un environnement de travail homogène.
Je souhaitais également tenir compte des « changements » de mode, je
pense notamment au « BYOD » Bring Your Own Devices » :
le fait que l’utilisateur souhaite maintenant utiliser son appareil
personnel.
Important
Les adresses IP changeront plus ou moins régulièrement car la
découverte de Ultéo ne se fera pas toujours dans les mêmes conditions
en permanence.
VDI
Virtual Desktop Infrastructure
ULTEO
Contexte
Utilisation d’une OVA Open Virtual Appliance 4.0.2, OVD Community
edition
, système virtualisé par VirtualBox 4.3.36
Ordinateur portable Clevo ; Processeur I5, 8 Go RAM, 2 SSD en LVM.
Disponible sur le site OVD community.
Ainsi qu’une offre de licence à 120€/an
L’édition Premium d’OVD fournit des fonctionnalités étendues et
différents point d’accès pour la virtualisation de bureau, la mobilité, le
Bring Your Own Application. L’édition premium, lancée avec OVD 4.0 doit
être activée par une clé. Pour obtenir votre clé vous pouvez souscrire
un contrat avec OVD ou installer la Version d’essai Premium (english
only) avec une clé provisoire.
Source code
Qu’est-ce que Open Virtual Desktop ?
Ulteo Open Virtual Desktop (OVD) est une plateforme de mise à
[email protected]
3/33
Ludovic MARCHAL
Formation : TSGERI Session 2015/2016
disposition de bureau virtuel et d’applications qui supporte Windows
Desktop Services, Linux hosted desktop and application sessions.
OVD permet aux entreprises de les intégrer et les délivrer sous la
forme d’un service sécurisé pour les clients Windows, Linux, MacOS,
Android and IOS platforms.
A quoi sert Open Virtual Desktop ?
•
Vous devez rendre vos employées mobiles ?
•
Vous souhaitez leur proposer d’utiliser leur propre appareil ?
Mettre à disposition une application métier indispensable ? Ulteo
OVD peut vous aider dans ces démarches.
Windows et Linux virtual desktops
• Windows et Linux virtual apps
• Intégration parfaite multi-plateformes
Délivrable à tout type de clients
• Open source, basé sur une architecture ouverte
• Licence utilisateur illimitée dans le temps
Schéma
[email protected]
4/33
Ludovic MARCHAL
Formation : TSGERI Session 2015/2016
Ulteo
Est un éditeur de système de déploiement de bureaux en réseau.
Société française du Calvados, basé à Hérouville Saint Claire, et
disposnant d’un centre de développement à Colombelles
Fondée par Gabriel Duval, papa de Mandriva Linux, et Thierry Koehrlen,
foundateur of www.intalio.com dans l’idée de simplifier le bureau.
Ultéo est crée en 2006-2007 , permettant ainsi de distribuer LibreOffice
en reseau, l’intégration du bureau KDE s’ensuivra.
Un service de partage de documents en ligne apparaitra également:
Ulteo Documents Synchronizer; ce qui concurence directement
Googledoc.
Puis Ulteo Application System, codenamed Sirius
Ulteo Virtual Desktop verra le jour en 2008.
C’est un super produit, proposant les 2 Mondes: windows et Linux.
[email protected]
5/33
Ludovic MARCHAL
Formation : TSGERI Session 2015/2016
Hardware minimum requis
Pour une session
administrateur
Minimum
Evaluations/ prerequisites are 1
POCs
CPU core and 1GB
RAM
Ulteo recommends a
Production minimum of 4GB
environments RAM and 2 CPU
cores
[email protected]
Pour une
application
serveur (Linux
or Windows®)
Minimum
prerequisites are
1 CPU core and
1GB RAM
Ulteo
recommends a
minimum of
4GB RAM and 2
CPU cores
For a Web
Portal
If using the same machine to
host the Session Manager,
the Web Client and the
Linux Application Server
Minimum
prerequisites are 1 Minimum prerequisites are 1
CPU core and
CPU core and 1GB RAM
1GB RAM
Ulteo
Ulteo déconseille l’utilisation
recommends 4GB
de cette version pour une mise
RAM and 2 CPU
en production.
cores
6/33
Ludovic MARCHAL
Formation : TSGERI Session 2015/2016
Recommandations
OVD Application servers for Linux applications: x86 servers w/multicore or quad CPU w/1GB or more RAM. Count 8GB or more RAM
per 100 concurrent end-users.
Supported Host OS (32 or 64 bit): Ubuntu 12.04.*, 14.04*
OVD Application servers for Windows applications: Windows 2012R2
(64bit) Server + Active Directory and Terminal Services on any
hardware. 1GB or more RAM. Count a minimum of 12GB or more
RAM per 100 concurrent end-users.
Servers for OVD Session Manager: x86 server w/2GB or more RAM.
Count 4GB or more RAM per 100 concurrent starting user sessions.
Host OS (32 or 64 bit): Ubuntu 12.04.*, 14.04.*.
Note about OVD ApS and SM servers: It is possible to install both OVD components
on one PC for evaluation purposes. This configuration is not recommended for
production environments.
Web Client: Oracle Java 1.7 (32 bit only) enabled browser: Firefox 2+, Internet
Explorer 7+, any platform. Safari 5+ on MacOS. 512 MB RAM or more (1GB or
more is recommended
Native Client: Windows® XP/7/8 or Linux plateform. 512 MB RAM or more (1GB
or more is recommended)
iOS 4.3/5.x+ client for iPad/iPhone
Android 2.3+ Client for tablets and phones
Network: 100Mbps or more LAN
User directory servers: Active Directory, e-Directory/ZenWork and LDAP servers are
currently supported.
Fileservers: CIFS (Linux and/or Windows), embedded Ulteo WebDAV and CIFS
servers
[email protected]
7/33
Ludovic MARCHAL
Formation : TSGERI Session 2015/2016
Mode Bureau
Mode Portail
[email protected]
8/33
Ludovic MARCHAL
Formation : TSGERI Session 2015/2016
Proof of concept
lire article : ulteo
Déploiement des bureaux sur les postes du groupe de formation TSGERI,
ainsi que sur une tablette Archos (6) , et un smartphone sous android.
Le bureau est accessible depuis l’extérieur via une redirection de port .
Le serveur Ultéo est sur le LAN 3 à l’adresse
172.25.3.69
172.25.0.103 Est l’adresse de la carte WAN de
PFsense
Mais également depuis le LAN 4
Test effectué avec un téléphone Android, et une tablette Archos
Je vais aussi en casser quelques-une au passage.
[email protected]
9/33
Ludovic MARCHAL
Formation : TSGERI Session 2015/2016
Technique
OVA
Ulteo met à disposition une appliance ce qui est très pratique pour test,
et possiblement l’exploiter dans une petite structure. Elle peut être
installée dans un hyperviseur.
Nota bene
Modifier l’adresse MAC du serveur dans les paramètres avancé de
votre virtualiseur par :
08:00:27:23:A8:FA
Notons l’installation d’un server guacamole , un outil de prise en main à
distance supportant de RDP, ainsi que l’installation Tomcat apache2 pfmphp.
[email protected]
10/33
Ludovic MARCHAL
Formation : TSGERI Session 2015/2016
Tomcat
Session manager
Voici la partie session manager qui fonctionne sur le principe du serveur
LAMP, à ceci prés qu’il utilise aussi tomcat, qui est un peu particulier.
Ce qui sous entend qu’il y aura d’autre partie que nous verrons avec
l’installation depuis les sources.
L'architecture du logiciel se compose ainsi:
• Un serveur tomcat en cours d'exécution ;
• Des services intermédiaires collectant différents canaux de
transmissions vers un traitement ;
• Un moteur ( Engine), qui pour chaque service traite les
requêtes des collecteurs et renvoie les réponses ;
• Des hôtes ( Host), qui relient une adresse réseau avec le
serveur ;
• Des connecteurs ( Connector), qui interprètent un canal et
protocole de communication réseau à disposition des
clients. Le connecteur HTTP est le plus typique ;
• Des contextes (Context), qui sont les applications web.
Le contexte est le lieu privilégié pour situer un service informatique que
l'on veut rendre sur un réseau. Les autres modules sont mis en œuvre
par le logiciel tomcat lui-même.
[email protected]
11/33
Ludovic MARCHAL
Formation : TSGERI Session 2015/2016
L’appliance est en DHCP par défaut et nous pouvons fixer l’IP comme
proposé :
Fixer l’IP
Aucune difficulté : ID=ulteo, M2P=ulteo.
Meunu 2→ IP address→ netmask→ gateway→ 6 reboot yes→ ok.
Connexion
Se connecter avec le navigateur à l’adresse :
https://<ip.de.ser.ver>/ovd/
Il faut activer le support Java ; sous Gnu/Linux nous avons un
équivalant :
Un panneau apparaît laissant le choix de se connecter en mode
administrateur ou utilisateur.
[email protected]
12/33
Ludovic MARCHAL
Formation : TSGERI Session 2015/2016
Administrateur
Utilisateur
Ici des utilisateurs ont déjà étaient crée, très simplement. Pour des tests
c’est suffisant.
Tour du propriétaire
Index
L’index nous donne accès rapidement à l’ensemble du serveur de
manière plutôt intuitive, et efficace.
L’interface est bien traduite, aucun soucis de ce côté-là.
[email protected]
13/33
Ludovic MARCHAL
[email protected]
Formation : TSGERI Session 2015/2016
14/33
Ludovic MARCHAL
Formation : TSGERI Session 2015/2016
Nota bene
Nous sommes maintenant dans un réseau privé VirtualBox : 172.20.0.0/24
dans lequel je créerais également toutes l’infrastructure :
virtualdomain.xyz
ISC-DHCP-server
BIND9
PFSENSE
PHPIPAM
FusionDirectory : LDAP
Windows server 2012R2 AD
Windows server 2012R2 application
Client seven
Serveurs
Cet onglet nous indique quel type de serveur est virtualisé : Ubuntu 10.04
LTS .
Informations complémentaires
C’est ici que l’on renomme la machine.
[email protected]
15/33
Ludovic MARCHAL
Formation : TSGERI Session 2015/2016
Gestion des utilisateurs
LDAP/AD
Possibilité d’ajouter des utilisateurs en utilisant un script PHP situé à :
/usr/share/ulteo/sessionmanager/module/UserDB/sql.php
Le serveur LDAP est FusionDirectory.
Voici FusionDirectory
[email protected]
16/33
Ludovic MARCHAL
Formation : TSGERI Session 2015/2016
Des utilisateurs « exemple » peuple déjà le système, il suffit de les
détruire et d’en créer à la main pour test.
Ajout d’utilisateur
Cela ce fait très facilement en indiquant un ID et M2P.
Éventuellement il est même possible des M2P identique à l’ID
[email protected]
17/33
Ludovic MARCHAL
Formation : TSGERI Session 2015/2016
Groupes utilisateurs
Création d’un groupe
Applications
Assigner des applications à un groupe, ici les groupes représentent les
sessions de formation de l’AFPA de St Jerome (en partie.)
[email protected]
18/33
Ludovic MARCHAL
[email protected]
Formation : TSGERI Session 2015/2016
19/33
Ludovic MARCHAL
Formation : TSGERI Session 2015/2016
Configuration
Vérifier l’adresse de la DB, et la modifier si nécessaire.
Passer le système en mode maintenance.
Langue de la console d’administration
Options de debug
Et je pense avoir trouvé le réglage qu’il me manquait ‘Integration au
domaine’
[email protected]
20/33
Ludovic MARCHAL
Formation : TSGERI Session 2015/2016
Configuration serveurs
Définition des machines autorisées.
Gestion des résolutions de noms et noms inverse.
Gestion équilibrage de charge.
Méthode d’authentification
[email protected]
21/33
Ludovic MARCHAL
Formation : TSGERI Session 2015/2016
Paramètre de sessions
Définition du mode de sessions
Définition de la langue
Restriction horaires
Paramètres d ‘évènments
Paramètres de l’interface web
[email protected]
22/33
Ludovic MARCHAL
Formation : TSGERI Session 2015/2016
Modification du mot de passe
Etat
Sessions
Affiche l’état des sessions, connecté ou non, et sur quels serveurs ; cela
permet également de tuer une session.
[email protected]
23/33
Ludovic MARCHAL
Formation : TSGERI Session 2015/2016
Rapports d’activités
[email protected]
24/33
Ludovic MARCHAL
Formation : TSGERI Session 2015/2016
Rapports de sessions
Journal des actions d’administration
[email protected]
25/33
Ludovic MARCHAL
Formation : TSGERI Session 2015/2016
Infos
Résumé
Windows serveur2012R2
Un serveur Microsoft fait office de serveur d’applications, pour les
applications Microsoft.
A cet effet un exe est disponible sur le site d’ULTEO, qu’il convient de
récupérer et d’exécuter.
[email protected]
26/33
Ludovic MARCHAL
Formation : TSGERI Session 2015/2016
Je n’ai pour l’instant pas trouvé la solution.
[email protected]
27/33
Ludovic MARCHAL
Formation : TSGERI Session 2015/2016
Installation depuis les sources
Les sources sont disponible ici.
Vous pouvez choisir le dépôt qui convient à votre architecture.
Choisir l’architecture qui convient.
Ajout du repository
wget -O - http://archive.ulteo.com/ovd/4.0.3/debian/dists/jessie/ulteo_lists >
/etc/apt/sources.list.d/ulteo_ovd.list
Ajout des certificats
wget -O - http://archive.ulteo.com/ovd/4.0.3/debian/dists/jessie/keyring | apt-key add Mise à jour
apt-get update
Session manager
Installer mysql
apt-get install mysql-server
Creation de la base
mysql -u root -p -e 'ovd'
Session manager
On installe également la console d’adminitration
apt-get install ulteo-ovd-session-manager ulteo-ovd-administration-console
Une console interactive s’ouvre indiqué l’ip → 127.0.0.1→ admin→ M2P→
M2P
[email protected]
28/33
Ludovic MARCHAL
Formation : TSGERI Session 2015/2016
Attention au package d’installé.
La partie session manager est installé mais non configurée, il faut se
loger pour terminer, cella consiste à sauvegarder une première fois
votre configuration et vérifier que l’adresse du serveur mysql est la
bonne.
Par défault l’adresse est celle ci http://sm.test.demo/ovd/admin
Serveur d’application
apt-get install ulteo-ovd-slaveserver-role-aps ulteo-ovd-slaveserver-role-fs
L’adresse du session manager sera demandé, ces parties peuvent être
installé sur des serveurs différents. Cela peut être modifiée dans :
/etc/ulteo/ovd/slaveserver.conf
Environnement de bureau
apt-get install ulteo-ovd-desktop
Redemarrer le service
/etc/init.d/ulteo-ovd-slaveserver restart
[email protected]
29/33
Ludovic MARCHAL
Formation : TSGERI Session 2015/2016
Il faut ensuite enregistrer le serveurs
La redirection de noms est optionnelle cependant, si le gestionnaire de
session et le serveur d’application sont installés sur la même machine,
mieux vos configurer cette partie si l’on souhaite accéder au serveur
depuis l’extérieur.
Portail web
Il reste à installer le portail web
apt-get install ulteo-ovd-web-client
[email protected]
30/33
Ludovic MARCHAL
Formation : TSGERI Session 2015/2016
Colinux
Principe technique
Basé sur CoLinux: Cooperative Linux.
Cooperative Linux utilise le concept — plutôt rarement utilisé à l’époque
— d’une Cooperative Virtual Machine (CVM, machine virtuelle
coopérative), contrairement aux machines virtuelles classiques qui ne
tournent pas de façon privilégiée et restent sous le contrôle complet de
la machine hôte.
Le terme Cooperative (coopératif, en coopération) est utilisé pour
décrire deux entités travaillant de concert en parallèle, c’est-à-dire des
coroutines. En ce sens, une description très générale de Cooperative
Linux serait qu’il fait tourner deux noyaux de systèmes d’exploitation
dans deux (grosses) coroutines. Dans ce mode, chaque noyau (Linux et
NT) a son propre contexte processeur, et chaque noyau décide quand
redonner le contrôle à son partenaire.
Cependant, seul un des noyaux peut avoir le contrôle physique sur le
matériel, alors que l’autre doit se contenter d’abstractions fournies par
des composants matériels virtuels. L’hôte peut être n’importe quel
noyau de système d’exploitation qui peut fournir quelques fonctions de
base (dite primitives ou de bas niveau) pour permettre au pilote de
périphérique fourni par Cooperative Linux de tourner en mode CPL0 (dit
aussi ring 0) et allouer de la mémoire, qui sera utilisée par le noyau
Linux.
L’approche utilisée par Cooperative Linux a permis une conception bien
plus simple et son développement initial a ainsi duré moins d’un mois,
entre la première modification d’un noyau Linux 2.4.23-pre9 jusqu’à ce
qu’à un point où KDE puisse fonctionner.
Les seuls défauts de cette approche sont la stabilité et la sécurité. Si le
noyau invité (coLinux) devient instable, il peut faire planter le système
hôte (Windows). Cependant, on peut prendre des mesures comme
l’arrêter proprement aux premiers signes critiques (Oops ou panic
error). Concernant la sécurité, fournir un accès total (root) sur la partie
Cooperative Linux peut certes donner un accès total (Administrateur) à
la partie Windows qui joue le rôle d’hôte, par exemple en utilisant des
modules de noyau spécialement écrits.
[email protected]
31/33
Ludovic MARCHAL
Formation : TSGERI Session 2015/2016
coroutines
Dans un programme, une coroutine est une unité de traitement qui
s’apparente à une routine, à ceci près que, alors que la sortie d’une
routine met fin à la routine, la sortie de la coroutine peut être le résultat
d’une suspension de son traitement jusqu’à ce qu’il lui soit signalé de
reprendre son cours. La suspension de la coroutine et la reprise de son
cours peuvent s’accompagner d’une transmission de données.
Les coroutines permettent de réaliser des traitements basés sur des
algorithmes coopératifs comme les itérateurs, les générateurs, des
canaux de communication, etc.
User Mode
User Mode Linux ou UML est un noyau Linux compilé qui peut être
exécuté dans l’espace utilisateur comme un simple programme. Il
permet donc d’avoir plusieurs systèmes d’exploitation virtuels sur une
seule machine physique hôte exécutant Linux.
Avantages
Les avantages sont nombreux:
Si un User Mode Linux plante, le système hôte n’est pas affecté.
Un utilisateur sera root sur un User Mode Linux, mais pas sur le système
hôte.
Il permet aussi de tester différents paramètres noyaux sans se soucier
des conséquences.
Il permet de tester différentes configurations ou compilations du noyau
sans avoir à l’installer et redémarrer la machine.
Il permet de mettre en place un réseau complètement virtuel de
machines Linux, pouvant communiquer entre elles. Les tests de
topologies lourdes d’un point de vue physique peuvent donc être menés
aisément ici.
[email protected]
32/33
Ludovic MARCHAL
[email protected]
Formation : TSGERI Session 2015/2016
33/33