Producto QVD 4.2 Virtual Deckard
Equipo QVD Docs <documentation@theqvd.com>
Aviso legal
Advertencias
La presente guía contiene los comandos necesarios para realizar una instalación de QVD mononodo, en la cual se instalarán todos los componentes en la misma máquina. En una instalación multinodo existirán pasos adicionales y la configuración de red varía. |
Durante el proceso se instalarán paquetes y se realizarán modificaciones de la configuración de red. Se recomienda utilizar un entorno de pruebas. |
1. Requisitos
1.1. Base de datos
-
2 núcleos de CPU
-
2 GB de RAM
-
PostgreSQL 10 o superior
1.2. HKD
-
Arquitectura x86_64.
2. Pre-instalación
-
Instalar los paquetes adicionales
root@qvdnode:~# yum install yum-utils
-
Agregar la clave pública de los paquetes QVD a sus claves de confianza (como root):
root@qvdnode:~# rpm --import https://www.theqvd.com/packages/key/public.key
-
Agregar el repositorio y actualizar:
root@qvdnode:~# yum-config-manager --add-repo http://theqvd.com/packages/centos/7.8/QVD-4.2.0/ root@qvdnode:~# yum update
-
Para paquetes comerciales:
root@qvdnode:~# echo "[QVD-4.2.0]" > /etc/yum.repos.d/QVD-4.2.0.repo root@qvdnode:~# echo "name=QVD-4.2.0" >> /etc/yum.repos.d/QVD-4.2.0.repo root@qvdnode:~# echo "baseurl=http://$USER:$PASSWORD@theqvd.com/commercial-packages/centos/7.8/QVD-4.2.0/" | sed 's/@\(.*@\)/%40\1/' >> /etc/yum.repos.d/QVD-4.2.0.repo root@qvdnode:~# echo "enabled=1" >> /etc/yum.repos.d/QVD-4.2.0.repo root@qvdnode:~# yum update
$USUARIO y $PASSWORD son las credenciales recibidas al comprar la suscripción.
-
3. Instalación y configuración de la base de datos
root@qvdnode:~# yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm root@qvdnode:~# yum install postgresql10-server postgresql10-contrib root@qvdnode:~# /usr/pgsql-10/bin/postgresql-10-setup initdb root@qvdnode:~# systemctl enable --now postgresql-10.service
3.1. Crear una cuenta de usuario
root@qvdnode:~# su - postgres postgres@qvdnode:~$ createuser -SDRP qvd Enter password for new role: passw0rd Enter it again: passw0rd
3.2. Crear la base de datos QVD
postgres@qvdnode:~$ createdb -O qvd qvddb postgres@qvdnode:~$ exit
3.3. Cambiar la configuración de PostgreSQL
Edite el archivo /var/lib/pgsql/10/data/postgresql.conf y establezca los siguientes parámetros:
listen_addresses = '0.0.0.0' default_transaction_isolation = 'serializable'
Edite el archivo /var/lib/pgsql/10/data/pg_hba.conf y agregue al principio la siguiente línea:
host qvddb qvd 192.168.0.0/24 md5
Asegúrese de reemplazar la red predeterminada 192.168.0.0/24 con la red que utiliza su plataforma. |
Reinicie PostgreSQL.
root@qvdnode:~# systemctl restart postgresql-10.service
4. Instalación del HKD
root@qvdnode:~# yum install perl-QVD-HKD
4.1. Configuración básica
-
Copie el archivo de ejemplo sample-node.conf a su configuración:
root@qvdnode:~# cp -v /usr/lib/qvd/config/sample-node.conf /etc/qvd/node.conf root@qvdnode:~# chown root:root /etc/qvd/node.conf root@qvdnode:~# chmod 0640 /etc/qvd/node.conf
-
Edite el archivo /etc/qvd/node.conf y modifique/incluya las siguientes entradas:
nodename=qvdnode database.host=qvdnode database.name=qvddb database.user=qvd database.password=passw0rd path.log = /var/log/qvd log.filename = ${path.log}/qvd.log log.level = INFO
-
Donde
-
nodename: Nombre del nodo, normalmente es el mismo nombre del servidor
-
database.host: Servidor donde reside la base de datos de QVD
-
database.name: Nombre de la base de datos de QVD
-
database.user: Cuenta de usuario necesaria para conectar
-
database.password: Contraseña del usuario anteriormente especificado
-
-
Tambien debe agregar un nivel de log para fines de depuración.
-
Las entradas relacionadas con el log se deben establecer aquí, debido a que los componentes de QVD se inicializan antes de conectarse a la base de datos.
Debe asegurarse de que el nodename, database.host, database.name, database.user y database.password contienen valores que coinciden con los que haya configurado. Una vez que estos ajustes estén en su lugar, cualquier utilidad que requiera acceso a la base de datos tendrá los detalles de configuración apropiados para hacerlo. -
-
Iniciar/Habilitar el servicio de HKD
root@qvdnode:~# systemctl enable --now qvd-hkd
4.2. Población de las tablas de QVD
root@qvdnode:~# /usr/lib/qvd/bin/qvd-deploy-db.pl
5. Instalación de las herramientas de administración
5.1. Configuración de SSL
Si ya tiene un certificado firmado por un tercero, puede omitir la creación de un certificado autofirmado y utilizar su certificado firmado. |
- Creación de un certificado autofirmado
root@qvdnode:~# yum install openssl root@qvdnode:~# mkdir /etc/qvd/certs root@qvdnode:~# cd /etc/qvd/certs
Genere una clave privada.
root@qvdnode:/etc/qvd/certs# openssl genrsa 2048 > key.pem
Cree un certificado autofirmado.
root@qvdnode:/etc/qvd/certs# openssl req -new -x509 -nodes -sha256 -days 365 -key key.pem > cert.pem
OpenSSL le pedirá que ingrese varios campos que requiere para el certificado. En el campo Nombre común debe insertar el nombre de dominio completo del host que ejecutará su nodo QVD. |
5.2. API
root@qvdnode:~# yum install perl-QVD-API
Cree el fichero /etc/qvd/api.conf con el siguiente contenido:
database.host=qvdnode database.name=qvddb database.user=qvd database.password=passw0rd api.user=root api.group=root path.api.ssl=/etc/qvd/certs
Para ejecutar tanto el CLI como el WAT deberemos arrancar la API.
root@qvdnode:~# systemctl enable --now qvd-api
Haciendo una llamada al endpoint info desde el navegador o con el siguiente comando comprobaremos que la API está funcionando.
root@qvdnode:~# curl -k https://localhost:443/api/info
Nos deberá devolver un JSON con datos del sistema.
5.3. CLI
root@qvdnode:~# yum install perl-QVD-Admin4
Cree el fichero /etc/qvd/qa.conf con el siguiente contenido:
qa.url = https://localhost:443/ qa.tenant = * qa.login = superadmin qa.password = superadmin qa.format = TABLE qa.insecure = 1
Esto es solo una guía de instalación para pruebas. Nunca para su uso en un entorno de producción. El parámetro qa.insecure deberá ser sustituido por el parámetro qa.ca con la ruta de su Autoridad de certificación. |
Con el siguiente comando comprobaremos que el QA4 está funcionando.
root@qvdnode:~# qa4 admin get
Nos deberá devolver los 2 administradores del sistema: admin y superadmin.
5.4. WAT
root@qvdnode:~# yum install QVD-WAT
Visite https://localhost:443
Credenciales:
-
username: superadmin@*
-
password: superadmin
6. Configuración básica e indispensable
6.1. Configuración de red
6.1.1. Establecer dnsmasq para ser controlado por QVD
-
Verificar el estado del servicio:
root@qvdnode:~# systemctl is-enabled dnsmasq
-
En caso de que este activo, es necesario deshabilitarlo:
root@qvdnode:~# systemctl stop dnsmasq root@qvdnode:~# systemctl disable dnsmasq
6.1.2. Configurar el reenvío IP
-
Edite el fichero /etc/sysctl.conf y añada/descomente la línea:
net.ipv4.ip_forward=1
-
Ejecute:
root@qvdnode:~# sysctl -p
6.1.3. Configurar un puente de red
-
Instalar las herramientas necesarias
root@qvdnode:~# yum install bridge-utils -y
-
Comprobar que el modulo de puente está cargado con el comando:
root@qvdnode:~# modinfo bridge
-
Si no está cargado ejecutar:
root@qvdnode:~# modprobe --first-time bridge
-
-
Para crear el fichero de configuración de la interfaz que se utilizará para QVD ejecute:
root@qvdnode:~# vi /etc/sysconfig/network-scripts/ifcfg-qvdnet0
-
Agregue las líneas siguientes:
DEVICE="qvdnet0" BOOTPROTO="static" IPADDR="10.3.15.1" NETMASK="255.255.255.0" ONBOOT="yes" TYPE="Bridge" NM_CONTROLLED="no"
-
-
Configuracion de Cortafuegos
Habilitar el NAT para la navegacion de los contenedores, para ello se requiere de 2 zonas, internal y external. La zona internal usara la red de contenedores 10.3.15.0/24 o la que haya sido elegida con interface qvdnet0 previamente creada. Y la zona external debera usar la interface eth0 (sustituir por interface de red externa), para ello hacemos lo siguiente:
root@qvdnode:~# firewall-cmd --permanent --direct --passthrough ipv4 -t nat -I POSTROUTING -o eth0 -j MASQUERADE -s 10.3.15.0/24 root@qvdnode:~# firewall-cmd --change-interface=eth0 --zone=external --permanent root@qvdnode:~# firewall-cmd --set-default-zone=external --permanent root@qvdnode:~# firewall-cmd --change-interface=qvdnet0 --zone=internal --permanent
Hacer un "port forwarding" del puerto 8443 en red external al puerto 8443 en red internal a la ip del bridge qvdnet0 10.3.15.1.
root@qvdnode:~# firewall-cmd --zone=external --add-forward-port=port=8443:proto=tcp:toport=8443:toaddr=10.3.15.1 --permanent
Abrir en la red external los puertos de conexion que utiliza QVD, 8443 para la conexion a las sesiones y 443 para conectar con WAT.
root@qvdnode:~# firewall-cmd --add-port=8443/tcp --permanent --zone=external root@qvdnode:~# firewall-cmd --add-service=https --permanent --zone=external
Recargar las reglas para aplicar los cambios realizados:
root@qvdnode:~# firewall-cmd --complete-reload
-
Reinicie el servicio de red:
root@qvdnode:~# systemctl restart network
6.1.4. Configurar QVD para su red
root@qvdnode:~# qa4 config set tenant_id=-1,key=vm.network.use_dhcp,value=0 root@qvdnode:~# qa4 config set tenant_id=-1,key=vm.network.ip.start,value=10.3.15.50 root@qvdnode:~# qa4 config set tenant_id=-1,key=vm.network.netmask,value=24 root@qvdnode:~# qa4 config set tenant_id=-1,key=vm.network.gateway,value=10.3.15.1 root@qvdnode:~# qa4 config set tenant_id=-1,key=vm.network.dns_server,value=10.3.15.254 root@qvdnode:~# qa4 config set tenant_id=-1,key=vm.network.bridge,value=qvdnet0
6.2. Configurar QVD para usar los certificados SSL
root@qvdnode:~# qa4 config ssl key=/etc/qvd/certs/key.pem, cert=/etc/qvd/certs/cert.pem root@qvdnode:~# openssl version -d
El directorio devuelto por el comando anterior devuelve por defecto:
OPENSSLDIR: "/etc/pki/tls"
Si en su caso devuelve otro directorio, utilícelo en lugar de /etc/pki/tls para los siguientes pasos. |
Los certificados de confianza se almacenan en /etc/pki/tls/certs
root@qvdnode:~# trusted_ssl_path=/etc/pki/tls/certs root@qvdnode:~# cert_path=/etc/qvd/certs/cert.pem root@qvdnode:~# cert_name=`openssl x509 -noout -hash -in $cert_path`.0 root@qvdnode:~# cp $cert_path $trusted_ssl_path/QVD-L7R-cert.pem root@qvdnode:~# ln -s $trusted_ssl_path/QVD-L7R-cert.pem $trusted_ssl_path/$cert_name
6.3. Configurar nodo HKD
-
Una vez que se ha realizado toda la configuración, añada el nodo a la solución ejecutando:
root@qvdnode:~# qa4 host new name=qvdnode,address=10.3.15.1
-
Y reinicie el servicio HKD:
root@qvdnode:~# systemctl restart qvd-hkd
¿Y ahora qué?
Si ha tenido algún problema consulte la guía de instalación completa de QVD.
Si ya ha realizado todos los pasos de esta guía con éxito, enhorabuena, ya tiene una solución QVD instalada. A continuación debería de:
-
Configurar su primer OSF
-
Instalar su primera imagen
-
Agregar su primer usuario
-
Añadir una VM para su usuario
Le recomendamos que consulte el Manual de la herramienta de administración Web (WAT) para realizar estos pasos. |
Una vez finalizado solo le quedará:
-
Conectarse y probar la solución
-
Consultar las Guías rápidas de instalación para elegir su cliente e instalarlo en su sistema.
_