Ricerca nel sito web

Come installare WebVirtCloud KVM Management su Ubuntu 20.04


Su questa pagina

  1. Prerequisiti
  2. Per iniziare
  3. Verifica il supporto per la virtualizzazione
  4. Installa l'hypervisor KVM
  5. Installa Nginx e altri pacchetti
  6. Installa e configura WebVirtCloud
  7. Imposta KVM e Libvirt
  8. Accedi a WebVirtCloud
  9. Conclusione

WebVirtCloud è uno strumento di gestione basato sul Web per la virtualizzazione KVM. Consente ad amministratori e utenti di creare, gestire ed eliminare macchine virtuali in esecuzione su hypervisor KVM da un'interfaccia web. È basato su Django e supporta l'autorizzazione e l'autenticazione basate sull'utente. Con WebVirtCloud, puoi gestire più hypervisor QEMU/KVM, gestire reti hypervisor e gestire pool di datastore da un'unica installazione.

In questo tutorial, ti mostrerò come installare lo strumento WebVirtCloud KVM Management su Ubuntu 20.04.

Prerequisiti

  • Un server che esegue Ubuntu 20.04.
  • Sul server è configurata una password di root.

Iniziare

Innanzitutto, aggiorna i pacchetti di sistema alla versione aggiornata eseguendo il seguente comando:

apt-get update -y

Una volta aggiornati tutti i pacchetti, puoi procedere al passaggio successivo.

Verificare il supporto per la virtualizzazione

Prima di iniziare, dovrai verificare se il tuo sistema operativo supporta o meno la virtualizzazione dell'hardware.

Eseguire il seguente comando per verificarlo.

grep -E -c "vmx|svm" /proc/cpuinfo

Se l'output è superiore a 0, il sistema operativo supporta la virtualizzazione dell'hardware.

2

Successivamente, dovrai anche verificare se il tuo sistema è in grado di eseguire macchine virtuali KVM.

Per fare ciò, installa cpu-checker con il seguente comando:

apt-get install cpu-checker -y

Una volta installato, eseguire il seguente comando per verificare:

kvm-ok

Dovresti vedere il seguente output:

INFO: /dev/kvm exists
KVM acceleration can be used

Una volta terminato, puoi procedere al passaggio successivo.

Installa l'hypervisor KVM

Successivamente, dovrai installare KVM sul tuo server. È possibile installare KVM con tutti gli strumenti richiesti utilizzando il seguente comando:

apt-get install qemu qemu-kvm libvirt-daemon bridge-utils virt-manager virtinst -y

Dopo l'installazione, sarà necessario verificare se il modulo KVM è stato caricato o meno. Puoi verificarlo con il seguente comando:

lsmod | grep -i kvm

Dovresti vedere il seguente output:

kvm_intel             286720  0
kvm                   663552  1 kvm_intel

Successivamente, controlla lo stato del servizio libvirtd con il seguente comando:

systemctl status libvirtd

Dovresti vedere il seguente output:

