RHCSA Serie: Essentiëlen van virtualisatie en gastbeheer met KVM – Deel 15

Als u het woord virtualiseren opzoekt in een woordenboek, zult u vinden dat het betekent “het creëren van een virtuele (in plaats van werkelijke) versie van iets“. In de informatica verwijst de term virtualisatie naar de mogelijkheid om meerdere besturingssystemen gelijktijdig en geïsoleerd van elkaar te laten draaien, boven op hetzelfde fysieke (hardware) systeem, bekend in het virtualisatieschema als host.

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

Door het gebruik van de virtuele machine monitor (ook bekend als hypervisor), krijgen virtuele machines (aangeduid als gasten) virtuele bronnen (bijv. CPU, RAM, opslag, netwerkinterfaces, om er een paar te noemen) van de onderliggende hardware.

Met dat in gedachten is het duidelijk te zien dat een van de belangrijkste voordelen van virtualisatie kostenbesparingen zijn (op het gebied van apparatuur en netwerkinfrastructuur en qua onderhoudsinspanningen) en een aanzienlijke vermindering van de fysieke ruimte die nodig is om alle benodigde hardware te herbergen.

Aangezien deze beknopte handleiding niet alle virtualisatiemethoden kan behandelen, raad ik u aan de documentatie in de samenvatting te raadplegen voor meer details over het onderwerp.

Houd er rekening mee dat het huidige artikel bedoeld is als een startpunt om de basisprincipes van virtualisatie in RHEL 7 te leren met behulp van KVM (Kernel-based Virtual Machine) met command-line hulpprogramma’s, en niet als een diepgaande bespreking van het onderwerp.

Hardwarevereisten verifiëren en pakketten installeren

Om virtualisatie in te stellen, moet uw CPU het ondersteunen. U kunt controleren of uw systeem aan de vereisten voldoet met het volgende commando:

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

In de volgende schermafbeelding kunnen we zien dat het huidige systeem (met een AMD processor) virtualisatie ondersteunt, zoals aangegeven door svm. Als we een op Intel gebaseerde processor hadden, zouden we in plaats daarvan vmx zien in de resultaten van het bovenstaande commando.

Check KVM Support

Bovendien moet u de virtualisatiemogelijkheden inschakelen in de firmware van uw host (BIOS of UEFI).

Installeer nu de benodigde pakketten:

  1. qemu-kvm is een open source virtualisator die hardware-emulatie biedt voor de KVM hypervisor, terwijl qemu-img een command line tool biedt voor het manipuleren van schijfafbeeldingen.
  2. libvirt bevat de tools om te communiceren met de virtualisatiemogelijkheden van het besturingssysteem.
  3. libvirt-python bevat een module waarmee toepassingen geschreven in Python de interface geleverd door libvirt kunnen gebruiken.
  4. libguestfs-tools: diverse systeembeheerder command line tools voor virtuele machines.
  5. virt-install: andere command-line hulpprogramma’s voor het beheer van virtuele machines.
# yum update && yum install qemu-kvm qemu-img libvirt libvirt-python libguestfs-tools virt-install

Zodra de installatie is voltooid, zorg ervoor dat u de libvirtd service start en inschakelt.

# systemctl start libvirtd.service
# systemctl enable libvirtd.service

Standaard zal elke virtuele machine alleen kunnen communiceren met de rest op dezelfde fysieke server en met de host zelf. Om de gasten in staat te stellen andere machines binnen ons LAN en ook het internet te bereiken, moeten we een bridge-interface instellen in onze host (zeg br0, bijvoorbeeld) door:

1. de volgende regel toe te voegen aan onze hoofd-NIC-configuratie (waarschijnlijk /etc/sysconfig/network-scripts/ifcfg-enp0s3):

BRIDGE=br0

2. het configuratiebestand voor br0 aan te maken (/etc/sysconfig/network-scripts/ifcfg-br0) met deze inhoud (let op dat je mogelijk het IP-adres, gateway-adres en DNS-informatie moet wijzigen):

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. ten slotte, het doorsturen van pakketten inschakelen door, in /etc/sysctl.conf,

net.ipv4.ip_forward = 1

en de wijzigingen in de huidige kernelconfiguratie te laden:

# sysctl -p

Merk op dat je mogelijk ook firewalld moet vertellen dat dit soort verkeer moet worden toegestaan. Onthoud dat je naar het artikel over dat onderwerp in dezelfde serie kunt verwijzen (Deel 11: Netwerkverkeersbeheer met FirewallD en Iptables) als je hulp nodig hebt om dat te doen.

Source:
https://www.tecmint.com/kvm-virtualization-basics-and-guest-administration/