1. 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 puede ser distinta. |
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. |
Para fines prácticos, el nombre del host (hostname) estará identificado con el nombre de qvdhost, en su caso deberá reemplazarlo por el nombre correspondiente a su servidor. |
2. Requisitos
2.1. Sistema operativo
-
Para descargar Ubuntu 22.04 puedes ir directamente al sitio web ubuntu.com a su sección de descargas o directamente desde la instalación manual del servidor.
2.2. Hardware
-
2 núcleos de CPU
-
4 GB de RAM
-
Disco duro de al menos 32GB
2.3. Base de datos
-
PostgreSQL 14 o superior
2.4. HKD
-
Arquitectura x86_64.
3. Pre-instalación
wget -qO - https://www.theqvd.com/packages/key/public.key | sudo apt-key add - echo "deb http://theqvd.com/packages/ubuntu-jammy QVD-4.2.0 main" > /etc/apt/sources.list.d/qvd.list apt-get update
Instale firewall
apt-get install -y firewalld
Abra los puertos que serán necesarios para realizar la configuración:
firewall-cmd --zone=public --add-service=ssh --permanent firewall-cmd --zone=public --add-service=https --permanent firewall-cmd --permanent --direct --passthrough ipv4 -t nat -I POSTROUTING -o $INTERFAZ_DE_RED -j MASQUERADE -s 10.3.15.0/24 firewall-cmd --add-forward-port=port=8443:proto=tcp:toport=8443:toaddr=10.3.15.1 --permanent firewall-cmd --reload
Asegúrese de reemplazar $INTERFAZ_DE_RED por la el nombre de la interfaz de red de su servidor |
4. Instalación y configuración de la base de datos
apt-get install -y postgresql systemctl start postgresql
4.1. Crear una cuenta de usuario
Acceder como usuario postgres:
su - postgres
Una vez logeado crear usuario y asignar password:
createuser -SDRP qvd
Serán solicitado ingresar password y confirmar: |
Enter password for new role: passw0rd Enter it again: passw0rd
4.2. Crear la base de datos QVD
La base de datos es creada con el usuario postgres, posteriormente se tienen que cerrar la sesión del mismo |
createdb -O qvd qvddb exit
4.3. Cambiar la configuración de PostgreSQL
Edite el archivo /etc/postgresql/14/main/pg_hba.conf
Busque la sección que contenga:
# TYPE DATABASE USER ADDRESS METHOD
y agregue después de dicha línea lo siguiente:
host qvddb qvd 127.0.0.0/24 md5
Asegúrese de reemplazar la red predeterminada 127.0.0.0/24 con el segmento de red correspondiente. |
Edite el archivo /etc/postgresql/14/main/postgresql.conf y establezca los siguientes parámetros:
listen_addresses = '*' default_transaction_isolation = 'serializable'
Reinicie PostgreSQL.
systemctl restart postgresql
5. Instalación del HKD
apt-get install -y perl-qvd-hkd
5.1. Configuración básica
Copie el archivo de configuración ejemplo al directorio /etc/qvd/, guárdelo como node.conf y modifique los permisos del mismo:
cp -v /usr/lib/qvd/config/sample-node.conf /etc/qvd/node.conf chown root:root /etc/qvd/node.conf chmod 0640 /etc/qvd/node.conf
Edite el archivo /etc/qvd/node.conf y modifique/incluya las siguientes entradas:
nodename=$NOMBRE_DEL_NODO database.host=localhost database.name=qvddb database.user=qvd database.password=passw0rd
Cambie la variable $NOMBRE_DEL_NODO por el nombre del servidor |
5.2. Población de las tablas de QVD
/usr/lib/qvd/bin/qvd-deploy-db.pl
6. Instalación de las herramientas de administración
6.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
apt-get install -y openssl mkdir /etc/qvd/certs cd /etc/qvd/certs
Dentro del directorio /etc/qvd/certs genere una clave privada.
openssl genrsa 2048 > key.pem
Genere un certificado autofirmado.
openssl req -new -x509 -nodes -sha256 -days 3650 -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 $NOMBRE_DEL_NODO ($HOSTNAME) que ejecutará su nodo QVD como se muestra abajo |
Common Name (e.g. server FQDN or YOUR name) []: $NOMBRE_DEL_NODO
6.2. API
apt-get install -y perl-qvd-api
Cree el fichero /etc/qvd/api.conf con el siguiente contenido:
database.host=localhost 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 habilitar la API.
systemctl enable --now qvd-api systemctl start qvd-api
Haciendo una llamada al endpoint info desde el navegador o con el siguiente comando comprobaremos que la API está funcionando.
curl -k https://localhost:443/api/info
Nos deberá devolver un JSON con datos del sistema.
6.3. CLI
apt-get install -y 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
Asegurese de mantener los espacios entre la variable, el signo = y el valor, además de asegurarse de que no existan espacios en blanco al final de las líneas |
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.
qa4 admin get
Nos deberá devolver los 2 administradores del sistema: admin y superadmin.
.----+------------+----------+-------. | id | name | language | block | +----+------------+----------+-------+ | 1 | superadmin | auto | 10 | | 2 | admin | auto | 10 | '----+------------+----------+-------' Total: 2
6.4. WAT
apt-get install -y qvd-wat
Visite https://localhost:443
Credenciales:
-
username: superadmin@*
-
password: superadmin
Obtenga la version de lxc
lxc-start --version
Una vez que se ha accedido a QVD WAT, En la Sección Inicio\Gestion de QVD\Configuración del WAT buscar los siguientes parámetros, modificar y salvar los valores:
-
vm.network.use_dhcp = 0
-
command.version.lxc = 5.0
El valor obtenido de lxc-start --version es el que reemplazará el valor de command.version.lxc |
7. Configuración básica e indispensable
7.1. Configuración de red
7.1.1. Establecer dnsmasq para ser controlado por QVD
Verificar si dnsmasq esta instalado:
dpkg -s dnsmasq
Si no está instalado, ejecutar:
apt-get install -y dnsmasq [ `systemctl is-enabled dnsmasq.service` == "enabled" ] && systemctl disable dnsmasq.service || echo "success disabled"
7.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:
sysctl -p
7.1.3. Configurar un puente de red
Edite el archivo /etc/netplan/00-installer-config.yaml y agregue las líneas siguientes:
bridges: qvdnet0: addresses: [10.3.15.1/24] mtu: 1500 parameters: stp: true forward-delay: 4 dhcp4: no dhcp6: no
el archivo debe quedar similar a lo siguiente:
network: ethernets: $INTERFAZ_DE_RED: dhcp4:true version: 2 bridges: qvdnet0: addresses: [10.3.15.1/24] mtu: 1500 parameters: stp: true forward-delay: 4 dhcp4: no dhcp6: no
$INTERFAZ_DE_RED debe coincidir con el nombre de la interfaz de red |
En caso de que el archivo ya exista la sección bridges: debe quedar alineada con la sección ethernets: |
El rango 10.3.15.0/24 debe ser único dentro de su infraestructura. |
Genere y aplique los cambios
netplan generate netplan apply
7.1.4. Configurar QVD para su red
qa4 config set tenant_id=-1,key=vm.network.ip.start,value=10.3.15.50 qa4 config set tenant_id=-1,key=vm.network.netmask,value=24 qa4 config set tenant_id=-1,key=vm.network.gateway,value=10.3.15.1 qa4 config set tenant_id=-1,key=vm.network.dns_server,value=10.3.15.254 qa4 config set tenant_id=-1,key=vm.network.bridge,value=qvdnet0
7.2. Configurar QVD para usar los certificados SSL
qa4 config ssl key=/etc/qvd/certs/key.pem, cert=/etc/qvd/certs/cert.pem openssl version -d
El directorio devuelto por el comando anterior devuelve por defecto:
OPENSSLDIR: "/usr/lib/ssl"
Si en su caso devuelve otro directorio, utilícelo en lugar de /usr/lib/ssl para los siguientes pasos. |
Los certificados de confianza se almacenan en /usr/lib/ssl/certs
trusted_ssl_path=/usr/lib/ssl/certs cert_path=/etc/qvd/certs/cert.pem cert_name=`openssl x509 -noout -hash -in $cert_path`.0 cp $cert_path $trusted_ssl_path/QVD-L7R-cert.pem ln -s $trusted_ssl_path/QVD-L7R-cert.pem $trusted_ssl_path/$cert_name
7.3. Configurar nodo HKD
Añada el nodo a la solución ejecutando:
qa4 host new name=$(echo $HOSTNAME),address=10.3.15.1
Edite el archivo /etc/default/grub y añada/modifique la siguiente línea:
GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1 systemd.unified_cgroup_hierarchy=false"
Ejecute:
/usr/sbin/update-grub2
Habilite el servicio HKD:
systemctl enable --now qvd-hkd
Y reinicie el servidor
shutdown -r now
8. ¿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 siga con la Guía del WAT para realizar estos pasos.
Una vez finalizado solo le quedará:
-
Conectarse y probar la solución
Consulte la Guía rápida para instalar el cliente QVD en su sistema.
Si tiene alguna pregunta o necesita soporte adicional, visite nuestro sitio web en http://theqvd.com/ o póngase en contacto con nosotros en info@theqvd.com.