Recherche de site Web

Série RHCSA : Principes fondamentaux de la virtualisation et de l’administration des invités avec KVM - Partie 15


Si vous cherchez le mot virtualiser dans un dictionnaire, vous constaterez qu’il signifie « créer une version virtuelle (plutôt que réelle) de quelque chose ». En informatique, le terme virtualisation fait référence à la possibilité d’exécuter plusieurs systèmes d’exploitation simultanément et isolés les uns des autres, au-dessus du même système physique (matériel), connu dans le schéma de virtualisation sous le nom d’hôte.

Grâce à l’utilisation du moniteur de machine virtuelle (également appelé hyperviseur), les machines virtuelles (appelées invités) reçoivent des ressources virtuelles (c’est-à-dire le processeur, la RAM, le stockage, les interfaces réseau, pour n’en nommer que quelques-unes) à partir du matériel sous-jacent.

Dans cet esprit, il est évident que l’un des principaux avantages de la virtualisation est la réduction des coûts (en termes d’équipement et d’infrastructure réseau et en termes d’effort de maintenance) et une réduction substantielle de l’espace physique nécessaire pour accueillir tout le matériel nécessaire.

Étant donné que ce bref guide pratique ne peut pas couvrir toutes les méthodes de virtualisation, je vous encourage à vous référer à la documentation répertoriée dans le résumé pour plus de détails sur le sujet.

Gardez à l’esprit que le présent article est destiné à être un point de départ pour apprendre les bases de la virtualisation dans RHEL 7 à l’aide de KVM (Kernel-based Virtual Machine) avec des utilitaires de ligne de commande, et non une discussion approfondie du sujet.

Vérification de la configuration matérielle requise et installation des packages

Afin de mettre en place la virtualisation, votre processeur doit la prendre en charge. Vous pouvez vérifier si votre système répond à la configuration requise à l’aide de la commande suivante :


grep -E 'svm|vmx' /proc/cpuinfo

Dans la capture d’écran suivante, nous pouvons voir que le système actuel (avec un microprocesseur AMD) prend en charge la virtualisation, comme indiqué par svm. Si nous avions un processeur basé sur Intel, nous verrions vmx à la place dans les résultats de la commande ci-dessus.

De plus, vous devrez avoir activé les capacités de virtualisation dans le firmware de votre hôte (BIOS ou UEFI).

Installez maintenant les paquets nécessaires :

  1. qemu-kvm est un virtualiseur open source qui fournit une émulation matérielle pour l’hyperviseur KVM, tandis que qemu-img fournit un outil de ligne de commande pour manipuler les images disque.
  2. libvirt inclut les outils permettant d’interagir avec les capacités de virtualisation du système d’exploitation.
  3. libvirt-python contient un module qui permet aux applications écrites en Python d’utiliser l’interface fournie par libvirt.
  4. libguestfs-tools : divers outils en ligne de commande de l’administrateur système pour les machines virtuelles.
  5. virt-install : autres utilitaires en ligne de commande pour l’administration des machines virtuelles.

yum update && yum install qemu-kvm qemu-img libvirt libvirt-python libguestfs-tools virt-install

Une fois l’installation terminée, assurez-vous de démarrer et d’activer le service libvirtd :


systemctl start libvirtd.service
systemctl enable libvirtd.service

Par défaut, chaque machine virtuelle ne pourra communiquer qu’avec les autres sur le même serveur physique et avec l’hôte lui-même. Pour permettre aux invités d’accéder à d’autres machines à l’intérieur de notre réseau local et aussi à Internet, nous devons mettre en place une interface de pont dans notre hôte (disons br0, par exemple) en,

1. en ajoutant la ligne suivante à la configuration principale de notre carte réseau (très probablement /etc/sysconfig/network-scripts/ifcfg-enp0s3) :


BRIDGE=br0

2. Création du fichier de configuration pour BR0 (/etc/sysconfig/network-scripts/ifcfg-br0) avec le contenu suivant (notez que vous devrez peut-être modifier l’adresse IP, l’adresse de la passerelle et les informations DNS) :


DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
IPADDR=192.168.0.18
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
NM_CONTROLLED=no
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=br0
ONBOOT=yes
DNS1=8.8.8.8
DNS2=8.8.4.4

3. Enfin, permettre la redirection de paquets en faisant, dans /etc/sysctl.conf,


net.ipv4.ip_forward = 1

et en chargeant les modifications apportées à la configuration actuelle du noyau :


sysctl -p

Notez que vous devrez peut-être également indiquer à firewalld que ce type de trafic doit être autorisé. N’oubliez pas que vous pouvez vous référer à l’article sur ce sujet dans cette même série (Partie 11 : Contrôle du trafic réseau à l’aide de FirewallD et Iptables) si vous avez besoin d’aide pour le faire.

Articles connexes: