Série RHCSA : Essentiels de la virtualisation et administration des invités avec KVM – Partie 15

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.

RHCSA Series: Essentials of Virtualization and Guest Administration with KVM – Part 15

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.

Check KVM Support

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 :

  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 en ligne de commande pour manipuler les images de disque.
  2. libvirt comprend les outils pour 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 : outils de ligne de commande pour les administrateurs 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 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/