Aller au contenu

Virtualisation

Infrastructure

Procédé qui abstrait une ressource physique (processeur, mémoire, stockage, réseau) pour en servir plusieurs instances logiques, chacune se comportant comme si elle disposait du matériel pour elle seule. Les hyperviseurs en sont l'outil le plus connu ; la NFV et le cloud en vivent.

Ce schéma de séquence montre quatre acteurs : le matériel physique, l'hyperviseur, la VM 1 et la VM 2. En 1, le matériel physique fournit à l'hyperviseur son processeur, sa mémoire, ses disques et ses cartes réseau. En 2 et en 3, l'hyperviseur donne à la VM 1, puis à la VM 2, un processeur, une mémoire et un disque virtuels. En 4, si la VM 1 demande un accès au matériel, sa requête part vers l'hyperviseur, qui l'intercepte puis l'arbitre.

Procédé, pas objet : La virtualisation désigne la technique ; la VM n'en est qu'un produit, au même titre qu'un volume de stockage logique ou qu'un réseau virtuel. Confondre les deux revient à confondre la menuiserie et la chaise.

Le rôle de l'hyperviseur : Couche logicielle qui intercepte les accès au matériel et les répartit entre les systèmes invités : le type 1 tourne directement sur la machine (ESXi, Xen, et d'ordinaire KVM, logé dans le noyau Linux), le type 2 au-dessus d'un système d'exploitation (VirtualBox). Les extensions processeur Intel VT-x et AMD-V évitent de payer cette abstraction au prix fort en performances.

Les conteneurs, une autre affaire : Un conteneur ne virtualise pas le matériel : il isole des processus qui partagent le noyau de l'hôte, grâce aux namespaces et aux cgroups de Linux. Il est plus léger qu'une VM, mais aussi moins étanche.

Au-delà des serveurs : Le même procédé s'applique au stockage (volumes logiques sur baies mutualisées), au réseau (VLAN, VXLAN) et aux équipements réseau eux-mêmes avec la NFV. Vingt ans de salles serveurs apprennent que la virtualisation n'a jamais supprimé le matériel : elle l'a seulement rendu invisible, jusqu'au jour où l'hôte tombe et emporte trente machines que tout le monde croyait indépendantes.

Ce qui arrive si on s'en passe

Sans virtualisation, les services cohabitent sur le même système d'exploitation et le même matériel, et aucun hyperviseur ne trace de frontière entre eux. Un processus compromis qui obtient des privilèges élevés atteint alors directement la mémoire, les fichiers et les connexions réseau des autres services de la machine : le cloisonnement ne repose plus que sur les droits du système hôte. Aucune limite de ressources par instance ne s'applique non plus. Une charge qui s'emballe (fuite mémoire, boucle de calcul, saturation disque) prive donc toutes les autres de processeur ou de mémoire. La reprise perd aussi ses outils : pas d'instantané à restaurer après une modification ratée, pas de redémarrage des services sur un autre hôte quand le matériel lâche, pas de clone isolé pour examiner une machine suspecte sans toucher à la production. La reconstruction passe alors, le plus souvent, par une réinstallation complète.

Explication de la marmotte

Imaginons un grand immeuble avec un seul toit, une seule chaudière et un seul compteur d'eau. Plutôt que de le laisser à une seule famille qui n'occupe que trois pièces, on le découpe en appartements. Chaque famille a sa porte, ses clés et sa boîte aux lettres, et vit comme si elle était seule. Pourtant, tout le monde partage la même chaudière, et un gardien répartit l'eau chaude selon les besoins de chacun. En informatique, c'est pareil : un seul ordinateur puissant est découpé en plusieurs ordinateurs « imaginaires », chacun persuadé d'avoir sa propre machine, pendant qu'un programme gardien distribue la puissance entre eux.

Où ce terme est utilisé

← Tout le glossaire