Si vous recherchez le mot « virtualize » dans un dictionnaire, vous trouverez 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 simultanément plusieurs systèmes d’exploitation et de les isoler les uns des autres, sur le même système physique (matériel), connu dans le schéma de virtualisation comme hôte.

Grâce à l’utilisation du moniteur de machine virtuelle (également appelé hyperviseur), des machines virtuelles (appelées invités) se voient attribuer des ressources virtuelles (c’est-à-dire CPU, RAM, stockage, interfaces réseau, pour n’en citer que quelques-unes) à partir du matériel sous-jacent.
Avec cela à l’esprit, il est évident de voir que l’un des principaux avantages de la virtualisation est l’économie de coûts (dans l’équipement et l’infrastructure réseau et en termes d’efforts de maintenance) et une réduction substantielle de l’espace physique nécessaire pour accueillir tout le matériel nécessaire.
Comme ce bref mode d’emploi 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.
Veuillez garder à 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 en utilisant KVM (Kernel-based Virtual Machine) avec des utilitaires en ligne de commande, et non une discussion approfondie sur le sujet.
Vérification des exigences matérielles et installation des paquets
Pour configurer la virtualisation, votre CPU doit le prendre en charge. Vous pouvez vérifier si votre système répond aux exigences avec 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 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 micrologiciel de votre hôte (BIOS ou UEFI).
Maintenant, installez les packages nécessaires :
- qemu-kvm est un virtualiseur open source qui fournit une émulation matérielle pour l’hyperviseur KVM, tandis que qemu-img fournit un outil en ligne de commande pour manipuler les images de disque.
- libvirt comprend les outils pour interagir avec les capacités de virtualisation du système d’exploitation.
- libvirt-python contient un module qui permet aux applications écrites en Python d’utiliser l’interface fournie par libvirt.
- libguestfs-tools : outils de ligne de commande pour les administrateurs système pour les machines virtuelles.
- 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 le reste sur le même serveur physique et avec l’hôte lui-même. Pour permettre aux invités d’atteindre d’autres machines à l’intérieur de notre LAN et également l’Internet, nous devons configurer une interface de pont dans notre hôte (disons br0, par exemple), en :
1. ajoutant la ligne suivante à notre configuration principale de NIC (probablement /etc/sysconfig/network-scripts/ifcfg-enp0s3
) :
BRIDGE=br0
2. créant le fichier de configuration pour br0 (/etc/sysconfig/network-scripts/ifcfg-br0
) avec ces contenus (notez que vous devrez peut-être changer l’adresse IP, l’adresse de 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, en activant le transfert de paquets en effectuant, dans /etc/sysctl.conf
:
net.ipv4.ip_forward = 1
et en chargeant les modifications dans 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.
Source:
https://www.tecmint.com/kvm-virtualization-basics-and-guest-administration/