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