RHCSA-Serie: Grundlagen der Virtualisierung und Gästeadministration mit KVM – Teil 15

Wenn Sie das Wort „virtualisieren“ in einem Wörterbuch nachschlagen, werden Sie feststellen, dass es bedeutet „eine virtuelle (statt eine tatsächliche) Version von etwas zu erstellen„. In der Informatik bezieht sich der Begriff Virtualisierung auf die Möglichkeit, mehrere Betriebssysteme gleichzeitig und voneinander isoliert auf demselben physischen (Hardware-)System auszuführen, das im Virtualisierungsschema als Host bezeichnet wird.

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

Durch die Verwendung des Virtual Machine Monitors (auch bekannt als Hypervisor) erhalten virtuelle Maschinen (auch Gäste genannt) virtuelle Ressourcen (z. B. CPU, RAM, Speicher, Netzwerkschnittstellen, um nur einige zu nennen) von der zugrunde liegenden Hardware.

Angesichts dessen ist offensichtlich, dass einer der Hauptvorteile der Virtualisierung Kosteneinsparungen (bei Ausrüstung und Netzwerkinfrastruktur sowie in Bezug auf den Wartungsaufwand) und eine erhebliche Reduzierung des physischen Platzbedarfs zur Unterbringung aller erforderlichen Hardware ist.

Da diese kurze Anleitung nicht alle Virtualisierungsmethoden abdecken kann, empfehle ich Ihnen, sich auf die in der Zusammenfassung aufgeführte Dokumentation für weitere Details zu dem Thema zu beziehen.

Bitte beachten Sie, dass der vorliegende Artikel als Ausgangspunkt gedacht ist, um die Grundlagen der Virtualisierung in RHEL 7 mit Hilfe von KVM (Kernel-based Virtual Machine) und Befehlszeilen-Dienstprogrammen zu erlernen, und nicht als eingehende Diskussion des Themas.

Überprüfung der Hardwareanforderungen und Installation von Paketen

Um die Virtualisierung einzurichten, muss Ihre CPU diese unterstützen. Sie können überprüfen, ob Ihr System die Anforderungen erfüllt, mit dem folgenden Befehl:

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

In der folgenden Screenshots sehen wir, dass das aktuelle System (mit einem AMD Mikroprozessor) die Virtualisierung unterstützt, wie durch svm angezeigt. Wenn wir einen Intel-basierten Prozessor hätten, würden wir stattdessen vmx in den Ergebnissen des obigen Befehls sehen.

Check KVM Support

Zusätzlich müssen Sie die Virtualisierungsfunktionen im Firmware Ihres Hosts (BIOS oder UEFI) aktiviert haben.

Installieren Sie nun die erforderlichen Pakete:

  1. qemu-kvm ist ein Open-Source-Virtualisierer, der Hardwareemulation für den KVM-Hypervisor bietet, während qemu-img ein Befehlszeilentool zur Manipulation von Festplattenabbildern bereitstellt.
  2. libvirt enthält die Tools, um mit den Virtualisierungsfunktionen des Betriebssystems zu interagieren.
  3. libvirt-python enthält ein Modul, das es Anwendungen, die in Python geschrieben sind, ermöglicht, die von libvirt bereitgestellte Schnittstelle zu verwenden.
  4. libguestfs-tools: Verschiedene systemadministrative Befehlszeilentools für virtuelle Maschinen.
  5. virt-install: Weitere Befehlszeilentools für die Verwaltung virtueller Maschinen.
# yum update && yum install qemu-kvm qemu-img libvirt libvirt-python libguestfs-tools virt-install

Nach Abschluss der Installation stellen Sie sicher, dass Sie den Dienst libvirtd starten und aktivieren:

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

Standardmäßig kann jede virtuelle Maschine nur mit den anderen auf demselben physischen Server und mit dem Host selbst kommunizieren. Um den Gästen zu ermöglichen, andere Maschinen innerhalb unseres LAN und auch das Internet zu erreichen, müssen wir eine Bridge-Schnittstelle in unserem Host einrichten (sagen wir br0, zum Beispiel), indem wir folgende Schritte ausführen:

1. Fügen Sie die folgende Zeile zur Konfiguration unserer Haupt-NIC (wahrscheinlich /etc/sysconfig/network-scripts/ifcfg-enp0s3) hinzu:

BRIDGE=br0

2. Erstellen Sie die Konfigurationsdatei für br0 (/etc/sysconfig/network-scripts/ifcfg-br0) mit folgendem Inhalt (beachten Sie, dass Sie möglicherweise die IP-Adresse, Gateway-Adresse und DNS-Informationen ändern müssen):

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. Aktivieren Sie schließlich das Paket-Forwarding, indem Sie in /etc/sysctl.conf Folgendes hinzufügen:

net.ipv4.ip_forward = 1

# sysctl -p

Beachten Sie, dass Sie möglicherweise auch firewalld mitteilen müssen, dass dieser Art von Verkehr erlaubt werden sollte. Denken Sie daran, dass Sie sich bei Bedarf an den Artikel zu diesem Thema in derselben Serie (Teil 11: Netzwerkverkehrssteuerung mit FirewallD und Iptables) wenden können.

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