Cours de Xen

Publié par : Docenstoc
Description : Cours de Xen. Ils disposent de la couche logicielle VMM (VirtualMachine Monitor) dédiée à la gestion de machinesvirtuellesVMWare ESX Machine virtuelle se repose sur un noyau léger(vmkernel) empilage des machines est léger

Consulter un extrait ci-dessous
Jérome Castang
Laurent Lavaud
Octobre 2007
Notions sur la virtualisation
Systèmes de virtualisation
Présentation de Xen
Introduction /
Notions sur la virtualisation
ressources physiques et/ou logicielles
démarrage, arrêt, gel, clonage, sauvegarde et
restauration, sauvegarde de contexte, migration d'une
machine physique à une autre
à la machine hôte, entre hôte et invités
Introduction /
Systèmes de virtualisation (1)
Isole certains aspects ou ressources de l'OS hôte
(systèmes de fichiers ou espaces mémoires)
Pas d'empilement de l'OS hôte et d'un logiciel de
virtualisation
Très performant mais environnements virtuels sont
peu ou pas complètement isolés
Se lance comme une application dans l'OS hôte
UML lance et gère ses applications de manière isolée
des autres UML tournant sur la même machine
Peu performant car les 2 noyaux sont empilés
Introduction /
Systèmes de virtualisation (2)
Machine virtuel e complète (bios, processeur,
mémoire, disque, carte réseau...)
Intercepte majorité des instructions de l'OS invité pour
les remplacer par leur équivalent sur l'OS hôte
Avantages : exécution des applications prévues pour
d'autres architectures (ordinateurs, consoles, bornes
d'arcade ...)
Inconvénients : performances médiocres
Introduction /
Systèmes de virtualisation (3)
machine virtuel e complète
(bios, processeur, mémoire,
disque, carte réseau...)
Intercepte certaines
instructions particulières
de l'OS invité (ne pouvant pas être exécutées sur OS
Simple à mettre en oeuvre
Introduction /
Systèmes de virtualisation / Xen
Hyperviseur
virtuelles
(VMM Virtual Machine Monitor)
OS invité fonctionne directement sans interception des
instructions
Xen 3 peut héberger des OS invités non modifiés
Introduction / Système de
virtualisation / Comparaison
Première génération
Virtualisation avec Xen
des systèmes de
virtualisation
Introduction / Systèmes de
virtualisation du type de Xen
Machine Monitor) dédiée à la gestion de machines
virtuelles
(vmkernel)
Microsoft Virtual Server
HP Integrity VM
Micropartitions d'IBM
pour Windows Server 2008 (Longhorn)
Introduction /
Origines de Xen
Cambridge memé par Ian Pratt
projet open source et vend les versions de Xen
pour les entreprises
Introduction /
Avantages de Xen
d'un système natif
pilotes du noyau linux)
des serveurs Xen sans interruption de service
Inroduction /
Processeurs supportés par Xen
Processeurs de type x86 (processeur de type "P6" ou
Intel ou AMD des 5 dernières années)
Machines multiprocesseur et inclut le support pour
l'hyper-threading (SMT).
Processeurs de type x86/64 (depuis Xen 3.0)
Processeurs de type IA64
Processeurs de type PPC
type ARM (liste de diffusion sur xen source)
Hyperviseurs / domaines
Les technologies de virtualisation matériel es
Architecture de Xen
Architecture de Xen / Hyperviseur
hyperviseur Xen
machines virtuel es sécurisées appelées domaines
ordonnance temps d'utilisation de la machine hôte par
chaque domaine (dans temps imparti, les OS invités
ordonnancent leurs processus)
au boot de l'ordinateur, détecte et démarre les
processeurs non initialisés par le BIOS
route les interruptions, énumère les bus PCI
Architecture de Xen / Le Dom0
crée lors de l'instal ation de xen
lancé automatiquement au boot
composé d'un noyau linux modifié et des logiciels de
contrôle de Xen
le seul à pouvoir interagir directement avec le matériel
via les pilotes du noyau linux
autres domaines font appel a ces pilotes via l'utilisation
des pilotes (virtuels) de Xen
assure tache d'administration du système via le démon
xend dans espace utilisateur (création, démarrage,
arrêt, restauration ou migration des domaines)
gère les pilotes natifs et pilotes virtuels des domaines
Architecture de Xen / Les DomU
machines invitées ou OS invités
leur noyau est chargé dans un mode non privilégié du
processeur (en général ring 1 ou le ring 2)
ces machines sont contrôlées par le dom0.
Architecture de xen /
Les rings (1)
ring 0 dédié à l'exécution de l'OS
ring 3 dédié aux applications de l'espace utilisateur
rings 1 et 2 prévus à l'origine pour virtualisation
Architecture de xen /
Les rings (2)
hyperviseur dans ring 0
OS invités dans ring 1 ou 2
applications dans ring 3
hyperviseur dans ring 0
OS invités et applications dans ring 3
ring 1 et 2 ont été supprimés
Architecture de Xen /
Les rings (3)
Architecture de xen / Technologies
de virtualisation matérielle (1)
Intel Vanderpool x86 virtualization (VT-i)
AMD Pacifica x86 virtualization (AMD-v)
Sun UltraSPARC T1 hypervisor
IBM Advanced POWER virtualization
technologies Intel et AMD : HVM (Hardware
Virtual Machine)
xenifiés (ex : Windows)
Architecture de xen / Technologies
de virtualisation matérielle (2)
Intel a ajouté 2 modes d'exécution : VMX root et VMX
non-root
OS et applications fonctionnent dans mode VMX non-
hyperviseur utilise mode d'exécution VMX root (niveau
hyperviseur est modifié pour utiliser extension
Vanderpool et gérer les modes VMX root et VMX non-
Architecture de Xen / Xend
fonctionne dans dom0
interface http sur port 8000
répond aux requêtes venant du dom0
sauvegarde, restauration, surveil ance des domaines,
fichier de configuration : xend-config.sxp
xend crée 2 démons (xenstored, xenconsoled) et une
instance de la classe python SrvDaemon
fichiers de log de xend
Architecture de Xen / Relations
machines virtuelles - domaines
disque (comme un programme).
Quand elle est chargée pour exécution elle fonctionne
dans un domaine
identificateur de processus
Architecture de Xen / Avantages
plantages des pilotes
pilotes
via pilotes du noyau Linux
Le noyau Xen
1 noyau chargé dans dom0
1 noyau chargé dans domU
chargé dans ring 1/2
gère accès au matériel spécifique (backend)
chargé dans ring3
frontend communiquent avec les backend
Le noyau Xen /
Virtualisation des pilotes (1)
ont un accès direct aux pilotes des périphériques et
connaissance de ceux-ci
utilisent pour chaque périphérique le pilote et la
configuration fournis par le dom0
périphériques vers les OS invités
dom0 et sont disponibles pour tous les OS invités
supporter le matériel sous-jacent
l'hyperviseur
fournir des périphériques virtuels
Le noyau Xen /
Virtualisation des pilotes (2)
périphériques virtuels du dom0 passe par un canal
(device channel) qui
est 1 lien point à point entre les 2 domaines
permet envoi de message asynchrone d'un domaine
partagée allouée par l'OS invité et mappée dans
l'espace d'adressage du dom0
limite crash d'un pilote au pilote lui-même sans affecter
application située dans autre domaine
permet de redémarrer dom0 pour retrouver un pilote
opérationnel en perturbant le moins possible les applications
des autres domaines
Le réseau dans Xen /
Interfaces ethernet virtuelles
d'interface virtuelles
ethernet utilisées par le
interfaces ethernet
reliées par un câble
interne croisé
eth0 est relié à vif0.0
veth1 est relié à vif0.1
veth7 est relié à vif0.7
Le réseau dans Xen /
Interfaces virtuelles (1)
identifiant est associé
identifiant du 1er domU est 1
identifiant du 2ème domU est 2 même si le 1er domaine
pour chaque nouveau domU
une partie de chaque paire est dans le domU.
Dans un domU sous Linux le nom du périphérique
réseau est eth0
l'autre partie de chaque paire est dans le dom0 et se
nomme vif.0
Le réseau dans Xen /
Interfaces virtuelles (2)
sera attaché à vif5.0 dans le dom0)
domU, eth0 et eth1, le dom0 a vif.0 et
vif.1
adresses virtuelles ethernet sont détruites
Le réseau dans Xen /
Adresses MAC (1)
aléatoire pour chaque interface réseau virtualisée
: utilisation de dhcp), il faut utiliser l'option vif dans
le fichier de configuration de la machine virtuelle
Le réseau dans Xen /
Adresses MAC (2)
le dernier bit du 1er octet doit être positionne a 0
l'avant-dernier bit du 1er octet doit être positionne a 1
forme : XY:XX:XX:XX:XX:XX
Le réseau dans Xen /
Modes réseau de Xen
Par défaut, Xen utilise un pont à l'intérieur de dom0
réseau comme des machines individuelles
dom0 joue le rôle de passerelle pour les domU.
les vifX.Y ont pour IP celles des cartes des domU
(ex : vif1.0 dans dom0 a pour IP cel e de la carte eth0
règles iptables applicables à ces cartes sur dom0.
les vifX.Y ont pour IP celle des cartes dans les domU
elles ne voient pas passer les paquets.
Le réseau dans Xen /
Xen en mode bridge (1)
interface physique (pas
configurable)
lien entre le système et
carte réseau
interface virtualisée fournie
par Xen (configurable)
connexion réseau pour le
Mode bridge
cartes réseau des OS invités
carte physique
ex : vif1.0 correspond à eth0
et cartes virtuelles
du domU dont l'id est 1
Le réseau dans Xen /
Xen en mode bridge (2)
Le réseau dans Xen /
Xen en mode bridge (3)
cartes des domU sont
directement retransmis
sur carte physique peth0
paquets au niveau de
dom0 (par exemple
iptables).
pas d'adresse ip,
directement reliées à eth0
nécessaire
Le réseau dans Xen /
Xen en mode bridge (4)
virtuel es via les scripts
network-bridge
vif-bridge
crée un nouveau pont nommé xenbr0
la « vraie » interface ethernet eth0 est mise à down
les adresses IP et MAC de eth0 sont copiées sur la nouvel e
interface réseau virtuel e veth0
l'interface réel e eth0 est renommée peth0
l'interface virtuel e veth0 est renommée eth0
peth0 et vif0.0 sont attachées au pont xenbr0
le pont,peth0, eth0 et vif0.0 sont positionnés à up
script vif-bridge qui :
attache vif.0 à xenbr0
vif.0 est positionnée à up
Le réseau dans Xen /
Les VLANS (1)
virtuelles dans des vlans différents
OS invités attachent leurs interfaces au pont
approprié
taggées. Les domU n'ont pas connaissance des
Le réseau dans Xen /
Les VLANS (2)
interfaces virtuel es via deux nouveaux scripts qui remplacent
network-bridge :
network-multi-vlan
network-bridge-vlan
le script network-bridge-vlan autant de fois que de vlans désirés
crée un pont nommé vlanbrnumvlan (p.ex. vlanbr100)
crée une nouvel e interface eth0.numvlan (p.ex. eth0.100) dans
dom0 à l'aide de la commande vconfig
cette nouvel e interface et le pont sont positionnés à up
eth0.100 est attachée au pont vlanbr100
quand domU démarre, xend (tournant dans dom0) lance le
script vif-bridge qui attache vif.0 au nouveau pont
vlanbrnumvlan et positionne vif.0 à up
Autres outils
Gestion des domaines avec xm /
Arrêt - Démarrage
affiche tous les domaines en fonctionnement
xm create [-c]
démarre la machine virtuel e définie dans
Exemples :
démarre vm1 et attache une console à vm1
Gestion des domaines avec xm
provoque l'arrêt d'un domaine
-a : arrête tous les domaines.
-w : attend d'avoir terminé le shutdown pour redonner
xm console
attache une console à un domaine
Pour quitter la console : Ctrl - ]
affiche monitoring temps réel des domaines
Gestion des domaines avec xm /
Gestion de la mémoire
mémoire des domaines
pour machine dom0
sur la machine physique
on spécifie quantité de mémoire à attribuer lors de
son lancement. Cette quantité de mémoire est :
déduite de la quantité de mémoire restante
donc retirée de la quantité de mémoire du dom0.
Gestion des domaines avec xm /
Gestion de la mémoire
pas définitive.
à un système invité tout en continuant son
exécution.
Si quantité de mémoire d'une machine virtuelle est
insuffisante, on peut augmenter la taille mémoire qui
lui est attribuée sans interruption de service.
Si quantité inutilisée de mémoire, on peut récupérer
cette mémoire sans interruption de service.
Gestion des domaines avec xm /
Gestion de la mémoire
Impossible de diminuer quantité de mémoire d'une
machine virtuel e en dessous de la quantité
initialement donnée
Quantité totale de mémoire attribuée pour domaines
ne peut pas dépasser quantité de mémoire présente
sur machine physique.
de mémoire (ni celle d'une autre machine).
sont effectuées par la machine dom0.
Gestion des domaines avec xm /
Gestion de la mémoire
(balloon driver) à l'aide de la commande xm :
xm mem-set
Exemple : modification mémoire dans domaine 5
xm mem-set 5 512
Gestion des domaines avec xm /
Gestion des processeurs
xm vcpu-set
Exemple : ajout d' un 2eme cpu dans domaine 3
xm vcpu-set 3 2
xm vcpu-list
xm vcpu-pin
Gestion des domaines avec xm /
xm pause
Exemple : xm pause vm1
ordonnanceur de Xen)
xm unpause
Gestion des domaines avec xm /
Sauvegarde et restauration
xm save
Exemple : xm save vm1 vm1.chk
xm restore
Exemple : xm restore vm1.chk
Gestion des domaines avec xm /
La migration (1)
machines physiques)
« regular migration »
« live migration »
migration »
images disques et doivent avoir même version de
Gestion des domaines avec xm /
La migration (2)
xm migrate --live vm1 tp.raisin.fr
fonctionner alors que la migration est en cours
nouveau domaine en utilisant la commande xm
console
ouvertes, elles sont conservées
Gestion des domaines /
Autres outils
xenman (ubuntu)
virt-manager (redhat, fedora)
pause, destroy, top...)
xen-create-image (ubuntu)
virsh (redhat, fedora)
exemples :
(dont l'identifiant est 3) au format XML sur la sortie standard
d'un fichier xml
Installation de Xen /
Les fichiers de configuration
xend-config.sxp
script VLANs
un fichier de configuration par domU
pas de fichiers spécifiques à xen dans les DomU
configuration habituelle d'un OS Linux
Installation de Xen /
Gestion de l'espace disque
image disque (loop) sur disque local ou distant
partition d'un disque
partition LVM (Logical Volume Manager)
export d'un espace commun
stockage, duplication des machines
migration
baie matériel e
export via iSCSI Enterprise Target
système clusterisé
migration avec accès concurrent
Sécurisation de Xen (1)
le dom0 est compromis tous les autres domaines
sont également vulnérables
ne lancer que le plus petit nombre de service
nécessaires
utiliser un firewal pour restreindre le trafic vers le
ne pas autoriser les utilisateurs à accéder au dom0
dom0 devrait être inaccessible
Sécurisation de Xen (2)
Shorewall dans le Dom0
http://www.shorewal .net/Xen.html
http://www1.shorewall.net/XenMyWay.html
http://www.zataz.com/alerte-securite/15182/xen-
pygrub-grub-conf-dom0-vuln.html
Utilisation de Xen (1)
machine physique plusieurs serveurs différents
(OS et applications)
continuité de service
plusieurs systèmes sans disposer d'autant de
machines
ressources, détecter des comportements
inhabituels
Utilisation de Xen (2)
gestion des machines virtuelles, leurs contrôles,
leurs isolations et la possibilité de migrer pour
repartir la charge
dans une machine virtuelle « bac à sable »
(sandboxed)
Utilisation de Xen (3)
Xen-devel
http://lists.xensource.com/xen-devel
Xen-announce
http://lists.xensource.com/xen-announce
Xen-changelog
http://lists.xensource.com/xen-changelog
Xen-users
http://lists.xensource.com/xen-users
Fedora-xen
http://www.redhat.com/mailman/listinfo/fedora-xen
La bibliothèque d'accès
bas niveau libvirt
fonctionne également avec KVM et Qemu
sur lequel sera utilisée l'API
printf("Le domaine %d a %d CPUs\n", id, info.nrVirtCpu);
Références (1)
http://www.cl.cam.ac.uk/research/srg/netos/xen/archite
cture.html
http://www.xensource.com/
http://wiki.xensource.com/xenwiki/XenIntro
http://wiki.xensource.com/xenwiki/XenDocs
http://wiki.xensource.com/xenwiki/XenFaq
http://en.wikipedia.org/wiki/Xen
http://xenfr.org
http://doc.ubuntu-fr.org/virtualisation
Références (2)
- J. Castang et P. Depouilly
http://www.cl.cam.ac.uk/netos/paper/2003-xensosp.pdf
Cours de Xen
Publier sur Facebook Publier sur Twitter
Informations
Date :

09/01/2013


Langue :

Français


Pages :

68


Consultations :

5407


Note :  
Téléchargement Gratuit
  • Votre email n'est pas valide

    Vous devez valider les conditions d'utilisation

    J'accepte les conditions d'utilisation

Résumé
Tags : Cours, architecture, noyeau, informatique, Xen, virtualisation
Sur le même thème
Vues : 11488
Description :
La méthode Merise : Le modèle conceptuel de données. Le modèle conceptuel des données (MCD) décrit la signification des...
Vues : 4367
Description :
Cours sur Bases de données sous environnement Delphi. Pour accéder aux différentes informations l'utilisateur doit exécuter...
Vues : 3002
Description :
Cours d'introduction aux architectures n-tier dispensé à TELECOM Bretagne. Cours sous licence Creative Commons :...
Vues : 2000
Description :
Présentation de Spring et de l’injection de dépendances. Document sous licence Creative Commons :...
Vues : 1523
Description :
Cours de HTML. Creative Commons http://creativecommons.org/licenses/by-nc-sa/2.0/fr/
Vues : 1478
Description :
Cours de modélisation conceptuelle dispensé à TELECOM Bretagne. SYSTEMES D’INFORMATION ET BASES DE DONNEES
Du même contributeur
Vues : 6526
Description :
Cours de PHP par le PHP Documentation Group. Ce manuel peut être redistribué sous licence GNU General Public License.
Vues : 3347
Description :
Livre Blanc : Industrialisation PHP par Alter Way. Document publié sous licence OpenContent.
Vues : 3038
Description :
Document sous licence CC: http://creativecommons.org/licenses/by-sa/2.0/fr/. Java pour le développement d'applications Web.
Vues : 2620
Description :
Dans la série Les tutoriels libres présentés par le site FRAMASOFT : Créer une table des matières sous OpenOffice....
Vues : 1902
Description :
Document sous licence CC: http://creativecommons.org/licenses/by-sa/2.0/fr/.
Vues : 1726
Description :
La plateforme PHP est désormais largement connue mais son image reste médiocre car beaucoup de DSI considèrent cette...
Commentaires
Aucun commentaire pour cette publication
Ajouter un commentaire
Envoyer
Pour envoyer la page de votre document, notez ici les emails destinataires de votre demande :
Séparez les emails par des virgules
Signaler un abus
Vous devez vous connecter ou vous inscrire pour noter un document.
Cliquez ici pour vous inscrire.
Vous devez vous connecter ou vous inscrire pour ajouter un commentaire.
Cliquez ici pour vous inscrire.
Vous devez vous connecter ou vous inscrire pour envoyer le document.
Cliquez ici pour vous inscrire.
Vous ne pouvez pas acheter de documents sur Needocs.
Vous pouvez vous référer aux conditions générales de vente et d'achat du portail pour connaître les modalités d'achat.