VDI, Es el acrónimo de infraestructura de escritorios virtuales que viene del inglés infrastructure virtual desktops.Los escritorios virtuales Es una tecnología que lleva ya mucho tiempo en el mercado, no es nueva, y yo he tenido la suerte de poder tener exposición a un entorno de VDI de gran escala, en una de las empresas que trabajé, donde se hacía despliegues de escritorios a miles de personas en toda Europa
¿Qué es vdi? es la capacidad que tienen las empresas de poder dotar a sus usuarios de escritorios en cualquier dispositivo en cualquier parte del mundo. Esta estrategia de servir escritorios virtuales, tiene muchas ventajas y el acho de banda que se necesita no es alto. VDI reduce considerablemente el coste de hardware a nivel de empresa, así como el coste de soporte. Una vez se monta la infraestructura de VDI, solo nos tenemos que preocupar de mantener 1, 2, 3 o las imágenes de Windows o Linux que fueran necesarias para poder servir a nuestros usuarios, frente a dar soporte a cientos o miles de dispositivos con hardware y configuraciones diferentes.
¿Qué vamos a necesitar?
La configuración necesaria para tener nuestra infraestructura levantada es bastante sencilla basta con tener lo sigueinte.
- Al menos un usuario que pertenezca a un grupo y sobre ese grupo, le daremos los permisos a las máquinas que queremos que accedan todos los miembros de este grupo que hemos creado. Lo siguiente es otogar e rol de PVEVMUser, el cual tiene los permisos que necesitamos para este proyecto. (VM.PowerMgmt, VM.Console, VM.Audit)
- Debemos adaptar el hardware virtual de nuestras máquinas en Proxmox, en las que tendremos que cambiar el driver de la tarjeta gráfica a SPICE si es Linux el sistema operativo, o si es Windows elegiremos entre SPICE 1, 2, 3 o cuatro monitores. Es importante que las máquinas Windows tengáis los drivers de SPICE instalados. Los podéis encontrar en el siguiente link (https://www.spice-space.org/). Otra de las cosas que tenemos que hacer es añadir tantos dispositivos USB con el Driver de SPICE, como necesitemos mapear desde nuestra máquina que utilizamos para conectarnos a la máquina VDI.
- Tener clonado el repositorio de Josh, desde la máquina que queremos utilizar para conectarnos a nuestros escritores virtuales, Y seguir los pasos que nos indica que son unos 3 o 4 comandos.
¡Al lío!
Lo primero es preparar Proxmox creando usuarios, grupos, otorgando roles y dando permisos. Nos vos a nivel de DATACENTER/PERMISOS/GRUPOS.
Creamos el grupo, llamadle como queráis.
Ahora creamos el usuario. Nos vos a nivel de DATACENTER/PERMISOS/USERS
IMPORTANTE: En la parte de REALM seleccionar Proxmox VE authentication server.
Ahora modificamos el hardware de las máquinas virtuales para usar el driver de SPICE.
En el driver de audio selecciona de la lista el que os venga mejor, por lo general el prmero tiene más compatibilidad para todos los sistemas.
Para máquinas Windows especificar en el driver de la gráfica si queres SPICE con uno o múltiples monitores.
Ahora nos vamos a nuestra Raspberry PI y clonamos el repo y seguimos los pasos que nos da el autor (Josh)
apt install python3-pip python3-tk virt-viewer git
git clone https://github.com/joshpatten/PVE-VDIClient.git
cd ./PVE-VDIClient/
sudo chmod +x requirements.sh
sudo ./requirements.sh
sudo cp vdiclient.py /usr/local/bin
sudo chmod +x /usr/local/bin/vdiclient.py
cp vdiclient.ini.example vdiclient.ini
###### Edita el archivo con tus datos del host tal y como muestro en el vídeo del canal de Youtube (lo tienes más abajo)
sudo vim vdiclient.ini
sudo mkdir -p /etc/vdiclient
sudo cp vdiclient.ini /etc/vdiclient
Y ahora la última parte de configurar nuestro entorno de escritorio para que no se vea nada más que el login a VDI.
cd /etc/xdg/lxsession/LXDE-pi
sudo mv autostart autostart.back
sudo touch autostart
mkdir -p ~/.config/lxsession/LXDE-pi
cd ~/.config/lxsession/LXDE-pi
mv autostart autostart.back
###### En los siguientes comando sustituye mi nombre por el de tu usuario
echo "@/usr/bin/bash /home/carlos/thinclient" > autostart
sudo vim /home/carlos/thinclient
- Ponemos dentro:
cd ~/PVE-VDIClient
while true
do
/bin/python3 /home/carlos/PVE-VDIClient/vdiclient.py
done
sudo chmod +x /home/carlos/thinclient
Ahora ponemos autologin en el escritorio para el usuario carlos/PVE-VDIClient/vdiclient
sudo raspi-config