Paravirtualisation

Définition, exemples et bonnes pratiques

À retenir

  • Améliore grandement les performances par rapport à une simulation matérielle classique.
  • Nécessite que le système installé « sache » qu'il est virtualisé.
  • Réduit la charge de travail du processeur en évitant des calculs inutiles.

La paravirtualisation est une méthode où le système d'exploitation installé sur une machine virtuelle (l'invité) sait qu'il n'est pas sur un vrai ordinateur physique et collabore activement avec le logiciel de contrôle (l'hyperviseur). Au lieu de simuler péniblement chaque composant matériel, on crée un dialogue direct et optimisé entre les deux pour gagner en rapidité et en efficacité.

Étymologie

Vient du préfixe grec para- signifiant « à côté de » ou « associé à », accolé au terme virtualisation. Cela illustre l'idée que le système invité fonctionne en étroite collaboration, « à côté » de l'hyperviseur, plutôt que d'être totalement isolé par une simulation de matériel.

Exemples d'usage

  • Xen : l'un des pionniers de cette technologie, utilisé massivement dans le cloud.
  • Pilotes VirtIO : utilisés avec KVM (Linux) pour accélérer les accès au disque et au réseau dans les machines virtuelles.
  • Hyper-V : utilise des composants de paravirtualisation pour améliorer les performances des machines virtuelles Windows et Linux.

Cas d'usage

On utilise la paravirtualisation principalement dans les centres de données et le cloud computing (comme AWS ou les serveurs d'entreprise) pour réduire la consommation de ressources. Elle est privilégiée quand on a besoin de performances réseau ou de stockage très élevées sans avoir recours à du matériel dédié coûteux.

Bonnes pratiques

Pour bénéficier de la paravirtualisation, il est essentiel d'installer les outils d'invité (Guest Tools ou Additions) fournis par votre logiciel de virtualisation. Il faut également s'assurer que le noyau (kernel) du système d'exploitation utilisé est compatible avec cette technologie.

Synonymes

virtualisation assistée PV

Antonymes

virtualisation complète émulation matérielle

Conseil

Si vous créez une machine virtuelle et que vous voyez des options comme VirtIO ou Vmxnet3 pour le réseau, choisissez-les : c'est de la paravirtualisation qui boostera vos débits réseau et disque.

Questions fréquentes

Quelle est la différence avec la virtualisation complète ?

En virtualisation complète, le système invité croit être sur un vrai PC et on simule tout le matériel. En paravirtualisation, le système sait qu'il est virtuel et communique par des raccourcis logiciels directs.

Est-ce que tous les systèmes supportent la paravirtualisation ?

Non, le système invité doit être modifié ou posséder des pilotes spécifiques. C'est très courant sous Linux, mais plus complexe pour les anciens systèmes propriétaires.

Est-ce plus sécurisé ?

Pas forcément plus ou moins, mais la surface d'attaque est différente car l'interface entre le système et l'hôte est plus spécifique et moins générique.