Tutorial zur Installation, Bereitstellung und Verwaltung von KVM-Virtualisierung

Tutorial zur Installation, Bereitstellung und Verwaltung von KVM-Virtualisierung

1.kvm-Bereitstellung

1.1 KVM-Installation

// Firewall und Selinux ausschalten
[root@kvm ~]# systemctl deaktivieren --now firewalld.service 
/etc/systemd/system/multi-user.target.wants/firewalld.service entfernt.
/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service entfernt.
[root@kvm ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config 
[root@kvm ~]# Neustart

//Laden Sie den Epel-Quellcode und das Toolkit herunter [root@kvm ~]# yum -y install epel-release vim wget net-tools unzip zip gcc gcc-c++

//Überprüfen Sie, ob die CPU KVM unterstützt. Wenn das Ergebnis vmx (Intel) oder svm (AMD) enthält, bedeutet dies, dass die CPU dies unterstützt. [root@kvm ~]# egrep -o 'vmx|svm' /proc/cpuinfo

//KVM installieren
[root@kvm ~]# yum -y installiere qemu-kvm qemu-kvm-tools qemu-img virt-manager libvirt libvirt-python libvirt-client virt-installiere virt-viewer bridge-utils libguestfs-tools

//Netzwerkkarte überbrücken, br0 zum Überbrücken der ens160-Netzwerkkarte verwenden [root@kvm ~]# cd /etc/sysconfig/network-scripts/
[root@kvm Netzwerkskripte]# cp ifcfg-ens33 ifcfg-br0
[root@kvm Netzwerk-Skripte]# cat ifcfg-br0 
TYP=Brücke
GERÄT=br0
NM_CONTROLLED=nein
BOOTPROTO=statisch
NAME=br0
ONBOOT=ja
IPADDR=192.168.237.131
NETMASK=255.255.255.0
GATEWAY=192.168.237.2
DNS1 = 114.114.114.114
DNS2 = 8.8.8.8
[root@kvm Netzwerk-Skripte]# cat ifcfg-ens33 
TYP=Ethernet
BOOTPROTO=statisch
NAME=ens33
GERÄT=ens33
ONBOOT=ja
BRÜCKE=br0
NM_CONTROLLED=nein

//Netzwerk neu starten[root@kvm ~]# systemctl restart network
[root@kvm ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue Status UNBEKANNT Gruppe Standard qlen 1000
    Link/Loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 Bereich Host lo
       valid_lft für immer preferred_lft für immer
    inet6 ::1/128 Bereich Host 
       valid_lft für immer preferred_lft für immer
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 Status UP-Gruppe Standard qlen 1000
    Link/Ether 00:0c:29:7b:10:a5 brd ff:ff:ff:ff:ff:ff:ff
    inet6 fe80::20c:29ff:fe7b:10a5/64 Bereichslink 
       valid_lft für immer preferred_lft für immer
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue status UP-Gruppe Standard qlen 1000
    Link/Ether 00:0c:29:7b:10:a5 brd ff:ff:ff:ff:ff:ff:ff
    inet 192.168.237.131/24 brd 192.168.237.255 Bereich global br0
       valid_lft für immer preferred_lft für immer
    inet6 fe80::20c:29ff:fe7b:10a5/64 Bereichslink 
       valid_lft für immer preferred_lft für immer
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue status DOWN group default qlen 1000
    Link/Ether 52:54:00:1c:33:d6 brd ff:ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 Bereich global virbr0
       valid_lft für immer preferred_lft für immer
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast Master virbr0 Status DOWN Gruppe Standard qlen 1000
    Link/Ether 52:54:00:1c:33:d6 brd ff:ff:ff:ff:ff:ff:ff

//Starten Sie den Dienst [root@kvm ~]# systemctl enable --now libvirtd

//Überprüfen Sie die Installationsergebnisse [root@kvm ~]# lsmod|grep kvm
kvm_intel 188740 0 
kvm 637289 1 kvm_intel
irqbypass 13503 1 kvm

//Test[root@kvm ~]# virsh -c qemu:///systemliste
 ID Name Status----------------------------------------------------

[root@kvm ~]# virsh --version
4.5.0
[root@kvm ~]# virt-install --version
1.5.0
[root@kvm ~]# ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-kvm
[root@kvm ~]# ll /usr/bin/qemu-kvm
lrwxrwxrwx 1 root root 21 10月20 23:14 /usr/bin/qemu-kvm -> /usr/libexec/qemu-kvm

//Bridge-Informationen anzeigen [root@kvm ~]# brctl show
Bridge-Name Bridge-ID STP-fähige Schnittstellen
br0 8000.000c297b10a5 nein ens33
virbr0 8000.5254001c33d6 ja virbr0-nic

1.2 Installation der KVM-Webverwaltungsschnittstelle

Die Webverwaltungsschnittstelle für KVM wird durch das Programm webvirtmgr bereitgestellt.

//Abhängige Pakete installieren[root@kvm ~]# yum -y install git python-pip libvirt-python libxml2-python python-websockify supervisor nginx python-devel
//Laden Sie den Webvirtmgr-Code von GitHub herunter [root@kvm ~]# cd /usr/local/src/
[root@kvm src]# git clone git://github.com/retspen/webvirtmgr.git
Klonen in „webvirtmgr“ …
remote: Objekte aufzählen: 5614, fertig.
Remote: Gesamt 5614 (Delta 0), wiederverwendet 0 (Delta 0), Pack-wiederverwendet 5614
Empfangene Objekte: 100 % (5614/5614), 2,97 MiB | 29,00 KiB/s, fertig.
Verarbeitungsdelta: 100 % (3606/3606), fertig.
//Installieren Sie webvirtmgr
[root@kvm src]# cd webvirtmgr/
[root@kvm webvirtmgr]# pip install -r Anforderungen.txt 
Sammeln von django==1.5.5 (aus -r requirements.txt (Zeile 1))
  https://files.pythonhosted.org/packages/38/49/93511c5d3367b6b21fc2995a0e53399721afc15e4cd6eb57be879ae13ad4/Django-1.5.5.tar.gz (8,1 MB) wird heruntergeladen
    100 % |██████████████████████████████████████| 8,1 MB, 49 kB/s 
......
//Überprüfen Sie, ob sqlite3 installiert ist [root@kvm webvirtmgr]# python
Python 2.7.5 (Standard, 16. November 2020, 22:23:17) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] auf linux2
Geben Sie „Hilfe“, „Copyright“, „Credits“ oder „Lizenz“ ein, um weitere Informationen zu erhalten.
>>> sqlite3 importieren
>>> beenden()
//Kontoinformationen initialisieren [root@kvm webvirtmgr]# python manage.py syncdb
WARNUNG:root: Keine local_settings-Datei gefunden.
Tabellen erstellen ...
Tabelle auth_permission erstellen
Tabelle auth_group_permissions erstellen
Tabelle auth_group erstellen
Tabelle auth_user_groups erstellen
Tabelle auth_user_user_permissions erstellen
Tabelle auth_user erstellen
Tabelle django_content_type erstellen
Tabelle django_session erstellen
Tabelle django_site erstellen
Erstellen der Tabelle servers_compute
Tabelle instance_instance erstellen
Tabelle „create_flavor“ erstellen
Sie haben gerade das Authentifizierungssystem von Django installiert, was bedeutet, dass Sie keine Superuser definiert haben.
Möchten Sie jetzt eins erstellen? (ja/nein): ja
Benutzername (leer lassen, um „root“ zu verwenden): admin
E-Mail-Adresse: [email protected]
Passwort: 
Passwort (noch einmal): 
Superuser erfolgreich erstellt.
Benutzerdefiniertes SQL installieren ...
Indizes werden installiert ...
6 Objekte aus 1 Einrichtung(en) installiert
//Kopieren Sie die Webseite in das angegebene Verzeichnis [root@kvm webvirtmgr]# mkdir /var/www
[root@kvm webvirtmgr]# cp -r /usr/local/src/webvirtmgr /var/www/
[root@kvm webvirtmgr]# chown -R nginx.nginx /var/www/webvirtmgr/
//Schlüssel generieren[root@kvm ~]# ssh-keygen -t rsa
Generieren eines öffentlichen/privaten RSA-Schlüsselpaars.
Geben Sie die Datei ein, in der der Schlüssel gespeichert werden soll (/root/.ssh/id_rsa): 
Verzeichnis „/root/.ssh“ erstellt.
Passphrase eingeben (leer, wenn keine Passphrase vorhanden ist): 
Geben Sie dieselbe Passphrase erneut ein: 
Ihre Identifikation wurde in /root/.ssh/id_rsa gespeichert.
Ihr öffentlicher Schlüssel wurde in /root/.ssh/id_rsa.pub gespeichert.
Der Schlüsselfingerabdruck ist:
SHA256:icyLAYmyxABKsogsIHmJqGjSby0ogFwf1p2zeiPwuxY root@kvm
Das Randomart-Bild des Schlüssels ist:
+---[RSA 2048]----+
|O+ . . . . |
|/ooo o . + |
|&*+ o . o |
|X+.. = . o |
|= o..* S |
|. . +oE o |
| . .... = . |
| o |
| ... |
+----[SHA256]-----+
[root@kvm ~]# ssh-Kopie-ID 192.168.237.131
/usr/bin/ssh-copy-id: INFO: Quelle des/der zu installierenden Schlüssel: „/root/.ssh/id_rsa.pub“
Die Authentizität des Hosts „192.168.237.131 (192.168.237.131)“ kann nicht festgestellt werden.
Der ECDSA-Schlüsselfingerabdruck ist SHA256:/AR9dYUN0PN9LOHYWfHeUe5LgyczVMH9mYv9+2GcAbM.
Der ECDSA-Schlüsselfingerabdruck lautet MD5:30:f6:de:5a:7d:c2:08:b5:b7:31:61:4a:4e:dd:32:73.
Möchten Sie die Verbindung wirklich fortsetzen (ja/nein)? ja
/usr/bin/ssh-copy-id: INFO: Versuch, sich mit den neuen Schlüsseln anzumelden, um alle bereits installierten herauszufiltern
/usr/bin/ssh-copy-id: INFO: 1 Schlüssel muss noch installiert werden -- wenn Sie jetzt dazu aufgefordert werden, installieren Sie die neuen Schlüssel
Passwort von [email protected]: 
Anzahl hinzugefügter Schlüssel: 1
Versuchen Sie nun, sich mit „ssh '192.168.237.131'“ beim Computer anzumelden.
und überprüfen Sie, ob nur die gewünschten Schlüssel hinzugefügt wurden.
//Portweiterleitung konfigurieren [root@kvm ~]# ssh 192.168.237.131 -L localhost:8000:localhost:8000 -L localhost:6080:localhost:60
Letzte Anmeldung: Mittwoch, 20. Oktober 2021, 23:12:00 Uhr von 192.168.237.1
[root@kvm ~]# ss -anlt
Status Recv-Q Send-Q Lokale Adresse:Port Peer-Adresse:Port              
LISTEN 0 128 127.0.0.1:6080 *:*                  
LISTEN 0 128 127.0.0.1:8000 *:*                  
HÖREN 0 128 *:111 *:*                  
LISTEN 0 5 192.168.122.1:53 *:*                  
HÖREN 0 128 *:22 *:*                  
LISTEN 0 100 127.0.0.1:25 *:*                  
LISTEN 0 128 [::1]:6080 [::]:*                  
LISTEN 0 128 [::1]:8000 [::]:*                  
HÖREN 0 128 [::]:111 [::]:*                  
HÖREN 0 128 [::]:22 [::]:*                  
LISTEN 0 100 [::1]:25 [::]:*                  
//nginx konfigurieren
[root@kvm ~]# cd /etc/nginx/
[root@kvm nginx]# ls
conf.d fastcgi_params mime.types scgi_params win-utf
default.d fastcgi_params.default mime.types.default scgi_params.default
fastcgi.conf koi-utf nginx.conf uwsgi_params
fastcgi.conf.default koi-win nginx.conf.default uwsgi_params.default
[root@kvm nginx]# cp nginx.conf nginx.conf-bak //Sicherung [root@kvm nginx]# cat nginx.conf
Benutzer nginx;
Arbeiterprozesse automatisch;
Fehlerprotokoll /var/log/nginx/error.log;
pid /run/nginx.pid;
schließen Sie /usr/share/nginx/modules/*.conf ein;
Ereignisse {
    Arbeiterverbindungen 1024;
}
http {
    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    Zugriffsprotokoll /var/log/nginx/access.log Haupt;
    sendfile an;
    tcp_nopush ein;
    tcp_nodelay ein;
    KeepAlive-Timeout 65;
    Typen_Hash_max_Größe 2048;
    /etc/nginx/mime.types einschließen;
    Standardtyp Anwendung/Oktett-Stream;
    schließen Sie /etc/nginx/conf.d/*.conf ein;
    Server {
        hören Sie 80;
        Servername localhost;
        /etc/nginx/default.d/*.conf einschließen;
        Standort / {
            Stamm-HTML;
            Index Index.html Index.htm;
        }
        Fehlerseite 404 /404.html;
            Standort = /40x.html {
        }
        Fehlerseite 500 502 503 504 /50x.html;
            Standort = /50x.html {
        }
    }
}
[root@kvm conf.d]# pwd
/etc/nginx/conf.d
[root@kvm conf.d]# vi webvirtmgr.conf
[root@kvm conf.d]# cat webvirtmgr.conf 
Server {
    hören Sie 80 Standardserver;
    Servername $Hostname;
    #access_log /var/log/nginx/webvirtmgr_access_log;
    Standort /static/ {
        root /var/www/webvirtmgr/webvirtmgr;
        läuft maximal ab;
    }
    Standort / {
        Proxy-Passwort http://127.0.0.1:8000;
        Proxy_Set_Header X-Real-IP $Remote_Addr;
        proxy_set_header X-Weitergeleitet-für $proxy_add_x_forwarded_for;
        Proxy_set_header Host $host:$server_port;
        Proxy_set_header X-Weitergeleitet-Proto $remote_addr;
        Proxy_Verbindungs-Timeout 600;
        Proxy_Lese_Timeout 600;
        Proxy_Sendezeitüberschreitung 600;
        Maximale Client-Body-Größe: 1024 M;
    }
}
// Stellen Sie sicher, dass Bind an Port 8000 des lokalen Computers gebunden ist [root@kvm ~]# vim /var/www/webvirtmgr/conf/gunicorn.conf.py 
bind = '0.0.0.0:8000' //Ändern Sie diese Zeile backlog = 2048
//Starten Sie nginx
[root@kvm ~]# systemctl aktivieren --jetzt nginx
Symlink von /etc/systemd/system/multi-user.target.wants/nginx.service nach /usr/lib/systemd/system/nginx.service erstellt.
[root@kvm ~]# ss -anlt
Status Recv-Q Send-Q Lokale Adresse:Port Peer-Adresse:Port              
LISTEN 0 128 127.0.0.1:6080 *:*                  
LISTEN 0 128 127.0.0.1:8000 *:*                  
HÖREN 0 128 *:111 *:*                  
HÖREN 0 128 *:80 *:*                  
LISTEN 0 5 192.168.122.1:53 *:*                  
HÖREN 0 128 *:22 *:*                  
LISTEN 0 100 127.0.0.1:25 *:*                  
LISTEN 0 128 [::1]:6080 [::]:*                  
LISTEN 0 128 [::1]:8000 [::]:*                  
HÖREN 0 128 [::]:111 [::]:*                  
HÖREN 0 128 [::]:22 [::]:*                  
LISTEN 0 100 [::1]:25 [::]:*                  
//Supervisor einrichten
[root@kvm ~]# vim /etc/supervisord.conf 
#Fügen Sie am Ende den folgenden Inhalt hinzu [program:webvirtmgr]
Befehl=/usr/bin/python2 /var/www/webvirtmgr/manage.py run_gunicorn -c /var/www/webvirtmgr/conf/gunicorn.conf.py
Verzeichnis=/var/www/webvirtmgr
autostart=true
autorestart=true
logfile=/var/log/supervisor/webvirtmgr.log
log_stderr=true
Benutzer=nginx
[Programm: Webvirtmgr-Konsole]
Befehl=/usr/bin/python2 /var/www/webvirtmgr/console/webvirtmgr-console
Verzeichnis=/var/www/webvirtmgr
autostart=true
autorestart=true
stdout_logfile=/var/log/supervisor/webvirtmgr-console.log
redirect_stderr=true
Benutzer=nginx
//Starte den Supervisor
[root@kvm ~]# systemctl aktivieren --now supervisord
Symlink von /etc/systemd/system/multi-user.target.wants/supervisord.service nach /usr/lib/systemd/system/supervisord.service erstellt.
[root@kvm ~]# systemctl status supervisord
● supervisord.service – Daemon zur Prozessüberwachung und -steuerung
   Geladen: geladen (/usr/lib/systemd/system/supervisord.service; aktiviert; Vendor-Vorgabe: deaktiviert)
   Aktiv: aktiv (läuft) seit Mittwoch, 20.10.2021, 23:53:33 CST; vor 12 Sek.
  Prozess: 46734 ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf (Code=exited, Status=0/ERFOLGREICH)
 Haupt-PID: 46737 (Supervisor)
//Nginx-Benutzer konfigurieren [root@kvm ~]# su - nginx -s /bin/bash
-bash-4.2$ ssh-keygen -t rsa
Generieren eines öffentlichen/privaten RSA-Schlüsselpaars.
Geben Sie die Datei ein, in der der Schlüssel gespeichert werden soll (/var/lib/nginx/.ssh/id_rsa): 
Verzeichnis „/var/lib/nginx/.ssh“ erstellt.
Passphrase eingeben (leer, wenn keine Passphrase vorhanden ist): 
Geben Sie dieselbe Passphrase erneut ein: 
Ihre Identifikation wurde in /var/lib/nginx/.ssh/id_rsa gespeichert.
Ihr öffentlicher Schlüssel wurde in /var/lib/nginx/.ssh/id_rsa.pub gespeichert.
Der Schlüsselfingerabdruck ist:
SHA256:S46h+CYFvCGW+6z68PXZgbKNLLdPdiPD6LmzPOpYBwI nginx@kvm
Das Randomart-Bild des Schlüssels ist:
+---[RSA 2048]----+
| |
| |
|E.. |
|oo+ |
|o.o+ . S |
| oo+ * . |
|. =.* O * |
| =oX=X * o |
|++**%B= . |
+----[SHA256]-----+
-bash-4.2$ touch ~/.ssh/config && echo -e "StrictHostKeyChecking=no\nUserKnownHostsFile=/dev/null" >> ~/.ssh/config
-bash-4.2$ chmod 0600 ~/.ssh/config
-bash-4.2$ ssh-Kopie-ID [email protected]
/bin/ssh-copy-id: INFO: Quelle des/der zu installierenden Schlüssel: „/var/lib/nginx/.ssh/id_rsa.pub“
/bin/ssh-copy-id: INFO: Versuch, sich mit den neuen Schlüsseln anzumelden, um bereits installierte Schlüssel herauszufiltern
/bin/ssh-copy-id: INFO: 1 Schlüssel müssen noch installiert werden -- wenn Sie jetzt dazu aufgefordert werden, installieren Sie die neuen Schlüssel
Warnung: „192.168.237.131“ (ECDSA) wurde dauerhaft zur Liste der bekannten Hosts hinzugefügt.
Passwort von [email protected]: 
Anzahl hinzugefügter Schlüssel: 1
Versuchen Sie nun, sich mit „ssh ‚[email protected]‘“ beim Computer anzumelden.
und überprüfen Sie, ob nur die gewünschten Schlüssel hinzugefügt wurden.
-bash-4.2$ beenden
Abmelden[root@kvm ~]# vim /etc/polkit-1/localauthority/50-local.d/50-libvirt-remote-access.pkla
[Remote-Libvirt-SSH-Zugriff]
Identity=Unix-Benutzer:root
Aktion=org.libvirt.unix.manage
ErgebnisAny=ja
ErgebnisInaktiv=ja
ErgebnisAktiv=ja
[root@kvm ~]# chown -R root.root /etc/polkit-1/localauthority/50-local.d/50-libvirt-remote-access.pkla
[root@kvm ~]# systemctl nginx neu starten
[root@kvm ~]# systemctl libvirtd neu starten

1.3 KVM-Webschnittstellenverwaltung

Greifen Sie im Browser über die IP-Adresse auf kvm zu

Bildbeschreibung hier einfügen

1.3.1 KVM-Verbindungsverwaltung

Erstellen Sie eine SSH-Verbindung:

Bildbeschreibung hier einfügen

Bildbeschreibung hier einfügen

Bildbeschreibung hier einfügen

1.3.2 KVM-Speicherverwaltung

Speicher erstellen:

Bildbeschreibung hier einfügen

Bildbeschreibung hier einfügen

Speicher eingeben:

Bildbeschreibung hier einfügen

Bildbeschreibung hier einfügen

Laden Sie die ISO-Image-Datei über die Remote-Verbindungssoftware in das Speicherverzeichnis /var/lib/libvirt/images/ hoch.

[root@kvm ~]# ls /var/lib/libvirt/images/
CentOS-8.4.2105-x86_64-dvd1.iso

Prüfen Sie im Webinterface, ob das ISO-Image vorhanden ist

Bildbeschreibung hier einfügen

Erstellen eines Systeminstallationsimages

Bildbeschreibung hier einfügen

Bildbeschreibung hier einfügen

Bildbeschreibung hier einfügen

1.3.3 KVM-Netzwerkverwaltung

Hinzufügen eines Bridge-Netzwerks

Bildbeschreibung hier einfügen

Bildbeschreibung hier einfügen

Bildbeschreibung hier einfügen

1.3.4 Instanzverwaltung

Erstellen einer Instanz (virtueller Maschine)

Bildbeschreibung hier einfügen

Bildbeschreibung hier einfügen

Bildbeschreibung hier einfügen

Legen Sie die CD in die virtuelle Maschine ein

Bildbeschreibung hier einfügen

Legen Sie ein Passwort für den Zugriff auf die virtuelle Maschine im Web fest

Bildbeschreibung hier einfügen

Starten Sie die virtuelle Maschine

Bildbeschreibung hier einfügen

Öffnen Sie die Konsole

Bildbeschreibung hier einfügen

Installieren der virtuellen Maschine

Bildbeschreibung hier einfügen

Installation abgeschlossen

Bildbeschreibung hier einfügen

Fehler

Das Webinterface ist nicht erreichbar und die Kommandozeile meldet einen Fehler (Annahme: Zu viele offene Dateien)

Konfigurieren Sie nginx[root@kvm ~]# vim /etc/nginx/nginx.conf
Benutzer nginx;
Arbeiterprozesse automatisch;
Fehlerprotokoll /var/log/nginx/error.log;
pid /run/nginx.pid;
worker_rlimit_nofile 655350; //Fügen Sie diese Zeile hinzu [root@kvm ~]# systemctl restart nginx.service 

Systemparameter festlegen [root@kvm ~]# vim /etc/security/limits.conf
# Ende der Datei //Füge die folgenden zwei Zeilen hinzu * soft nofile 655350		
* hartes Nofile 655350

Starten Sie die virtuelle Maschine neu und Sie können erfolgreich auf [root@kvm ~]# reboot zugreifen.

Oben finden Sie den detaillierten Inhalt des Tutorials zur Installation, Bereitstellung und Verwaltung der KVM-Virtualisierung. Weitere Informationen zur Installation, Bereitstellung und Verwaltung der KVM-Virtualisierung finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • KVM-Einführung und detaillierte Erläuterung seiner Funktionen
  • So implementieren Sie die Online-Hot-Migration von virtuellen KVM-Maschinen (Bild und Text)
  • KVM-Image-Erweiterungs- und Komprimierungsvorgänge für virtuelle Maschinen

<<:  Online-Webtools und -anwendungen, auf die Webentwickler und -designer nicht verzichten können

>>:  Detaillierte JavaScript-Rekursion

Artikel empfehlen

Erläuterung der HTML-Tags

Erläuterung der HTML-Tags 1. HTML-Tags Tag: !DOCT...

vsCode generiert Vue-Vorlagen mit einem Klick

1. Verwenden Sie die Tastenkombination Strg + Ums...

Ursachen und Lösungen für Verzögerungen bei der MySQL Master-Slave-Replikation

Inhaltsverzeichnis Ein kurzer Überblick über die ...

Beispielcode zur Implementierung des Bildschubladeneffekts mit CSS3

Wie üblich posten wir zuerst den Bildeffekt: Das ...

Einfache Implementierungsmethode der bidirektionalen Datenbindung im JS-Projekt

Inhaltsverzeichnis Vorwort Publish-Subscriber-Mus...

Vue/React-Einzelseitenanwendung zurück ohne Aktualisierungslösung

Inhaltsverzeichnis Einführung Warum die Mühe? Com...

Reiner CSS-Code zum Erzielen von Fluss und dynamischen Linieneffekten

Ideen: Eine äußere Box legt den Hintergrund fest;...

Details zum JavaScript-Prototyp und zur Prototypkette

Inhaltsverzeichnis 1. Prototyp (expliziter Protot...

MySQL in Ubuntu 18.04 installieren (grafisches Tutorial)

Tipp: Die folgenden Vorgänge werden alle mit Root...

Tutorial zur MySQL-Installation in der Linux-CentOS7-Umgebung

Detaillierte Einführung in die Schritte zur Insta...