Maintenance et gestion approfondie des Systèmes d exploitation Master 2 SILI Année universitaire 2014-2015 David Genest Systèmes d exploitation Master 2 SILI 2014-2015 1 Chapitre I Virtualisation 1 Présentation 2 3 Configuration d une machine virtuelle Systèmes d exploitation Master 2 SILI 2014-2015 Virtualisation 2
Présentation Chapitre I Virtualisation 1 Présentation 2 3 Configuration d une machine virtuelle Systèmes d exploitation Master 2 SILI 2014-2015 Virtualisation 3 Virtualisation Présentation Action de faire tourner un système d exploitation à l intérieur d un autre système d exploitation. Windows dans Linux, Linux dans MacOS, etc. Tester une application multi-plateforme sans redémarrer sa machine. Différent du dual-boot. Linux dans Linux, Windows dans Windows, etc. Utiliser une autre version d un système à des fins de test. De plus en plus utilisé sur des serveurs : Remplacer de nombreux serveurs peu chargés... par peu de serveurs contenant des machines virtuelles. Répartition de charge facilitée, Migration matérielle facilitée. Sécurité (par rapport à plusieurs logiciels sur le même hôte) Systèmes d exploitation Master 2 SILI 2014-2015 Virtualisation 4
Vocabulaire Présentation Hôte (host) Système d exploitation physiquement installé sur l ordinateur, dans lequel sera utilisé le logiciel de virtualisation. Machine virtuelle Ordinateur virtuel créé par le logiciel de virtualisation. Invité (guest) Système d exploitation installé à l intérieur de la machine virtuelle. Systèmes d exploitation Master 2 SILI 2014-2015 Virtualisation 5 Présentation Hyperviseur de type 2 La machine virtuelle disposera de ressources matérielles : Processeur : éventuellement le même que l hôte, mais pas forcément. Disques : disques de l hôte, ou (mieux) fichiers présents sur l hôte vus comme des disques physiques de la machine virtuelle. Carte réseau : gérée par le logiciel de virtualisation au sein d un réseau virtuel.... Logiciels VMware Fusion, VMware Workstation, Microsoft VirtualPC, Qemu, Oracle Systèmes d exploitation Master 2 SILI 2014-2015 Virtualisation 6
Chapitre I Virtualisation 1 Présentation 2 3 Configuration d une machine virtuelle Systèmes d exploitation Master 2 SILI 2014-2015 Virtualisation 7 https://www.virtualbox.org/ Logiciel libre (GPL) Système hôte Architecture Intel/AMD Systèmes Linux, Windows, MacOS, Solaris. Système invité La plupart des SE disponibles sur architecture Intel : Linux, Windows, DOS, Unices, etc. https://www.virtualbox.org/wiki/guest_oses Installer la dernière version de pour votre système https://www.virtualbox.org/wiki/linux_downloads Systèmes d exploitation Master 2 SILI 2014-2015 Virtualisation 8
Créer une machine virtuelle Attribuer une quantité de mémoire à la machine Dépend du système invité, et de la quantité de mémoire du système hôte. Attribuer des disques à la machine Des fichiers du système hôte sont utilisés comme disques de la machine virtuelle. Des fichiers ISO sont utilisés comme disques optiques de la machine virtuelle. Partager des fichiers En utilisant les extensions invité dans le système invité. Se connecter au système invité depuis la machine hôte Par SSH en redirigeant un port de la machine hôte sur le port 22 de la machine virtuelle. Systèmes d exploitation Master 2 SILI 2014-2015 Virtualisation 9 Créer une machine virtuelle 1 Machine / Nouvelle 2 Quantité de mémoire de la machine virtuelle : la moitié de la quantité de mémoire de la machine hôte (maximum). 3 Disque d amorçage : Nouveau disque VDI dynamiquement alloué de 10 Go (par exemple, ou moins, selon le système). 4 Modifier la configuration pour installer le système : Amorçage depuis le CD (Système/Carte-mère), Choisir l image ISO d installation sur le CD (Stockage/Contrôleur IDE), Pas de son. 5 Démarrer la machine virtuelle et lancer l installation du système. 6 Une fois l installation terminée, configurer la machine pour un amorçage depuis le disque dur. Systèmes d exploitation Master 2 SILI 2014-2015 Virtualisation 10
Chapitre I Virtualisation 1 Présentation 2 3 Configuration d une machine virtuelle Systèmes d exploitation Master 2 SILI 2014-2015 Virtualisation 11 Configuration d une machine virtuelle Configurer une machine virtuelle / Additions invité Partage de fichiers, meilleure gestion de l affichage, meilleure gestion du clavier/souris. 1 Périphériques / Insérer l image CD des Additions Invité. 2 Apparition d un CD-Rom dans le système invité 3 Exécution du programme d installation (différent selon le système invité) Invité Linux : exécuter depuis une console en tant que super-utilisateur. Et s assurer que l installation se passe correctement, elle peut requérir certains paquets non installés par défaut. Sous distributions Debian, installer build-essential. 4 Autoriser l utilisateur du système invité a accéder aux répertoires partagés sudo addgroup utilisateur vboxsf (pour système invité Unix) Systèmes d exploitation Master 2 SILI 2014-2015 Virtualisation 12
Configurer une machine virtuelle / Additions invité 5 Éteindre le système invité. 6 Configurer le partage de fichiers dans l interface (Dossiers partagés, choisir un nom de partage et montage automatique) 7 Démarrer la machine virtuelle. 8 Remarquer les différences de gestion de l affichage (redimensionnement, mode bureau intégré). 9 Vérifier l accès aux répertoires partagés (dans /media). Systèmes d exploitation Master 2 SILI 2014-2015 Virtualisation 13 Configuration d une machine virtuelle Configurer une machine virtuelle / Connexion depuis l hôte Se connecter par SSH (ou HTTP, FTP, SMB, etc.) sur le système invité depuis le système hôte. Système invité sans interface graphique. Transfert de fichiers. Absence des additions invité. Principe. Diriger un port du système hôte vers un port d une des machines virtuelles (situées sur un réseau virtuel géré par le logiciel de virtualisation) Systèmes d exploitation Master 2 SILI 2014-2015 Virtualisation 14
Configurer une machine virtuelle / Connexion depuis l hôte 1 Récupérer l IP de la machine virtuelle sur le réseau virtuel : Afficher le journal, rechercher DHCP. 2 Configuration / Réseau / Avancé / Redirection des ports 3 Exemple : Nom : SSH, IP Hôte : 127.0.0.1, Port hôte : 9999, IP Invité : 10.0.2.15, Port invité : 22. 4 S assurer que le démon est installé et configuré sur l invité (paquet openssh-server pour SSH). 5 Tester depuis l hôte : ssh utilisateur@127.0.0.1 -p 9999 (après avoir redémarré la machine virtuelle) 6 Utiliser -Y pour rediriger le DISPLAY. Systèmes d exploitation Master 2 SILI 2014-2015 Virtualisation 15 Configuration d une machine virtuelle Automatiser la connexion SSH Se connecter depuis une machine A sur une machine B sans demande du mot de passe. 1 S assurer que les comptes utilisateur des deux machines disposent d un répertoire.ssh. 2 Si ce n est pas le cas, générer un couple de clés sur les machines ne disposant pas de.ssh par ssh-keygen 3 Dans le répertoire de la machine B recevant les connexions, créer un fichier authorized_keys (644) contenant (ou rajouter à la fin de ce fichier) le contenu de.ssh/id_rsa.pub de la machine A initiant les connexions. Systèmes d exploitation Master 2 SILI 2014-2015 Virtualisation 16
Instantanés Un instantané mémorise l état d exécution de la machine virtuelle (processus) et l état des disques. Exemple Prendre un instantané avant de faire une mise à jour du système ou l installation de paquets à des fins de tests... Et revenir à l instantané, ou supprimer l instantané après usage. Les disques partagés et disques «hors instantanés» (cf. Fichier / Gestionnaire de média / Clic droit / Modifier) ne sont pas concernés par les instantanés. Systèmes d exploitation Master 2 SILI 2014-2015 Virtualisation 17 Configuration d une machine virtuelle 1 Prendre un instantané de la machine virtuelle. 2 Installer apache2 et php5 sur le système invité. 3 Rediriger sur la machine hôte le port 8080 pour accéder au serveur apache de la machine virtuelle. 4 Vérifier que le serveur apache est accessible depuis le système hôte (It works!) 5 Créer dans le répertoire html de l utilisateur un fichier index.php faisant un simple appel à phpinfo (http://php.net/manual/fr/function.phpinfo.php) Systèmes d exploitation Master 2 SILI 2014-2015 Virtualisation 18
6 Autoriser un accès à ce répertoire html par http à partir de l URL systèmeinvité /userhtml. Pour cela, créer un alias (http://httpd.apache.org/docs/current/mod/mod_alias.html) dans un fichier /etc/apache2/conf-available/userhtml.conf et activer cette configuration en créant un lien sur ce fichier dans /etc/apache2/conf-enabled (prenez exemple sur les autres configurations, ou utiliser a2enconf). N oubliez pas de redémarrer apache (service apache2 reload). Ca ne marche pas? Consultez le journal d apache : /var/log/apache2/error.log. Problème client denied by server configuration? Consultez /etc/apache2/apache2.conf aux alentours de la ligne <Directory /> et modifiez userhtml.conf. Vous pouvez revenir en arrière à tout moment en restaurant l instantané. Systèmes d exploitation Master 2 SILI 2014-2015 Virtualisation 19 Configuration d une machine virtuelle 7 Installer le serveur mysql sur la machine virtuelle (mysql-server). 8 Sur la machine virtuelle, créer un compte et une base : mysql -u root -p create user monutil identified by mdpasse ; create database mabase ; grant all on mabase.* to monutil ; 9 Faire une redirection de port vers la machine virtuelle afin qu une connexion depuis l hôte par le client mysql (sans préciser le port) soit redirigé vers le mysql de la machine virtuelle. (Fichier de configuration de mysql : /etc/mysql/my.cnf). 10 Installer phpmyadmin sur la machine virtuelle. Systèmes d exploitation Master 2 SILI 2014-2015 Virtualisation 20
11 Prendre un instantané de la machine virtuelle. 12 Vérifier (mount) qu aucun système de gestion de fichiers externe à la machine virtuelle n est monté. Démonter (umount) les systèmes externes. Vérifier. 13 Ouvrir une session ssh depuis l hôte sur la machine virtuelle. Lancer la commande top. 14 Vérifier que vous êtes bien sur la machine virtuelle. Vérifier encore. Vérifier une dernière fois et exécuter sudo rm -rf / Passer outre l avertissement. 15 Redémarrer la machine virtuelle. 16 Restaurer l instantané, et redémarrer. Systèmes d exploitation Master 2 SILI 2014-2015 Virtualisation 21