Xen and the Art of Virtualization Ian Pratt University of Cambridge and Founder of XenSource Inc. Traduction d'Antoine Nivard Responsable de XENfr.org Computer Laboratory
Sommaire Aperçu sur la Virtualisation Xen Aujourd'hui : 2.0 Architecture Performance Migration de VM en « live » Xen 3.0 Roadmap (T2 2005)
Aperçu sur la Virtualisation Un seul OS: Ensim, Vservers, CKRM Groupes de processus utilisateurs dans des conteneures de ressources Difficile d'avoir une bonne isolation! Virtualisation complète: VMware, VirtualPC Plusieurs OS sans modifications Difficile de bien virtualiser le x86 Para-virtualization: UML, Xen Plusieurs OS sur une architecture spéciale Arch Xen/x86 est très proche x86
Xen aujourd'hui : 2.0 Isolation sécurisé entre les VMs Contrôle des ressources et du QoS Seulement le noyau de la VM a besoin d'être porter Toutes les applications et librairies fonctionnent sans modification Linux 2.4/2.6, NetBSD, FreeBSD, Plan9 Performance des binaires très proche du natif Supporte le même matériel que Linux x86 Relocalisation en directe de VM entre noeud XEN
Para-Virtualisation de Xen Arch xen/x86 : comme x86, mais remplace les instructions privilégiés par des hypercalls XEN Evite la réécriture de binaires et le “fault trapping” Pour Linux 2.6, seulement les fichiers “arch-dep” sont modifiés Modifier l'OS pour un environnement virtualisé Wall-clock time vs. virtual processor time Xen fournit les deux types de timer Accès aux réels ressources Optimisation du comportement de l'OS Virtualisation de la MMU: direct vs. shadow mode
Architecture des E/S Xen délégue aux VM des Espace-E/S et celles-ci gérent les accès aux E/S dédiés Espace de configuration virtuel pour le PCI Interruptions Virtuelles Périphériques sont virtualisées et exportés aux VMs via Device Channels Asynchronous sûr et transport de la mémoire partagé ‘Backend’ drivers exporter en ‘frontend’ drivers Net: utilisation normale du bridging, routing, iptables Block: exporte n'importe quel blk dev e.g. sda4,loop0,vg3
Xen 2.0 Architecture Event Channel Virtual MMUVirtual CPU Control IF Hardware (SMP, MMU, physical memory, Ethernet, SCSI/IDE) Native Device Driver GuestOS (XenLinux) Device Manager & Control s/w VM0 Native Device Driver GuestOS (XenLinux) Unmodified User Software VM1 Front-End Device Drivers GuestOS (XenLinux) Unmodified User Software VM2 Front-End Device Drivers GuestOS (XenBSD) Unmodified User Software VM3 Safe HW IF Xen Virtual Machine Monitor Back-End
Performances Système LXVU SPEC INT2000 (score) LXVU Linux build time (s) LXVU OSDB-OLTP (tup/s) LXVU SPEC WEB99 (score) Benchmark suite running on Linux (L), Xen (X), VMware Workstation (V), and UML (U)
Résultats réseaux: TCP LXVU Tx, MTU 1500 (Mbps) LXVU Rx, MTU 1500 (Mbps) LXVU Tx, MTU 500 (Mbps) LXVU Rx, MTU 500 (Mbps) TCP bandwidth on Linux (L), Xen (X), VMWare Workstation (V), and UML (U)
Scalability LX 2 LX 4 LX 8 LX Simultaneous SPEC WEB99 Instances on Linux (L) and Xen(X)
Migration dynamique des VM A quoi cela peut servir? Gestion d'un pool de VMs fonctionnant en cluster Maintenance et mise à jour facile à mettre en oeuvre Load balancing des VMs à travers le cluster Un challenge? Les VMs ont plusieurs états possibles Certaines VMs ont besoin de rapidité Ex. web servers, databases, game servers On peut limiter les ressources lors de la migration
Vitesse de migration/perte
Migration d'un serveur Quake 3
Roadmap pour Xen 3.0 Multiprocesseurs (SMP) pour les VM Le prototype fonctionne, reste le tuning Design particulier pour obtenir de bonnes performances mais surtout maintenir les garanties de sécurité Le support des extensions Intel VT-x extensions Faire tourner des OS sans modification Autres ports : x86/64 et ia64 (ppc) Xen x86/64 and ia64 démarre!
Roadmap for Xen 3.0 Meilleurs outils de gestion de cluster Gestion de pool de VMs sur un ensemble de noeud Xen Meilleurs outils pour contrôler le QoS Nouvelle interface de Gestion Amélioration des compatibiltés matériel Cartes graphiques, ACPI, APM
Roadmap “recherche” : 4.0 Algorithmes de load balancing de cluster Utilisation de propriétés de migration en direct Tolérance de panne logiciel Exploitoitation déterministe « replay » Système de debugging Alléger le “checkpointing” et le “replay” VM “forking » Alléger le service de replication et d'isolation Securisation de la virtualisation Multi-level secure Xen
Conclusions Xen est une solution compléte et robuste de VMM GPL Exeptionnel performance et “scalability” Excellent contrôle de ressource et protection La relocation/migration en directe permet en temps- réel de réduire les temps d'indisponabilité et de maintenance