GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar la gestión KVM de WebVirtCloud en Ubuntu 20.04

WebVirtCloud es una herramienta de gestión basada en web para la virtualización de KVM. Permite a los administradores y usuarios crear, administrar y eliminar máquinas virtuales que se ejecutan en el hipervisor KVM desde una interfaz web. Se basa en Django y admite autenticación y autorización basadas en el usuario. Con WebVirtCloud, puede administrar múltiples hipervisores QEMU/KVM, administrar redes de hipervisores y administrar grupos de almacenes de datos desde una sola instalación.

En este tutorial, le mostraré cómo instalar la herramienta de administración KVM de WebVirtCloud en Ubuntu 20.04.

Requisitos

  • Un servidor con Ubuntu 20.04.
  • Se configura una contraseña raíz en el servidor.

Cómo empezar

Primero, actualice los paquetes del sistema a la versión actualizada ejecutando el siguiente comando:

apt-get update -y

Una vez que todos los paquetes estén actualizados, puede continuar con el siguiente paso.

Verificar soporte de virtualización

Antes de comenzar, deberá verificar si su sistema operativo es compatible con la virtualización de hardware o no.

Ejecute el siguiente comando para verificarlo.

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

Si el resultado es superior a 0, su sistema operativo admite la virtualización de hardware.

2

A continuación, también deberá comprobar si su sistema es capaz de ejecutar máquinas virtuales KVM.

Para hacerlo, instale cpu-checker con el siguiente comando:

apt-get install cpu-checker -y

Una vez instalado, ejecute el siguiente comando para verificar:

kvm-ok

Debería ver el siguiente resultado:

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

Una vez que haya terminado, puede continuar con el siguiente paso.

Instalar hipervisor KVM

A continuación, deberá instalar KVM en su servidor. Puede instalar KVM con todas las herramientas necesarias usando el siguiente comando:

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

Después de la instalación, deberá verificar si el módulo KVM se ha cargado o no. Puedes verificarlo con el siguiente comando:

lsmod | grep -i kvm

Debería ver el siguiente resultado:

kvm_intel             286720  0
kvm                   663552  1 kvm_intel

A continuación, verifique el estado del servicio libvirtd con el siguiente comando:

systemctl status libvirtd

Debería ver el siguiente resultado:

? 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 ubuntu2004 systemd[1]: Started Virtualization daemon.
Aug 01 04:57:15 ubuntu2004 dnsmasq[5385]: started, version 2.80 cachesize 150
Aug 01 04:57:15 ubuntu2004 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 ubuntu2004 dnsmasq-dhcp[5385]: DHCP, IP range 192.168.122.2 -- 192.168.122.254, lease time 1h
Aug 01 04:57:15 ubuntu2004 dnsmasq-dhcp[5385]: DHCP, sockets bound exclusively to interface virbr0
Aug 01 04:57:15 ubuntu2004 dnsmasq[5385]: reading /etc/resolv.conf
Aug 01 04:57:15 ubuntu2004 dnsmasq[5385]: using nameserver 127.0.0.53#53
Aug 01 04:57:15 ubuntu2004 dnsmasq[5385]: read /etc/hosts - 5 addresses
Aug 01 04:57:15 ubuntu2004 dnsmasq[5385]: read /var/lib/libvirt/dnsmasq/default.addnhosts - 0 addresses
Aug 01 04:57:15 ubuntu2004 dnsmasq-dhcp[5385]: read /var/lib/libvirt/dnsmasq/default.hostsfile

Una vez que haya terminado, puede continuar con el siguiente paso.

Instalar Nginx y otros paquetes

A continuación, deberá instalar Nginx, Python y otros paquetes necesarios en su servidor. Puede instalarlos todos con el siguiente 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 vez que todos los paquetes estén instalados, puede continuar con el siguiente paso.

Instalar y configurar WebVirtCloud

Primero, descargue la última versión de WebVirtCloud desde el repositorio de Git usando el siguiente comando:

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

