%BEGINLATEX%
Prise en main d'une machine virtuelle.
%STOPLATEX%
%STOPPUBLISH%
%STARTPUBLISH%
%STARTLATEX%
Slide 1: Cette présentation
Prise en main d'une machine virtuelle
Marc SCHAEFER
HE-Arc Ingénierie / ISIC
Slide 2: La virtualisation
- technique assez ancienne, enfin disponible sous environnement PC
- avantages principaux
- mutualisation des ressources
- indépendance du matériel
- scalability et flexibilité
- peut être un atout pour des solutions HA (haute disponibilité)
- aide à la migration de systèmes, aux environnements de tests reproductibles, etc
- économies d'énergie (par consolidation)
très à la mode! (dernière instance: le cloud)
Slide 3: Les types de virtualisation
diffèrent par
- degré d'isolation
- ce qui est virtualisé
- impact sur la performance
- pré-requis matériel (p.ex. processeur virtualisable)
degré d'isolation
- isolation (à différents degrés)
- chroot(2) UNIX (et BSD jail)
- linux-vserver (VLS)
- OpenVZ (containers)
- virtualisation partielle du CPU, coopération pour le matériel (Xen avec CPU compatible, kvm-qemu, virtualbox)
- virtualisation du CPU, et du matériel (VMware, virtualbox, kvm)
- émulation de processeur et du matériel
Comments
Par exemple, le logiciel kvm (Kernel-based Virtual Machine) disponible dès Linux 2.6.15, peut utiliser la
virtualisation de CPU complète des processeurs récents Intel ou AMD si elle est disponible:
schaefer@reliant:~$ uname -a
Linux reliant 2.6.24-22-generic #1 SMP Mon Nov 24 18:32:42 UTC 2008 i686 GNU/Linux
schaefer@reliant:~$ egrep '^flags.*(vmx|svm)' /proc/cpuinfo
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush
dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts
pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr sse4_1 lahf_lm ida
Sinon, KVM fonctionne exactement comme qemu (sans kqemu)
Le logiciel open source proxmox permet de gérer de l'OpenVZ ou du KVM avec un GUI.
Slide 4: Les avantages de la virtualisation
- (tests de) migration logicielle ou matérielle
- cooexistence de différents OS et versions de logiciels
- p.ex. 32 bits / 64 bits
- version ou distribution différentes
- plus grande indépendance du matériel (encore que!)
- meilleure rentabilisation des investissements
Slide 5: Les inconvénients de la virtualisation
encore que
- passer de 5 systèmes réels à une machine réelle et 5 machines virtuelles
- ça fait un système de plus à gérer (mises à jour, sécurité)
- un crash du système hôte et tout est en panne, corollaires:
- pour patcher le kernel du système hôte il faut le redémarrer (sans 2 hôtes similaires et de la migration transparente)
- certains types de virtualisation diminuent les performance, ou n'offrent pas une virtualisation suffisante dans certains cas (p.ex. pas de virtualisation de Microsoft Windows pour les techniques basées sur un kernel commun comme l'isolation).
- est-ce vraiment plus qu'un simple
chroot(1)
dans certains cas ?
Comments
Cependant, la virtualisation peut amener des solutions au problème de la mise à jour
logicielle ou matérielle du système hôte, notamment via les outils de migration de
VM online sans arrêt des services ni des connexions et un système matériel de
réserve.
Exemple:
- économie d'énergie par consolidation
- de jour, l'entreprise a besoin de 5 serveurs réels pour gérer 10 machines virtuelles
- de nuit, toutes les VM sont migrées sur une seule machine physique et les autres machines sont éteintes automatiquement
Slide 6: Exemple d'un outil de virtualisation: VirtualBox
- licence: libre ou propriétaire (version étendue, p.ex. avec USB)
- ix86 32 ou 64 bits
- virtualisation
- peut bénéficier du support de virtualisation du CPU, s'il existe (performance)
- peut bénéficier du support de virtualisation de l'OS, s'il existe (guest tools)
- compatible avec format de VM VMWare ou kvm (dans une certaine mesure), y compris possibilité de copy-on-write
Slide 7: Motivation du choix de l'outil
- la machine virtuelle proposée fonctionne potentiellement dans VMWare ou dans kvm (virt-manager recommandé)
- nous allons l'utiliser dans VirtualBox, car:
- VMWare n'est pas libre
- kvm n'est pas supporté en dehors de GNU/Linux
Slide 8: Etape 1: importer la VM
- désarchiver l'archive pour obtenir les 3 fichiers nécessaires (se terminant par mf, ovf et vmdk)
- sous GNU/Linux, en terminal
- importer dans VirtualBox (File > Import appliance) en référençant le fichier se terminant par ovf
Slide 9: Etape 2: adapter la configuration
- réseau
- par défaut, la configuration est bridgée, et l'adresse MAC doit absolument être changée pour être unique si vous avez plusieurs de ces machines virtuelles dans le même réseau couche 2 Ethernet -- apparemment c'est automatique si vous importez à chaque fois.
- cela signifie aussi qu'il faut un serveur DHCP dans le sous-réseau (c'est le cas dans le laboratoire TINF)
- le plus simple est de générer une nouvelle adresse MAC aléatoire (sélectionner la VM > Settings > Network > Advanced > Generate a new random MAC address (flèches vertes))
Slide 10: Etape 3: lancement et test
- au premier lancement, lire les messages et confirmer avec OK
- une fois la machine démarrée, au GUI de login pressez CTRL-ALT-F1, puis au prompt login: logguez-vous sous root, mot de passe catalyst
- au 1er démarrage
- effacez le fichier /etc/udev/rules.d/70-persistent-net.rules (avec rm) si vous avez changé d'adresse MAC
- vous pouvez changer le mot de passe avec
passwd
, si désiré.
- ensuite redémarrez (
reboot
), logguez vous en mode graphique (sous catalyst, mot de passe catalyst), puis vérifiez que vous avez une adresse IP utilisable
/sbin/ifconfig eth0
- la machine peut alors être facilement accédée avec l'adresse IP ci-dessus, tout d'abord en SSH (outils ssh et scp; sous Microsoft Windows putty.exe ou ssh.exe et scp.exe), puis ensuite aussi en Web (http://IP:3000/) -- tout cela sera plus efficace que via la console de VirtualBox, automatisable, et permettra le transfert de fichiers.
Slide 11: Quelques informations sur cette VM
- ~catalyst/Final contient un tutorial (voir Références ci-dessous)
pas utilisable en production telle quelle car:
- sudo accessible à tous les utilisateurs
- mots de passe connus sur root et catalyst
- clé privée du serveur SSH identique sur toutes les VM
- /etc/udev/rules.d/70-persistent-net.rulesz à effacer
Slide 12: Dans un cas réel ...
- on développe sur une station avec ses outils préférés et un environnement minimal d'exécution
- on déploie les versions qui nous plaisent sur un serveur sécurisé (sans GUI, avec le moins de logiciel possible), p.ex. par SSH/SCP, FTP, ou via un contrôle de version
Slide 13: Références
- machine virtuelle de base de Catalyst (non paramétrée pour ce cours)
- installation de Catalyst
- sous forme de packages Debian gérés par la distribution
- sous forme de packages Perl CPAN -- garantie de pouvoir être toujours à la dernière version (peut même se faire sans droits root)
- sous forme d'une distribution pour environnements Microsoft
%STOPLATEX%
--
MarcSCHAEFER - 01 Aug 2012