KVM steht für Kernel-based Virtual Machine und ist ein Linux-Kernelmodul, das Linux in einen Hypervisor verwandelt. Es wurde von Quramnet entwickelt, das 2008 von Red Hat übernommen wurde. Die Gesamtstruktur von KVM: Von der GUI bis zum Linux-Kernel umfasst es die folgenden fünf Komponenten: 1) virtueller Manager Eine GUI/CUI-Benutzeroberfläche zum Verwalten von VMs; sie verwendet die Libvirt-API, um verschiedene Funktionen der VM aufzurufen. 2) libvirt Als Tool und Schnittstelle einer gängigeren Servervirtualisierungssoftware unterstützt es Xen, VMware ESXi/GSX und natürlich QEMU/KVM. 3) QEMU Ein Emulator, der mit dem KVM-Kernelmodul interagiert und verschiedene Clientsystemanforderungen wie E/A verarbeitet; ein QEMU-Prozess entspricht einem Clientsystem. 4) KVM-Kernelmodul Im engeren Sinne ist KVM ein Linux-Kernelmodul, das VM-Exits verarbeitet und VM-Entry-Anweisungen auf dem Clientsystem ausführt. 5) Linux-Kernel Da QEMU als normaler Benutzerprozess ausgeführt wird, wird die Planung des entsprechenden Client-Systems vom Linux-Kernel selbst übernommen. Alle Komponenten sind Open-Source-Software (OSS). KVM-Installation: Umweltanforderungen: 1. Wenn es sich um einen physischen Server handelt, müssen Sie die Virtualisierungsfunktion (Virtualization Technology) im BIOS aktivieren. Im Allgemeinen ist diese Funktion auf Servern standardmäßig aktiviert. 2. Wenn Sie VMware Workstation für das Experiment verwenden, muss die CPU der erstellten virtuellen Maschine die Virtualisierungsfunktion aktiviert haben, damit die virtuelle Maschine die KVM-Virtualisierung unterstützt Installationsmethode: Die einfachste Installationsmethode besteht darin, die Virtualisierungsfunktion bei der Installation des Systems zu installieren. Nehmen wir hier CentOS7.3 als Beispiel. Wählen Sie bei der Auswahl des Installationspakets einfach „Server mit GUI“ wie unten gezeigt aus und aktivieren Sie „Virtualisierungsclient“, „Virtualisierungshypervisor“ und „Virtualisierungstools“. Wenn Ihr System über eine Minimalinstallation verfügt, sollten Sie die folgende erforderliche Software installieren: # yum groupinstall "GNOME Desktop" //Installieren Sie die GNOME-Desktopumgebung Überprüfen Sie, ob die CPU unterstützt # grep -E 'svm|vmx' /proc/cpuinfo - vmx ist für Intel-Prozessoren - svm ist für AMD-Prozessoren Installieren Sie Virtualisierungssoftware # yum install epel-rpm-macros.noarch //Installieren Sie die Epel-Quelle# yum install qemu qemu-img qemu-kvm libvirt libvirt-python libguestfs-tools virt-install # yum install virt-manager virt-viewer //Grafische Tools installieren# systemctl enable libvirtd # systemctl starte libvirtd Überprüfen Sie, ob das KVM-Modul installiert ist [root@localhost ~]# lsmod |grep kvm kvm_intel 174250 0 kvm 570658 1 kvm_intel irqbypass 13503 1 kvm 1. Erstellen Sie eine virtuelle Maschine mit der grafischen Oberfläche 1. Vorbereitung vor dem Erstellen einer virtuellen Maschine: (1) Installationsmedium für das Betriebssystem: ISO-Datei, kopieren Sie die Systemabbilddatei in das Verzeichnis /kvm/iso [root@localhost ~]# mkdir /kvm/iso -p [root@localhost ~]# umount /dev/sr0 [root@localhost ~]# cp /dev/sr0 /kvm/iso/Centos7.iso (2) Vorbereitung des Speicherplatzes: Neue Festplatte hinzufügen LVM erstellen Erstellen Sie ein Dateisystem und einen Einhängepunkt und richten Sie es so ein, dass es beim Start automatisch eingehängt wird. pvcreate /dev/sdb vgcreate kvm_vg /dev/sdb lvcreate -n kvm_lv -L 100G kvm_vg mkdir /kvm/vfs mounten Sie /dev/kvm_vg/kvm-lv /kvm/vfs (3) Erstellen Sie mit der grafischen Oberfläche von virt-manager Virt-Manager ist eine grafische Verwaltungssoftware für virtuelle Maschinen, die auf libvirt basiert. Geben Sie den Befehl „virt-manager“ als Root in die Befehlszeile ein. Die Verwaltungsoberfläche von „virt-manager“ wird angezeigt. Erstellen Sie einen Image-Speicherpool mit dem Namen „iso“ und legen Sie das Verzeichnis auf /kvm/iso fest, um die zukünftig von der KVM-virtuellen Maschine verwendeten ISO-CD-Image-Dateien zu speichern. Erstellen Sie einen Speicherpool mit dem Namen vfs, Verzeichnis /kvm/vfs, und erstellen Sie ein Speichervolume, das eigentlich die Festplattendatei der virtuellen KVM-Maschine ist Wählen Sie im Virtual System Manager „Neue virtuelle Maschine“ und dann „Lokales Installationsmedium“ ISO-Image-Datei auswählen Speichergröße und Anzahl der CPUs auswählen Wählen Sie die Festplattendatei der virtuellen Maschine aus Geben Sie der virtuellen Maschine einen Namen und klicken Sie auf „Fertig“. Klicken Sie auf Fertig stellen und die virtuelle Maschine wird erstellt. Dann können Sie 2. Erstellen Sie eine virtuelle Maschine im Befehlszeilenmodus 1. Verwenden Sie den Befehl qemu-img, um eine Datenträgerdatei zu erstellen Erstellen einer Raw-Disk-Datei [root@localhost ~]# qemu-img erstellen /kvm/vfs/vm1.raw 20G Konvertieren Sie das Festplattenformat in qcow2 [root@localhost ~]# qemu-img convert -f raw -O qcow2 /kvm/vfs/vm1.raw /kvm/vfs/vm1.qcow2 Erstellen Sie direkt eine Disk-Datei im qcow2-Format [root@localhost ~]# qemu-img erstellen -f qcow2 /kvm/vfs/vm1.qcow2 20G 2. Verwenden Sie den Befehl virt-install, um eine virtuelle Maschine zu erstellen Allgemeine Optionen: -n NAME, --name=NAME Name der virtuellen Maschine -r MEMORY, --ram=MEMORY Speicher in MB, der für Client-Ereignisse reserviert werden soll --vcpus=VCPUS konfiguriert die Anzahl der virtuellen CPUs (vcpus) der virtuellen Maschine, zum Beispiel: --vcpus 5 --vcpus 5, maxcpus=10 --vcpus Sockel=2, Kerne=4, Threads=2 --cpuset=CPUSET: Legen Sie fest, welche physischen CPUs die Domäne verwenden kann. --cpu=CPU CPU-Modell und -Funktion, zum Beispiel: --cpu coreduo,+x2apic --description=DESCRIPTION Für Menschen lesbare VM-Beschreibung, gespeichert im generierten XML. --security=SECURITY Domänensicherheitstreiberkonfiguration festlegen. --numatune=NUMATUNE Passen Sie die NUMA-Richtlinie für Domänenprozesse an. Optionen für die Installationsmethode: -c CDROM, --cdrom=CDROM CD-ROM-Installationsmedium -l STANDORT, --location=STANDORT Installationsquelle (zum Beispiel: nfs:host:/Pfad, http://host/Pfad, ftp://host/Pfad) --pxe Booten vom Netzwerk mithilfe des PXE-Protokolls --import Bauen Sie den Client in das Disk-Image ein --livecd CD-ROM-Medien als Live-CD behandeln -x EXTRA, --extra-args=EXTRA Parameter, die an einen mit --location gebooteten Kernel angehängt werden sollen --os-type=DISTROTYP Betriebssystemtyp, „Linux“, „Unix“, „Windows“ --os-variant=DISTRO_VARIANT Betriebssystemversion, z. B.: „fedora6“, „rhel5“, „solaris10“, „win2k“ --boot=BOOTOPTS Optionale Startreihenfolge, Menü, permanenter Kernelstart usw. nach der Konfiguration der Installation. Speicherkonfiguration: --disk=DISKOPTS Geben Sie den Speicher mit verschiedenen Optionen an. Ex. --disk path=/meine/vorhandene/Festplatte --disk Pfad=/meine/neue/Disk,Format=qcow2,Größe=5,sparse (in GB) --disk vol=Poolname:Volname,Gerät=CD-ROM,Bus=SCSI,... --nodisks: Richten Sie für diesen Client keine Datenträger ein. --filesystem=DATEISYSTEME Übergeben Sie das Hostverzeichnis an die virtuelle Maschine. Zum Beispiel: --filesystem /my/source/dir,/dir/in/guest --filesystem Vorlagenname,/,Typ=Vorlage Netzwerkkonfiguration: -w NETZWERK, --network=NETZWERK Konfigurieren Sie die Kundennetzwerkschnittstelle. Ex: --network bridge=mybr0 --network Netzwerk=mein_libvirt_virtual_net --network Netzwerk=mynet, Modell=virtio, Mac=00:11 … --nonetworks: Keine Netzwerkschnittstellen für diesen Gast erstellen. Grafikkonfiguration: --graphics=GRAFIKEN Konfigurieren Sie die Anzeigeeinstellungen der virtuellen Maschine. Zum Beispiel: --Grafiken VNC --graphics spice,port=5901,tlsport=5902 --graphics keine --graphics vnc,password=foobar,port=5910,keymap=ja --noautoconsole Nicht automatisch versuchen, eine Verbindung zur Client-Konsole herzustellen Ausstattungsoptionen: --serial=SERIALS konfiguriert das serielle Port-Gerät der virtuellen Maschine --parallel=PARALLELS Parallelport-Gerät für virtuelle Maschinen konfigurieren --channel=CHANNELS Kommunikationskanäle für virtuelle Maschinen konfigurieren --console=CONSOLES Konfigurieren Sie eine Textkonsolenverbindung zwischen der virtuellen Maschine und dem Host --host-device=HOSTDEVS Konfigurieren Sie das physische Hostgerät, das mit dem Client verbunden ist. --soundhw=SOUNDHW konfiguriert die Emulation des Client-Soundgeräts --watchdog=WATCHDOG konfiguriert das Watchdog-Gerät der virtuellen Maschine --video=VIDEO Konfigurieren Sie die Videohardware der virtuellen Maschine. --smartcard=SMARTCARD Konfigurieren Sie das Smartcard-Gerät der virtuellen Maschine. Beispiel: --smartcard-mode=passthrough --redirdev=REDIRDEV Konfigurieren Sie ein Gastumleitungsgerät. Beispiel: --redirdev usb,type=tcp,server=192.168.1.1:4000 Optionen für die Virtualisierungsplattform: -v, --hvm Der Client sollte ein vollständig virtualisierter Client sein -p, --paravirt Dieser Client ist ein paravirtualisierter Client --container Dieser Gast sollte ein Containergast sein --virt-type=HV_TYPE Name des zu verwendenden Hypervisors (kvm, qemu, xen) --arch=ARCH Simulierte CPU-Architektur --machine=MASCHINE Der zu emulierende Maschinentyp --noacpi deaktiviert ACPI für vollständig virtualisierte Gäste (überschreibt Wert in der OS-Type/OS-Variant-Datenbank) -u UUID, --uuid=UUID Client-UUID. Andere Optionen: --autostart: Startet die Domäne automatisch, wenn der Host gebootet wird. --print-xml Gibt XML der generierten Domäne aus, anstatt die virtuelle Maschine zu definieren. --print-step=XMLSTEP Detaillierte Installationsschritte ausgeben --noreboot Starten Sie die virtuelle Maschine nach Abschluss der Installation nicht. --wait=WAIT Wartezeit (in Minuten) --dry-run Schließen Sie die Installationsschritte ab, erstellen Sie jedoch keine Geräte und definieren Sie keine virtuellen Maschinen. --force Erzwingt eine „Ja“-Antwort auf jede Anwendungsaufforderung und beendet andere Eingabeaufforderungen -q, --quiet deaktiviert die stille Ausgabe --prompt Erfordert Benutzereingaben bei mehrdeutigen Fällen oder erforderlichen Optionen -d, --debug Informationen zur Fehlerbehebung eingeben 3. Installieren Sie die virtuelle Maschine über die reine Befehlszeile [root@localhost ~]# qemu-img erstellen -f qcow2 /kvm/vfs/vm2.qcow2 20G [root@localhost ~]# virt-install -n vm2 \ Definieren Sie den Namen der virtuellen Maschine > -r 1024 \ Speichergröße > --vcpus 1 \ Anzahl der CPUs > -l /kvm/iso/Centos7.iso \ ISO-Speicherort > --disk path=/kvm/vfs/vm2.qcow2,format=qcow2 \ Speicherort und Format der Datenträgerdatei > --nographics \ Nicht mit Grafik installieren > -x console=ttyS0 ermöglicht die Anmeldung bei der virtuellen Maschine über das Konsolenterminal Führen Sie den Befehl zur Installation des Betriebssystems aus und passen Sie bei Bedarf die folgenden Konfigurationsparameter an: 4. Verwenden Sie VNC, um ein virtuelles Maschinensystem zu erstellen [root@localhost ~]# qemu-img erstellen -f qcow2 /kvm/vfs/vm3.qcow2 20G [root@localhost ~]# virt-install -n vm3 \ Definieren Sie den Namen der virtuellen Maschine > -r 1024 \ Speichergröße > --vcpus 1 \ Anzahl der CPUs > -l /kvm/iso/Centos7.iso \ ISO-Speicherort > --disk path=/kvm/vfs/vm3.qcow2,format=qcow2 \ Speicherort und Format der Datenträgerdatei > --graphics vnc,listen=0.0.0.0,port=5924, \ VNC-Installation, Port 5924 verwenden > --noautoconsole \ Nicht automatisch versuchen, eine Verbindung zur Client-Konsole herzustellen > --accelerate \ Installation beschleunigen > --autostart Automatischer Start der Domäne beim Booten des Hosts [root@localhost ~]# firewall-cmd --add-port=5924/tcp VNC-Verbindung zulassen Verwenden Sie die VNC-Client-Software zum Herstellen einer Verbindung und zur Installation Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: JavaScript implementiert Produktdetails der E-Commerce-Plattform
>>: So entfernen Sie MySQL aus Ubuntu und installieren es neu
Inhaltsverzeichnis 1. Ternäres Operatorurteil 2. ...
Das Anwendungsszenario ist: Die Iframe-Seite hat k...
Inhaltsverzeichnis 1. Prinzip des ganz linken Prä...
Einführung in jQuery Die jQuery-Bibliothek kann e...
Es gibt in letzter Zeit zu viel Wissen zu lernen,...
Kaskadierung und kaskadierende Ebenen HTML-Elemen...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis MySQL-Abfragebaumstruktur 1. Ü...
Inhaltsverzeichnis Überblick Filter definieren Ve...
Inhaltsverzeichnis Überblick Code-Implementierung...
In diesem Artikelbeispiel wird der spezifische JS...
Inhaltsverzeichnis 1. Lösung 1 (UDF) Demo-Fall 2....
„Weniger ist mehr“ ist ein Schlagwort vieler Desi...
So verwenden Sie „if“ in Linux, um festzustellen,...
1. Die erste Methode besteht darin, den Befehl un...