So erstellen und verwalten Sie KVM Virtual Machines aus CLI

So erstellen und verwalten Sie KVM Virtual Machines aus CLI

Zielsetzung

Erfahren Sie, wie Sie KVM -Virtual -Maschinen aus der Befehlszeile erstellen und verwalten

Betriebssystem- und Softwareversionen

  • Betriebssystem: - Alle Linux -Verteilungen

Anforderungen

  • Root-Zugriff
  • Pakete:
    • QEMU -KVM - Das Hauptpaket
    • libvirt - beinhaltet den libvirtd Server, der die Virtualisierungsunterstützung exportiert
    • libvirt -Client - Dieses Paket enthält virsh und andere kundenseitige Versorgungsunternehmen
    • Virtual -Installation -Dienstprogramm zur Installation virtueller Maschinen
    • Virt -Viewer - Dienstprogramm zur Anzeige der grafischen Konsole für eine virtuelle Maschine

Schwierigkeit

MITTEL

Konventionen

  • # - Erfordert, dass gegebene Linux -Befehle entweder mit Root -Berechtigungen ausgeführt werden müssen
    direkt als Stammbenutzer oder durch Verwendung von sudo Befehl
  • $ - Erfordert, dass die angegebenen Linux-Befehle als regelmäßiger nicht privilegierter Benutzer ausgeführt werden können

Einführung

Wenn Sie wissen, wie man KVM -Virtual -Maschinen aus Befehlszeile erstellt und verwaltet. Dennoch kann es unsere Produktivität erheblich verbessern, wenn man in der Lage ist, Interaktionen mit virtuellen Maschinen zu kripten. In diesem Tutorial lernen Sie, wie Sie KVM -Maschinen mit Hilfe weniger Versorgungsunternehmen erstellen, löschen, klonen und verwalten.



Einige Terminologie

Bevor wir anfangen zu arbeiten, wäre es nützlich zu definieren, was Kvm Und Qemu sind und wie sie interagieren. Kvm steht für Kernel Virtual Machine, und es ist ein Modul des Linux -Kernels, mit dem ein Programm zugreifen und die Virtualisierungsfunktionen moderner Prozessoren nutzen kann, indem die Schnittstelle /dev /kvm freigelegt wird. Qemu ist stattdessen die Software, die die OS -Emulation tatsächlich ausführt. Es ist und Open -Source -Maschine -Emulator und Virtualizer, die die Beschleunigungsfunktion verwenden können Kvm Beim Ausführen einer emulierten Maschine mit der gleichen Architektur des Hosts.

Vorläufigkeit

Das erste, was wir tun müssen, ist zu überprüfen, ob die von uns verwendete CPU Unterstützung für die Virtualisierung hat. Wenn Sie nicht auf einer sehr alten Maschine laufen, wird dies sicherlich der Fall sein, aber um dies zu überprüfen, führen wir einfach aus:

$ cat /proc /cpuinfo

Scrollen Sie die Ausgabe des Befehls oben nach unten, bis Sie die Liste der CPU -Flags sehen: Unter ihnen sollten Sie sehen SVM Wenn Sie einen AMD -Prozessor verwenden, oder VMX Wenn der CPU -Anbieter intel ist.

Das zweite, was wir tun müssen, ist, sicherzustellen, dass die benötigten Kernelmodule geladen wurden, um dies zu überprüfen, um dies zu überprüfen: Wir rennen:

# lsmod | GREP KVM KVM_INTEL 200704 0 KVM 598016 1 KVM_INTEL IRQBYPASS 16384 1 KVM 


Ich renne daher zusätzlich zu der Intel -CPU kvm Modul, auch das kvm_intel Einer wurde geladen. Wenn Sie einen AMD -Prozessor verwenden, die kvm_amd Das Modul wird stattdessen geladen. Wenn die Module nicht automatisch geladen werden, können Sie versuchen, sie manuell mit dem zu laden Modprobe Befehl:

# Modprobe KVM_INTEL

Schließlich müssen wir das beginnen libvirtd Daemon: Der folgende Befehl ermöglicht es beide zur Startzeit und startet es sofort:

# Systemctl aktivieren -jetzt libvirtd

Erstellen Sie die neue virtuelle Maschine

Jetzt, wo wir installiert und die begonnen haben libvirtd Service können wir die nutzen Virtinstall Befehl zum Einrichten unserer virtuellen Maschine. Die Syntax des Programms ist sehr einfach. Der folgende Linux -Befehl muss als Root ausgeführt werden oder, wenn Sie ihn als normaler Benutzer starten möchten, als Mitglied der kvm Gruppe. Die Syntax des Programms ist Folgendes:

# virtinstall --Name = linuxconfig-vm \ --vcpus = 1 \ ---memory = 1024 \--cdrom =/tmp/debian-9.0.0-AMD64-Netinst.iso \-disk size = 5 \ --os-variant = debian8 

Lassen Sie uns den obigen Befehl analysieren:

Zunächst benutzten wir die --Name Option: Dies ist obligatorisch und wird verwendet, um der neuen virtuellen Maschine einen Namen zuzuweisen.

Die nächste Option ist die --vcpus eins. Wir verwenden es, um die Anzahl von anzugeben Virtuelle CPUs Für den Gast zu konfigurieren.

Der --Speicher Die Option wird verwendet, um die für die Gastmaschine reservierte Speichermenge auszuwählen MiB Und --CD-ROM Lassen Sie uns den Pfad zu einer Datei oder einem Gerät angeben, das als virtuelle CD-ROM verwendet werden soll.



Der --Scheibe Flag wird verwendet, um den Medienspeicher für den Gast zu konfigurieren. Zum Beispiel können verschiedene von Kommas getrennte Optionen angegeben werden: Größe die verwendet wird, um die Größe der virtuellen Festplatte in GB und anzugeben und Weg Dies wird verwendet, um einen Pfad anzugeben, der für die Festplatte verwendet werden kann (er wird erstellt, wenn es noch nicht vorhanden ist). Wenn diese Optionen angegeben sind, müssen Sie sicherstellen, dass der Zielpfad zugänglich ist und über den richtigen Selinux -Kontext verfügt (um mehr über Selinux zu erfahren, können Sie diesen Artikel lesen).

Wenn der Weg Die Option wird nicht angegeben, die Festplatte wird in erstellt in $ Home/.Lokal/Share/libvirt/Bilder Wenn der Befehl als normaler Benutzer (Mitglied der KVM -Gruppe) oder in/var/lib/libvirt/images ausgeführt wird, wenn Sie ihn als Root ausführen,.

Als nächstes gingen wir an der --OS-Variante Möglichkeit. Dies ist zwar nicht obligatorisch, wird jedoch dringend empfohlen, es zu verwenden, da es die Leistung der virtuellen Maschine verbessern kann. Mit der Option wird versucht, den Gast auf die spezifische Betriebssystemversion abzustimmen. Wenn die Option nicht übergeben wird, versucht das Programm, den korrekten Wert aus den Installationsmedien automatisch zu erkennen. Um eine Liste aller unterstützten Systeme zu erhalten, können Sie ausführen:

$ osinfo-query os

Wenn alles gut lief und die Virt-Viewer Das Paket wird installiert, ein Fenster wird angezeigt.

Das Virsh -Dienstprogramm

Das Virsh -Dienstprogramm kann verwendet werden, um mit virtuellen Maschinen zu interagieren. Angenommen, Sie möchten alle konfigurierten Gäste auflisten, indem Sie Virsh einfach ausführen können:

# virsh list -alle

Die Ausgabe zeigt die Ausweis, Name Und Zustand von allen konfigurierten Gästen, ob sie laufen oder nicht.

Aber was ist, wenn Sie einige Gastmaschinenparameter ändern möchten? Sie können verwenden virsh Zum Beispiel: um diese Aufgabe zu erfüllen:

# virsh linuxconfig-vm bearbeiten

Hier ist ein Screenshot des Befehlsausgangs:



Wie Sie sehen können, ist die Ausgabe eine XML -Darstellung der Eigenschaften der virtuellen Maschine oder unter Verwendung der Virsh -Terminologie a Domain. Wenn Sie beispielsweise die Anzahl der VCPUs ändern möchten, müssen Sie nur das entsprechende Tag finden und den Wert ändern. In diesem Fall haben wir:

1

Wir möchten 1 VCPU hinzufügen, also werden wir es ändern, an:

2

Alles, was wir jetzt tun müssen, ist nur, die virtuelle Maschine neu zu starten, damit die Einstellungen angewendet werden sollen:

# virsh starten linuxconfig-vm neu starten

Wenn wir jetzt rennen LSCPU In der Gastkonsole sollten wir die erhöhte Anzahl von CPUs sehen:

Der virsh Der Befehl kann auch für andere gemeinsame Operationen verwendet werden: zum Beispiel, Virsh Shutdown kann verwendet werden, um den Gast zu schalten, virsh zerstören ist das Äquivalent einer Brute -Force -Abschaltung (daher kann es gefährlich sein) und virsh undefin Kann verwendet werden, um eine Gastmaschine zu löschen (um eine Domäne zu verabreichen).

Autostart eine virtuelle Maschine im Start

Sie können die ausnutzen virsh Befehl auch, wenn Sie möchten, dass bestimmte Gäste automatisch gestartet werden, wenn das Host -System startet: die Syntax ist es wieder sehr intuitiv:

# virsh autostart linuxconfig-vm

Um diese Option zu deaktivieren, führen wir aus:

# virsh autostart-stillbares linuxconfig-vm


Einen Gast klonieren

Ein weiterer Dienstprogramm, Virtueller Klone kann verwendet werden, um eine neue virtuelle Maschine zu erstellen, indem eine vorhandene Klonation kloniert. Um fortzufahren, müssen wir zunächst sicherstellen, dass der zu klonte Gast nicht mehr ist, als wir rennen:

Virt-Clone \-Original = LinuxConfig-VM \ --Name = LinuxConfig-VM-Clone \--file =/var/lib/libvirt/bilder/linuxconfig-vm.QCOW2 

Was wir hier haben, ist sehr einfach zu verstehen: Wir haben angegeben, dass der Gast mit dem kloniert wird --Original Option und der Name des neuen Gastes verwenden --Name Als ob wir es von Grund auf neu installieren würden. Mit dem --Datei Option, stattdessen verweisen wir auf alle virtuellen Festplatten, die dem ursprünglichen Gast verbunden sind, den wir klonen möchten. Das Programm wird seinen Job erledigen und bei Erfolg eine neue Domäne namens erstellen LinuxConfig-VM-Clone. Wir wissen bereits, wie man es verifiziert:

# virsh list-alle ID-Name Zustand ----------------------------------------- ------------LinuxConfig-VM-Abschlus 

Abschließende Gedanken

In diesem Tutorial haben wir eine neue virtuelle Maschine konfiguriert und gesehen, wie man damit interagiert. Die Optionen, die wir zum Zeitpunkt der Erstellung angegeben haben, sind nur die minimalen, die für ein Arbeitsaufbau erforderlich ist. Viele andere Optionen können verwendet werden, um verschiedene Aspekte der Gastmaschine anzupassen, und sie werden in der sehr gut beschrieben Virtinstall Manpage. Wie immer ist der bestmögliche Rat: Lesen Sie das Handbuch.

Verwandte Linux -Tutorials:

  • Dinge zu installieren auf Ubuntu 20.04
  • PDF -Viewer -Liste auf Ubuntu 22.04 Jammy Jellyfish Linux
  • Eine Einführung in Linux -Automatisierung, Tools und Techniken
  • Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
  • So erstellen Sie Schnappschüsse von QEMU/KVM -Gästen
  • Bester PDF -Leser für Linux
  • So führen Sie das Raspberry Pi OS in einer virtuellen Maschine mit…
  • Dinge zu installieren auf Ubuntu 22.04
  • Mint 20: Besser als Ubuntu und Microsoft Windows?
  • Linux -Konfigurationsdateien: Top 30 am wichtigsten