Una vez que se complete la descarga, cambie el directorio a webvirtcloud y copie el archivo setting.py de muestra:

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

Luego, genera una clave secreta con el siguiente comando:

openssl rand -base64 32

Deberías obtener el siguiente resultado:

mTHhsUm5adG8DABJaIvmRLpQjNbL1vdeIpBDi/jQCV0=

A continuación, edite el archivo settings.py y defina su clave secreta:

nano webvirtcloud/settings.py

Cambie la siguiente línea:

SECRET_KEY = "mTHhsUm5adG8DABJaIvmRLpQjNbL1vdeIpBDi/jQCV0="

Guarde y cierre el archivo, luego copie el archivo de configuración de WebVirtCloud en el directorio de Nginx y Supervisor:

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

A continuación, vuelva a su directorio de inicio y mueva el directorio webvirtcloud al directorio /srv:

cd ..
mv webvirtcloud /srv/

A continuación, establezca la propiedad adecuada en el directorio webvirtcloud:

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

A continuación, cambie el directorio a webvirtcloud y cree un entorno virtual:

cd /srv/webvirtcloud/
virtualenv -p python3 venv

A continuación, active el entorno virtual con el siguiente comando:

source venv/bin/activate

A continuación, instale las dependencias de Python requeridas con el siguiente comando:

pip install -r conf/requirements.txt

Debería ver el siguiente resultado:

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

A continuación, ejecute el comando de migración para generar todas las tablas:

python3 manage.py migrate

Debería ver el siguiente resultado:

  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

A continuación, desactívelo desde el entorno virtual de Python con el siguiente comando:

deactivate

A continuación, establezca la propiedad adecuada en el directorio webvirtcloud con el siguiente comando:

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

A continuación, elimine el archivo de configuración de host virtual predeterminado de Nginx:

rm /etc/nginx/sites-enabled/default

A continuación, reinicie el servicio Nginx y Supervisor para aplicar los cambios:

systemctl restart nginx
systemctl restart supervisor

Ahora puede verificar el estado de Nginx con el siguiente comando:

systemctl status nginx

Debería ver el siguiente resultado:

? 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 ubuntu2004 systemd[1]: Starting A high performance web server and a reverse proxy server...
Aug 01 10:35:57 ubuntu2004 systemd[1]: Started A high performance web server and a reverse proxy server.

Configurar KVM y Libvirt

A continuación, ejecute el siguiente script para configurar KVM y Libvirt:

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

Debería ver el siguiente resultado:

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()

Finalmente, agregue un usuario de KVM al grupo www-data con el siguiente comando:

adduser www-data kvm

Acceder a WebVirtCloud

En este punto, WebVirtCloud está instalado y configurado. Es hora de acceder a la interfaz web de WebVirtCloud.

Abra su navegador web y escriba la URL http://your-server-ip . Será redirigido a la página de inicio de sesión de WebVirtCloud:

Proporcione el nombre de usuario y la contraseña predeterminados como admin/admin y haga clic en Iniciar sesión botón. Debería ver el panel de control de WebVirtCloud en la siguiente página:

Conclusión

¡Felicidades! Ha instalado con éxito WebVirtCloud en el servidor Ubuntu 20.04. Ahora puede crear y administrar sus máquinas virtuales desde la interfaz basada en web. Siéntase libre de preguntarme si tiene alguna pregunta.


Ubuntu
  1. Cómo instalar KVM en Ubuntu 20.04

  2. Cómo instalar R en Ubuntu 20.04

  3. Cómo instalar Kvm en Ubuntu 20.04

  4. Cómo instalar R en Ubuntu 16.04

  5. Cómo instalar Go en Ubuntu 18.04

Instale el panel web WebVirtCloud KVM en Ubuntu 20.04

Cómo instalar KVM en Ubuntu 20.04 LTS

Cómo instalar Go en Ubuntu 20.04

Cómo instalar digiKam - Software de gestión de fotos en Ubuntu

Cómo instalar KVM en Ubuntu 22.04

Cómo instalar Go en Ubuntu 22.04