Cours 3 Flashcards
Enumerer des environnements infonuagiques.
• VMWare, 1998: consolider plusieurs services sur quelques serveurs redondants grace a la virtualisation.
• Amazon EC2, 2006: instances d’ordinateurs a louer,
“Infrastructure as a service” (IaaS). Virtualisation avec Zen.
• Eucalyptus, 2008: “Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems”, clone du logiciel de EC2, initialement ouvert et ensuite a base ouverte.
• OpenStack, 2010: demarre par un large consortium de
compagnies de haute technologie, en reponse a Eucalyptus qui n’etait plus vraiment ouvert.
• Kubernetes, 2015: les conteneurs sont plus efficaces que les machines virtuelles, pour les infrastructures privees, ou par-dessus des machines virtuelles infonuagiques.
Definir ce qu’est un conteneur.
- Un seul noyau avec des espaces de noms separes par conteneur pour les PID, IPC, usagers, reseau, /proc, hostname, fichiers.
- Chaque conteneur peut rouler une version differente des librairies, applications… mais il n’y a qu’un seul noyau en execution.
- Aucun cout additionnel en performance, sauf la memoire non partagee par les versions differentes, si c’est le cas.
- Linux LXC (aussi V-server, OpenVZ, Docker), FreeBSD jails, Solaris containers
Qu’est-ce qu’un simulateur d’execution.
• Programme qui lit et interprete les instructions en simulant le materiel. L’hote peut etre un Intel et l’ordinateur simule un ARM.
• Certains simulateurs peuvent aussi calculer le nombre de cycles ecoules et s’interfacer a GDB.
• Differentes techniques: interpretation une instruction a la fois, recompilation dynamique par segments, remplacement de certaines instructions et execution directe des autres.
• BOCHS, QEMU, VMWare et VirtualBox sans support
materiel, Valgrind.
• Environ 2 (remplacement de certaines instructions), 5
(recompilation dynamique) ou 50 (interpretation) fois plus lent.
Definir la virtualisation materielle.
• Support materiel (Intel VT, AMD V) pour intercepter ou
rediriger certaines operations.
• Assigner un peripherique a une VM (PCI passthrough), demultiplexer par VM les arrivees de paquets dans la carte reseau, deleguer la table de pages…
• Linux KVM, VMWare et VirtualBox avec support materiel.
• Entre meme vitesse et 2 fois plus lent selon le degre d’E/S et d’interaction avec le systeme d’exploitation.
Definir la paravirtualisation.
- Le systeme d’exploitation est modifie pour faire un appel efficace au systeme d’exploitation hote. Pas besoin d’intercepter les operations d’acces au materiel et d’emuler le materiel.
- Plus d’une centaine d’operations de bas niveau du noyau Linux (lire CR0, desactiver interruptions, lire bloc, changer table de page…) sont appelees a travers la table paravirt ops qui pointe vers la fonction native ou virtualisee.
- Utilise par Xen mais aussi VMWare, VirtualBox et KVM avec certains pilotes d’interface virtualises (disque, reseau, affichage).
- Entre meme vitesse et deux fois plus lent, selon le type de charge et les operations qui sont virtualisees ou non.
Qu’est-ce qu’un hyperviseur?
- Linux virtuel sous Windows reel ou l’inverse?
- Hyperviseur, systeme d’exploitation minimal qui gere les interruptions et les acces aux peripheriques, pour les repartir entre les systemes d’exploitation des machines virtuelles.
- Xen. Linux domaine 0 qui parle aux peripheriques et Linux domaines 1, 2… qui sont les machines virtuelles invitees dont les requetes sont passees par Xen au domaine 0.
- Xen peut maintenant accepter des invites Windows grace au support de virtualisation materiel.
- Hyperviseur: solution elegante ou un OS de plus inutilement?
Quels sont les benefices de la virtualisation?
• Image logicielle isolee du materiel, utile lorsque les licenses sont attachees au materiel ou pour portabilite.
• Possibilite de cohabitation entre plusieurs systemes
d’exploitation ou versions, plutot que double amorcage.
• Isolation des services a des fins de securite ou de gestion. Plusieurs serveurs virtuels de differents groupes peuvent coexister sur le meme serveur physique.
• Modularisation des services: demarrer les serveurs virtuels voulus: base de donnee, courriel, Web…
Quel est le cout de la virtualisation?
• Certaines instructions causent des interruptions et sont
emulees; moins avec le support materiel.
• Acces indirect aux peripheriques; moins avec la
paravirtualisation ou la virtualisation des I/O (IOMMU).
• Changements de contexte plus nombreux, application,
systeme d’exploitation invite, hyperviseur; moins avec la
delegation de tables de pages aux invites.
• Preallocation de la memoire a chaque machine virtuelle (Xen), n’est pas toujours requis (Xen balloon, KVM).
• Surcout d’avoir plusieurs copies en memoire du noyau et des executables courants (libc, bash…); moins avec Kernel Samepage Merging
Qu’est-ce que la virtualisation du reseau?
• Reseaux et commutateurs virtuels a l’interieur d’un noeud pour connecter les noeuds virtuels; Linux TUN/TAP (network tunnel, network tap).
• VLAN: reseau local virtuel separe du reste du reseau local (etiquette ajoutee a chaque paquet Ethernet, gestion des diffusions generales sur le VLAN).
• VPN/VPLS: connexions multi-point virtuelles privees
par-dessus le reseau public.
• Le resultat est un reseau dedie virtuel (overlay network); latence, bande passante, qualite de service…
Qu’est-ce que la migration et a quoi sert-elle?
• Pour equilibrer la charge ou liberer le materiel qui requiert un entretien.
• Deplacer une image en execution d’une machine virtuelle a l’autre; revient a migrer une machine virtuelle d’un ordinateur physique a un autre de maniere transparente.
• Contraintes de meme reseau local, memes fichiers accessibles, pas de 64 vers 32 bits, materiel virtuel identique.
• Copier toutes les pages de l’image en tracant celles qui sont remodifiees dans l’intervalle. Faire une seconde et
possiblement troisieme passe. Tout suspendre, copier les pages encore modifiees et poursuivre sur l’autre ordinateur.
Qu’est-ce qu’Openstack?
- Projet demarre en juillet 2010 par Rackspace et la NASA regroupant maintenant plus de 200 compagnies (AT&T,Ubuntu, HP, IBM, Red Hat, SUSE, Cisco, Dell, Ericsson, Hitachi, Huawei, Intel, Juniper, NEC, VMWare …).
- Nouvelle version environ deux fois par an, Austin en 2010, Havana en octobre 2013, Icehouse en avril 2014, Mitaka an avril 2016.
- API compatible avec EC2.
- Fonctionalite initialement limitee mais progresse tres vite.
Quelles sont les composantes d’openstack?
- Nova: infrastructure de calcul.
- Neutron: infrastructure reseautique.
- Swift: stockage de fichiers.
- Cinder: stockage de blocs.
- Keystone: gestion des identites.
- Glance: creation et partage des images.
- Horizon: panneau de commande.
- Ceilometer: collecte de metriques.
- Heat: configuration par recettes (template).
- Trove: base de donnees.
- Marconi: service de queue et notification.
- Savannah: service Hadoop.
Qu’est-ce que Keystone?
- Repertoire des usagers qui peut s’integrer a LDAP.
- Authentification par mot de passe ou par jetons.
- Permissions et politiques d’acces.
- Liste des services disponibles.
Qu’est-ce que Docker?
• Format d’image pour executer un conteneur sur Linux.
• Environnement d’execution pour rouler une image sur
Linux. . . ou sur d’autres systemes comme Windows.
• Compagnie qui offre des outils de haut niveau pour gerer les conteneurs, au-dela des fonctions de base de Docker.
• Le format d’image et l’environnement d’execution ont ´ete transferes au Open Container Initiative de la Linux Foundation qui regroupe de nombreuses entreprises.
Qu’est-ce que Kubernetes?
• Contribue par Google au Cloud Native Computing Foundation de la Linux Foundation en 2015.
• Orchestration de conteneurs typiquement avec Docker.
• Rapidement supporte par les fournisseurs d’infonuagique et tres populaire pour les nuages internes aussi.
• Peut etre deploye par-dessus des noeuds natifs ou des
machines virtuelles.
• Tres bonne mise a l’echelle, si c’est assez bon pour Google…