1.kvm-Bereitstellung1.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-WebverwaltungsschnittstelleDie 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-WebschnittstellenverwaltungGreifen Sie im Browser über die IP-Adresse auf kvm zu 1.3.1 KVM-VerbindungsverwaltungErstellen Sie eine SSH-Verbindung: 1.3.2 KVM-SpeicherverwaltungSpeicher erstellen: Speicher eingeben: 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 Erstellen eines Systeminstallationsimages 1.3.3 KVM-NetzwerkverwaltungHinzufügen eines Bridge-Netzwerks 1.3.4 Instanzverwaltung Erstellen einer Instanz (virtueller Maschine) Legen Sie die CD in die virtuelle Maschine ein Legen Sie ein Passwort für den Zugriff auf die virtuelle Maschine im Web fest Starten Sie die virtuelle Maschine Öffnen Sie die Konsole Installieren der virtuellen Maschine Installation abgeschlossen FehlerDas 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:
|
<<: Online-Webtools und -anwendungen, auf die Webentwickler und -designer nicht verzichten können
>>: Detaillierte JavaScript-Rekursion
Methode 1: Verwenden Sie Tabellenattribute: Heade...
Erläuterung der HTML-Tags 1. HTML-Tags Tag: !DOCT...
1. Verwenden Sie die Tastenkombination Strg + Ums...
Inhaltsverzeichnis 1. Live-Übertragungseffekt 2. ...
Inhaltsverzeichnis Ein kurzer Überblick über die ...
Wie üblich posten wir zuerst den Bildeffekt: Das ...
Inhaltsverzeichnis Vorwort Publish-Subscriber-Mus...
Inhaltsverzeichnis Einführung Warum die Mühe? Com...
1. Zusammengesetzter Primärschlüssel Der sogenann...
Ideen: Eine äußere Box legt den Hintergrund fest;...
Inhaltsverzeichnis 1. Prototyp (expliziter Protot...
Zum ersten Mal schreiben. Gestatten Sie mir, mich...
Auf einer Seite gibt es viele Steuerelemente (Elem...
Tipp: Die folgenden Vorgänge werden alle mit Root...
Detaillierte Einführung in die Schritte zur Insta...