KVM (Kernel-Based Virtual Machine) ist eine Virtualisierungssoftware, die mithilfe von Hardware-Virtualisierungserweiterungen die Möglichkeit bietet, mehrere virtuelle Maschinen (Gäste) auszuführen. Es unterstützt eine Vielzahl von Gastbetriebssystemen wie Linux, Windows, Solaris und viele mehr.
Virtuelle Maschinen können mithilfe von Befehlszeilentools (virsh, virt-install und guestfish) oder verfügbaren grafischen Tools (Cockpit-Webkonsole) erstellt oder verwaltet werden.
Hier sehen wir, wie man KVM auf CentOS 8 / RHEL 8 installiert und wie man virtuelle Maschinen erstellt.
Voraussetzungen
VT-Support prüfen
Wie bereits erwähnt, können Sie virtuelle Maschinen nur ausführen, wenn die CPU Hardwarevirtualisierung unterstützt, entweder Intel VT oder AMD-V.
Führen Sie den folgenden Befehl aus, um herauszufinden, ob Ihre CPU VT-Funktionen unterstützt.
egrep '(vmx|svm)' /proc/cpuinfo | wc -l
Wenn der obige Befehl etwas anderes als Null zurückgibt, ist VT auf Ihrer Hardware aktiviert, andernfalls nicht.
Netzwerkbrücke
Erstellen Sie eine Netzwerkbrücke auf Ihrem System, damit virtuelle Maschinen mit externen Netzwerken kommunizieren können.
Hier erstellen wir eine virtuelle Bridge namens br0. Erstellen Sie dazu zunächst eine Bridge-Netzwerk-Konfigurationsdatei.
vi /etc/sysconfig/network-scripts/ifcfg-br0
Aktualisieren Sie die Konfigurationsdatei mit der IP-Adresse und anderen Netzwerkinformationen. Diese Bridge wird meine primäre Netzwerkverbindung sein.
DEVICE="br0"
BOOTPROTO="static"
IPADDR="192.168.0.10"
NETMASK="255.255.255.0"
GATEWAY="192.168.0.1"
DNS1="192.168.0.1"
ONBOOT="yes"
TYPE="Bridge"
Bearbeiten Sie die Konfigurationsdatei Ihrer Netzwerkschnittstelle, um die Brücke br0 zu verwenden.
vi /etc/sysconfig/network-scripts/ifcfg-ens33
Aktualisieren Sie die Konfiguration mit den folgenden Informationen.
DEVICE="ens33"
TYPE="Ethernet"
BOOTPROTO="none"
ONBOOT="yes"
BRIDGE="br0"
Laden Sie das Verbindungsprofil neu und starten Sie den NetworkManager neu.
nmcli connection reload
systemctl restart NetworkManager
Validieren Sie die Netzwerkkonfiguration mit dem Befehl ifconfig.
ifconfig
Ausgabe:
KVM installieren
Installieren Sie das Virtualisierungsmodul. Dieses Modul installiert alle notwendigen Pakete, damit das System die Virtualisierung unterstützt.
dnf module install -y virt
Installieren Sie die Pakete virt-install und virt-viewer.
dnf install -y virt-install virt-viewer
virt-install – Befehlszeilentool zum Erstellen virtueller Maschinen.
virt-viewer – Grafische Konsole
Führen Sie den folgenden Befehl aus, um zu überprüfen, ob der Host bereit ist, virtuelle Maschinen auszuführen.
virt-host-validate
Output: QEMU: Checking for hardware virtualization : PASS QEMU: Checking if device /dev/kvm exists : PASS QEMU: Checking if device /dev/kvm is accessible : PASS QEMU: Checking if device /dev/vhost-net exists : PASS QEMU: Checking if device /dev/net/tun exists : PASS QEMU: Checking for cgroup 'cpu' controller support : PASS QEMU: Checking for cgroup 'cpuacct' controller support : PASS QEMU: Checking for cgroup 'cpuset' controller support : PASS QEMU: Checking for cgroup 'memory' controller support : PASS QEMU: Checking for cgroup 'devices' controller support : PASS QEMU: Checking for cgroup 'blkio' controller support : PASS QEMU: Checking for device assignment IOMMU support : WARN (No ACPI IVRS table found, IOMMU either disabled in BIOS or not supported by this hardware platform)Wenn Sie QEMU:Checking for hardware virtualization:FAIL (Nur emulierte CPUs sind verfügbar, Leistung wird erheblich eingeschränkt) erhalten, kann Ihr Computer keine virtuellen Maschinen ausführen.
Virtuelle Maschinen erstellen und verwalten
Wenn die Host-Validierung gut ist, können wir virtuelle Maschinen entweder über die Befehlszeile oder die grafische Oberfläche erstellen.
Befehlszeilenmodus
Der Befehl virt-install wird verwendet, um virtuelle Maschinen zu erstellen. Der Befehl benötigt nur wenige obligatorische Argumente, um eine virtuelle Maschine zu erstellen, z. B. VM-Name, CPU, Arbeitsspeicher, Festplatte, Netzwerk, Speicherort des Installationsmediums, Betriebssystemvariante und mehr.
virt-install --name=itzgeekguest --ram=1024 --vcpus=1 --os-type=linux --os-variant=rhel6.0 --cdrom=/tmp/CentOS-6.10-x86_64-minimal.iso --network bridge=br0 --graphics vnc,port=5901,listen=0.0.0.0 --disk path=/var/lib/libvirt/images/itzgeekguest.qcow2,size=10
Argumente | Zweck |
---|---|
--name | Name der virtuellen Maschine |
--ram | Speichergröße in MB |
--vcpus | Virtuelle CPUs in Zahlen |
--os-type | Betriebssystemtypen wie Linux, Windows usw. |
--os-variant | OS-Variante wie RHEL 6, Solaris |
--cdrom | Speicherort des ISO-Images |
--Netzwerk | Netzwerk mit Optionen |
--Grafiken | Gastkonsole (VNC mit Portnummer) |
--Festplattenpfad | Speicherort der Festplatte (qcow2) mit einer Größe |
Nachdem Sie den obigen Befehl ausgeführt haben, wird eine virtuelle Maschine erstellt und die VNC-Viewer-Sitzung für die grafische Konsole gestartet.
Der Befehl virt-install wird erst beendet, wenn die Installation des Betriebssystems abgeschlossen ist. Öffnen Sie also ein neues Terminal und fahren Sie fort.Lassen Sie die VNC-Verbindungen in der Firewall zu.
firewall-cmd --permanent --add-port=5901/tcp
firewall-cmd --reload
Öffnen Sie einen VNC-Viewer und greifen Sie auf die VM-Konsole zu.
Einige wichtige Befehle zum Verwalten virtueller Maschinen.
Alle virtuellen Maschinen auflisten:
virsh list --all
Starten Sie eine virtuelle Maschine:
virsh shutdown <vmname>
Eine virtuelle Maschine ordnungsgemäß herunterfahren:
virsh shutdown <vmname>
Starten Sie eine virtuelle Maschine neu:
virsh reset <vmname>
Beenden einer virtuellen Maschine erzwingen:
virsh destroy <vmname>
Löschen Sie eine virtuelle Maschine zusammen mit ihren Speichervolumes:
virsh undefine <vmname> --remove-all-storage
Grafikmodus
CentOS 8 / RHEL 8 wird mit Cockpit geliefert, einer webbasierten Schnittstelle zur Verwaltung lokaler und entfernter Linux-Systeme.
LESEN: So installieren Sie Cockpit unter CentOS 8 / RHEL 8
Das Cockpit bietet zusätzliche Add-Ons zur Verwaltung virtueller Maschinen über seine Konsole.
dnf install -y cockpit-machines
Starten Sie nach der Installation den Cockpit-Dienst neu.
systemctl restart cockpit.socket
Greifen Sie auf das Cockpit zu und gehen Sie zur Seite Virtuelle Maschinen. Sie sollten alle Ihre vorhandenen virtuellen Maschinen sehen.
Wenn Sie keine virtuellen Maschinen haben, erstellen Sie eine neue VM, indem Sie auf VM erstellen klicken. Füllen Sie das Formular Neue virtuelle Maschine erstellen aus und klicken Sie auf Erstellen.
In wenigen Sekunden sollten Sie die neu erstellte VM sehen.
Klicken Sie auf die VM und gehen Sie zur Registerkarte Konsole. Sie sehen den Installationsbildschirm von CentOS 6.
Sie können die Power-Cycle-Aktionen der VM ausführen, wie z. B. Starten, Herunterfahren, Neustarten, Anhalten der ausgewählten virtuellen Maschine.
Sie können die virtuelle Maschine verwalten, indem Sie zur Registerkarte Festplatten und Netzwerke gehen. Dort können Sie Festplatten-/Netzwerkgeräte hinzufügen, ändern und entfernen.
Festplatten:
Netzwerke:
Schlussfolgerung
Das ist alles. Ich hoffe, Sie haben gelernt, wie man KVM auf CentOS 8 / RHEL 8 installiert und virtuelle Maschinen erstellt.