? libvirtd.service - Virtualization daemon
     Loaded: loaded (/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-08-01 04:57:14 UTC; 1min 3s ago
TriggeredBy: ? libvirtd-admin.socket
             ? libvirtd-ro.socket
             ? libvirtd.socket
       Docs: man:libvirtd(8)
             https://libvirt.org
   Main PID: 5236 (libvirtd)
      Tasks: 19 (limit: 32768)
     Memory: 16.2M
     CGroup: /system.slice/libvirtd.service
             ??5236 /usr/sbin/libvirtd
             ??5385 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/lib/libvirt/libvirt_>
             ??5386 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/lib/libvirt/libvirt_>

Aug 01 04:57:14 ubunt4 systemd[1]: Started Virtualization daemon.
Aug 01 04:57:15 ubunt4 dnsmasq[5385]: started, version 2.80 cachesize 150
Aug 01 04:57:15 ubunt4 dnsmasq[5385]: compile time options: IPv6 GNU-getopt DBus i18n IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset auth net>
Aug 01 04:57:15 ubunt4 dnsmasq-dhcp[5385]: DHCP, IP range 192.168.122.2 -- 192.168.122.254, lease time 1h
Aug 01 04:57:15 ubunt4 dnsmasq-dhcp[5385]: DHCP, sockets bound exclusively to interface virbr0
Aug 01 04:57:15 ubunt4 dnsmasq[5385]: reading /etc/resolv.conf
Aug 01 04:57:15 ubunt4 dnsmasq[5385]: using nameserver 127.0.0.53#53
Aug 01 04:57:15 ubunt4 dnsmasq[5385]: read /etc/hosts - 5 addresses
Aug 01 04:57:15 ubunt4 dnsmasq[5385]: read /var/lib/libvirt/dnsmasq/default.addnhosts - 0 addresses
Aug 01 04:57:15 ubunt4 dnsmasq-dhcp[5385]: read /var/lib/libvirt/dnsmasq/default.hostsfile

Al termine, puoi procedere al passaggio successivo.

Installa Nginx e altri pacchetti

Successivamente, dovrai installare Nginx, Python e altri pacchetti richiesti sul tuo server. Puoi installarli tutti con il seguente comando:

apt-get install git virtualenv python3-virtualenv python3-dev python3-lxml libvirt-dev zlib1g-dev libxslt1-dev nginx supervisor libsasl2-modules gcc pkg-config python3-guestfs libsasl2-dev libldap2-dev libssl-dev -y

Una volta installati tutti i pacchetti, puoi procedere al passaggio successivo.

Installa e configura WebVirtCloud

Innanzitutto, scarica l'ultima versione di WebVirtCloud dal repository Git utilizzando il seguente comando:

git clone https://github.com/retspen/webvirtcloud

Una volta completato il download, cambia la directory in webvirtcloud e copia il file setting.py di esempio:

cd webvirtcloud
cp webvirtcloud/settings.py.template webvirtcloud/settings.py

Quindi, genera una chiave segreta con il seguente comando:

openssl rand -base64 32

Dovresti ottenere il seguente output:

mTHhsUm5adG8DABJaIvmRLpQjNbL1vdeIpBDi/jQCV0=

Successivamente, modifica il file settings.py e definisci la tua chiave segreta:

nano webvirtcloud/settings.py

Modifica la riga seguente:

SECRET_KEY = "mTHhsUm5adG8DABJaIvmRLpQjNbL1vdeIpBDi/jQCV0="

Salva e chiudi il file, quindi copia il file di configurazione di WebVirtCloud nella directory Nginx e Supervisor:

cp conf/supervisor/webvirtcloud.conf /etc/supervisor/conf.d
cp conf/nginx/webvirtcloud.conf /etc/nginx/conf.d

Quindi, torna alla tua home directory e sposta la directory webvirtcloud dalla directory /srv:

cd ..
mv webvirtcloud /srv/

Successivamente, imposta la proprietà corretta sulla directory webvirtcloud:

chown -R www-data:www-data /srv/webvirtcloud/

Successivamente, modifica la directory in webvirtcloud e crea un ambiente virtuale:

cd /srv/webvirtcloud/
virtualenv -p python3 venv

Quindi, attiva l'ambiente virtuale con il seguente comando:

source venv/bin/activate

Successivamente, installa le dipendenze Python richieste con il seguente comando:

pip install -r conf/requirements.txt

Dovresti vedere il seguente output:

Successfully built libvirt-python qrcode rwlock websockify
Installing collected packages: sqlparse, pytz, asgiref, Django, soupsieve, beautifulsoup4, django-bootstrap5, django-icons, django-login-required-middleware, django-otp, segno, django-qr-code, gunicorn, six, libsass, libvirt-python, lxml, qrcode, rwlock, numpy, websockify, zipp, pyasn1, ldap3
Successfully installed Django-3.2.5 asgiref-3.4.1 beautifulsoup4-4.9.3 django-bootstrap5-2.0.1 django-icons-4.0.0 django-login-required-middleware-0.6.1 django-otp-1.0.6 django-qr-code-2.2.0 gunicorn-20.1.0 ldap3-2.9 libsass-0.21.0 libvirt-python-7.4.0 lxml-4.6.3 numpy-1.21.1 pyasn1-0.4.8 pytz-2021.1 qrcode-7.0 rwlock-0.0.7 segno-1.3.3 six-1.16.0 soupsieve-2.2.1 sqlparse-0.4.1 websockify-0.9.0 zipp-3.4.1

Successivamente, esegui il comando migrate per generare tutte le tabelle:

python3 manage.py migrate

Dovresti vedere il seguente output:

  Applying otp_totp.0001_initial... OK
  Applying otp_totp.0002_auto_20190420_0723... OK
  Applying sessions.0001_initial... OK
* Creating default admin user
! SHOW_PROFILE_EDIT_PASSWORD is found inside settings.py
* Applying permission can_change_password for all users
! Warning!!! Setting to True for all users
! Don`t forget to remove the option from settings.py
* Migrating can_clone_instaces user attribute to permission
* Applying permission passwordless_console for all users

Successivamente, disattiva dall'ambiente virtuale Python con il seguente comando:

deactivate

Successivamente, imposta la proprietà corretta sulla directory webvirtcloud con il seguente comando:

chown -R www-data:www-data /srv/webvirtcloud/

Successivamente, rimuovi il file di configurazione dell'host virtuale predefinito Nginx:

rm /etc/nginx/sites-enabled/default

Successivamente, riavvia il servizio Nginx e Supervisor per applicare le modifiche:

systemctl restart nginx
systemctl restart supervisor

Ora puoi verificare lo stato di Nginx con il seguente comando:

systemctl status nginx

Dovresti vedere il seguente output:

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-08-01 10:35:57 UTC; 12s ago
       Docs: man:nginx(8)
    Process: 29055 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 29068 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 29076 (nginx)
      Tasks: 3 (limit: 4691)
     Memory: 3.4M
     CGroup: /system.slice/nginx.service
             ??29076 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ??29077 nginx: worker process
             ??29078 nginx: worker process

Aug 01 10:35:57 ubunt4 systemd[1]: Starting A high performance web server and a reverse proxy server...
Aug 01 10:35:57 ubunt4 systemd[1]: Started A high performance web server and a reverse proxy server.

Configura KVM e Libvirt

Successivamente, esegui il seguente script per configurare KVM e Libvirt:

wget -O - https://bit.ly/36baWUu | sh

Dovresti vedere il seguente output:

Length: 151 [text/plain]
Saving to: ‘/etc/supervisor/conf.d/gstfsd.conf’

/etc/supervisor/conf.d/gstfsd.conf  100%[==================================================================>]     151  --.-KB/s    in 0s      

2021-08-01 10:36:51 (5.50 MB/s) - ‘/etc/supervisor/conf.d/gstfsd.conf’ saved [151/151]

 *  INFO: Found function daemons_running_ubuntu
 * DEBUG: DAEMONS_RUNNING_FUNC=daemons_running_ubuntu
 *  INFO: Running daemons_running_ubuntu()

Infine, aggiungi un utente KVM al gruppo www-data con il seguente comando:

adduser www-data kvm

Accedi a WebVirtCloud

A questo punto, WebVirtCloud è installato e configurato. È ora di accedere all'interfaccia web di WebVirtCloud.

Apri il tuo browser web e digita l'URL http://your-server-ip. Verrai reindirizzato alla pagina di accesso di WebVirtCloud:

Fornire nome utente e password predefiniti come admin/admin e fare clic sul pulsante Accedi. Dovresti vedere la dashboard di WebVirtCloud nella pagina seguente:

Conclusione

Congratulazioni! hai installato correttamente WebVirtCloud sul server Ubuntu 20.04. Ora puoi creare e gestire le tue macchine virtuali dall'interfaccia basata sul web. Non esitate a chiedermi se avete domande.