virli/slides/slides.md
nemunaire 4394048d74 wip
2014-11-26 17:35:46 +01:00

2.4 KiB

% Virtualisation légère % Pierre-Olivier Mercier % Samedi 29 novembre 2014

Historique

Rappels sur la virtualisation classique

Prémices

IBM 370

  • une super machine !

Vocabulaire

Définitions

  • Machine hôte/host machine
  • Machine invité/guest machine

Virtualisation vs. émulation

  • Émulation : simulation logiciel de matériel (potentiellement une architecture différente) : pas d'accès direct au matériel ;

  • Virtualisation : accès direct, mais restrint au matériel.

  • QEMU

  • Bochs

Technologies de virtualisation matérielle

  • Intel VT-x/AMD-V/ARM Virtualization Extensions
  • partitionne le processeur pour exécuter plusieurs système d'exploitation via le même processeur.

Pourquoi virtualiser ?

  • Réduction des coûts ;
  • facilité de migration (répartition de charge, panne hardware, ...) ;

Paravirtualisation

Caractéristiques

  • Nécessite un noyau patché ;

  • l'hôte expose une API accessible aux invités ;

  • les invités accèdent au matériel via l'API de l'hôte.

  • Xen

Hyperviseurs

Contrôle l'utilisation faite des ressources de la machine hôte par les machines virtuelles.

Type 1

  • L'hyperviseur contrôle directement le matériel ;

  • Tous les systèmes lancés par la suite passent par l'hyperviseur.

  • Microsoft Hyper-V, XenServer, VMware ESX, ...

Type 2

  • L'hyperviseur s'appuie sur le système d'exploitation déjà lancé pour accéder au matériel ;

  • Linux KVM, VirtualBox, BHyVe, ...

Isolateurs

Caractéristiques

  • Isolation faite par le noyau du système d'exploitation ;
  • le noyau est partagé entre tous les invités.

Versus chroot

  • Simple isolation d'une partie du système de fichier ;
  • pas de limitation sur les ressources utilisés ;
  • pas d'isolation de l'arbre des processus ;
  • implémentations douteuses (GrSecurity !).

Les différentes technologies

Points communs

Environnement virtualisé

  • Arborescence de fichiers propre ;
  • arbre de processus isolé ;
  • comptes utilisateurs distincts ;

Sécurité

Unix

Zones Solaris

  • Lancé en 2005

Jails BSD

GNU/Linux

OpenVZ/VServer

Linux Containers

Et Windows ?

GNU/Linux

Capabilities

Namespaces

cgroups

LXC

Docker

Vagrant

Hardening

Réseau

phys

vlan

veth

macvlan vepa

macvlan bridge