Salta el contingut

Hipervisors

Rols amb accés

Només els administradors tenen accés a aquesta característica.

Tipus d'hipervisors

IsardVDI suporta diferents configuracions d'hipervisors basades en l'arquitectura de desplegament i els requisits d'enrutament del tràfic de vídeo. Comprendre aquests tipus és essencial per a la configuració adequada de la xarxa i l'optimització del rendiment.

Tipus Hipervisor

El tipus hipervisor inclou serveis integrats de proxy de vídeo que permeten connexions directes de clients a l'hipervisor per a la transmissió d'escriptori:

  • Serveis de vídeo integrats: Inclou el proxy isard-video per gestionar connexions de vídeo de clients
  • Accés directe de clients: Els clients es connecten directament a l'hipervisor per al tràfic de vídeo/pantalla
  • Auto-contingut: Solució completa d'hipervisor amb capacitats integrades de proxy de vídeo
  • Suport Letsencrypt: Pot generar els seus propis certificats SSL per a connexions de vídeo segures
  • Rendiment òptim: Elimina la sobrecàrrega del proxy de vídeo servint clients directament

Característiques de xarxa:

  • El tràfic de vídeo flueix directament dels clients a l'hipervisor
  • Redueix la latència de xarxa i la càrrega del proxy central
  • Cada hipervisor gestiona els seus propis certificats de vídeo i proxy

Tipus Hipervisor-Standalone

El tipus hipervisor-standalone opera sense serveis de vídeo integrats, confiant en un proxy de vídeo central:

  • Sense proxy de vídeo integrat: No inclou el servei isard-video
  • Enrutament de vídeo centralitzat: Tot el tràfic de vídeo es proxy a través del servei principal de vídeo d'IsardVDI
  • Desplegament simplificat: Empremta mínima d'hipervisor centrada en l'execució de VMs
  • Gestió central: Certificats de vídeo i configuració de proxy gestionats centralment
  • Arquitectura escalable: Ideal per a desplegaments grans amb molts hipervisors

Característiques de xarxa:

  • Flux de tràfic de vídeo: Client → IsardVDI Central → Hipervisor-Standalone
  • Requereix configuració VIDEO_HYPERVISOR_HOSTNAMES al servidor central IsardVDI
  • Requereix ports 5900-7899 TCP oberts a l'hipervisor-standalone per a l'accés del proxy de vídeo
  • El proxy central gestiona tota la terminació SSL i l'enrutament de vídeo
  • L'hipervisor només necessita connectivitat sortint als serveis centrals

Modes Operacionals

Independentment del tipus, els hipervisors poden operar en diferents modes funcionals:

Hipervisor pur

Quan s'edita o es crea un hipervisor, es pot verificar si només serà un hipervisor. En aquest mode, aquest servidor només serà utilitzat per IsardVDI per executar escriptoris virtuals. Aquest servidor no gestionarà operacions de disc virtual.

Operacions de disc pur

En aquest mode, el servidor només s'utilitzarà per gestionar operacions de disc d'escriptori virtual.

Hipervisor mixt + operacions de disc

Aquest mode utilitzarà el servidor tant per executar escriptoris virtuals com per executar operacions de disc virtual.

Modes de tunelització VPN

Nova característica

La configuració del mode de tunelització VPN està disponible per als hipervisors per optimitzar el rendiment de la xarxa i la compatibilitat.

IsardVDI suporta dos modes de tunelització VPN diferents per als hipervisors, permetent als administradors triar la configuració de xarxa més adequada segons els seus requisits d'infraestructura:

WireGuard + Geneve (Per defecte)

Aquest és el mode de tunelització per defecte i recomanat que proporciona:

  • Xifratge VPN complet: Tot el trànsit entre l'hipervisor i el servidor principal d'IsardVDI està xifrat utilitzant WireGuard
  • Connexions remotes segures: Ideal per a hipervisors ubicats en xarxes diferents o a través d'internet
  • Configuració automàtica del túnel Geneve: Crea xarxes superposades per al trànsit d'escriptoris virtuals
  • Alta seguretat: Millor opció quan els hipervisors estan en xarxes no confiables

Casos d'ús:

  • Hipervisors en ubicacions remotes
  • Hipervisors externs a través d'internet
  • Desplegaments multi-lloc
  • Quan es requereix màxima seguretat

Només Geneve

Aquest mode utilitza només tunelització Geneve sense xifratge WireGuard:

  • Connectivitat de xarxa directa: Assumeix que els hipervisors poden arribar directament al servidor principal
  • Menor sobrecàrrega: Redueix la sobrecàrrega de xifratge per a un millor rendiment
  • Xarxes simplificades: Més fàcil de solucionar problemes i monitoritzar
  • Desplegaments locals: Ideal per a xarxes locals de confiança

Casos d'ús:

  • Hipervisors al mateix centre de dades
  • Entorns de xarxa local de confiança
  • Requisits d'alt rendiment amb sobrecàrrega mínima
  • Xarxes on el xifratge es gestiona a nivell d'infraestructura

Configuració

El mode de tunelització VPN es pot configurar en crear o editar un hipervisor:

  1. A través de la interfície web: Seleccioneu el mode de tunelització desitjat al formulari de configuració de l'hipervisor
  2. A través de l'API: Establiu el camp vpn_tunneling_mode a "wireguard+geneve" o "geneve"

Consideracions importants:

Requisits de xarxa

Ports requerits per mode de tunelització:

Mode WireGuard + Geneve: - 4443 UDP: Túnel WireGuard des d'hipervisor a isard-vpn (configurable via WG_HYPERS_PORT) - 2022 TCP: Control SSH des d'isard-engine a hipervisor - 5900-7899 TCP: Tràfic de vídeo/pantalla a l'hipervisor - 6379 TCP: Tasques Redis des d'hipervisor a isard-storage

Mode Només Geneve: - 6081 UDP: Túnel Geneve directe des d'hipervisor a isard-vpn (port estàndard Geneve) - 2022 TCP: Control SSH des d'isard-engine a hipervisor
- 5900-7899 TCP: Tràfic de vídeo/pantalla a l'hipervisor - 6379 TCP: Tasques Redis des d'hipervisor a isard-storage

Configuració de ports

  • El port WireGuard es pot personalitzar via WG_HYPERS_PORT a isardvdi.cfg (per defecte: 4443)
  • Geneve usa el port UDP estàndard 6081 per encapsulació del túnel
  • Tots els ports han de ser accessibles entre hipervisor i servidor IsardVDI
  • La infraestructura de xarxa ha de suportar el mode de tunelització escollit

Rendiment vs Seguretat

Trieu WireGuard + Geneve per a màxima seguretat i Només Geneve per a màxim rendiment en xarxes de confiança.

Detalls tècnics

  • Tunelització Geneve: Crea xarxes superposades utilitzant encapsulació UDP (port 6081)
  • Xifratge WireGuard: Proporciona xifratge VPN d'última generació quan està habilitat (port 4443 per defecte)
  • Configuració automàtica: IsardVDI configura automàticament el mode de tunelització escollit
  • Integració OVS: Ambdós modes s'integren perfectament amb Open vSwitch per a la gestió de xarxa

Resum de Requisits de Ports

Tipus de Tràfic WireGuard+Geneve Només Geneve Direcció Obrir/Redirigir On Descripció
Túnel VPN 4443/UDP 6081/UDP Hipervisor → IsardVDI Servidor IsardVDI (entrant) Connexió de túnel primari
Control SSH 2022/TCP 2022/TCP IsardVDI → Hipervisor Hipervisor (entrant) Gestió del motor
Vídeo/Pantalla 5900-7899/TCP 5900-7899/TCP Client → Hipervisor Només Hipervisor Autònom Transmissió d'escriptori
Tasques Emmagatzematge 6379/TCP 6379/TCP Hipervisor (isard-storage) → IsardVDI Servidor IsardVDI (entrant) Operacions Redis/emmagatzematge

Configuració del Tallafocs i Redirecció de Ports

Per al mode WireGuard + Geneve:

# Al servidor IsardVDI - redirigir connexions entrants a IPs específiques de contenidors
iptables -t nat -A PREROUTING -p udp --dport 4443 -j DNAT --to-destination 172.31.255.23:4443
# O usant firewalld:
firewall-cmd --add-forward-port=port=4443:proto=udp:toaddr=172.31.255.23:toport=4443 --permanent

# A l'hipervisor - redirigir connexions SSH entrants al contenidor hipervisor
iptables -t nat -A PREROUTING -p tcp --dport 2022 -j DNAT --to-destination 172.31.255.17:22
# O usant firewalld:
firewall-cmd --add-forward-port=port=2022:proto=tcp:toaddr=172.31.255.17:toport=22 --permanent

Per al mode Només Geneve:

# Al servidor IsardVDI - redirigir connexions entrants a IPs específiques de contenidors
iptables -t nat -A PREROUTING -p udp --dport 6081 -j DNAT --to-destination 172.31.255.23:6081
iptables -t nat -A PREROUTING -p tcp --dport 6379 -j DNAT --to-destination 172.31.255.12:6379
# O usant firewalld:
firewall-cmd --add-forward-port=port=6081:proto=udp:toaddr=172.31.255.23:toport=6081 --permanent
firewall-cmd --add-forward-port=port=6379:proto=tcp:toaddr=172.31.255.12:toport=6379 --permanent

# A l'hipervisor - redirigir connexions SSH entrants al contenidor hipervisor
iptables -t nat -A PREROUTING -p tcp --dport 2022 -j DNAT --to-destination 172.31.255.17:22
# O usant firewalld:
firewall-cmd --add-forward-port=port=2022:proto=tcp:toaddr=172.31.255.17:toport=22 --permanent

Detalls de Redirecció de Ports Docker

Aquests ports s'han de redirigir a les adreces IP específiques dels contenidors Docker a la xarxa IsardVDI:

Al costat del servidor IsardVDI (xarxa per defecte: 172.31.255.0/24): - WireGuard (4443/UDP) → Redirigir a 172.31.255.23:4443 (contenidor isard-vpn) - Geneve (6081/UDP) → Redirigir a 172.31.255.23:6081 (contenidor isard-vpn)
- Redis (6379/TCP) → Redirigir a 172.31.255.12:6379 (contenidor isard-redis si l'hipervisor té isard-storage també)

Al costat de l'hipervisor (xarxa per defecte: 172.31.255.0/24): - SSH (2022/TCP) → Redirigir a 172.31.255.17:22 (contenidor isard-hypervisor)

Ports addicionals per hipervisor-standalone (accés vídeo/pantalla):

# A l'hipervisor-standalone - redirigir ports de vídeo/pantalla per accés directe del client
iptables -t nat -A PREROUTING -p tcp --dport 5900:7899 -j DNAT --to-destination 172.31.255.17:5900-7899
# O usant firewalld (exemple per ports específics):
firewall-cmd --add-forward-port=port=5900:proto=tcp:toaddr=172.31.255.17:toport=5900 --permanent
# ... repetir per al rang 5900-7899 segons sigui necessari

Notes: - Aquestes IPs es poden configurar via la variable d'entorn DOCKER_NET (per defecte: 172.31.255) - Els hipervisors només necessiten connexions sortints permeses per a l'establiment del túnel - Useu docker network inspect isard-network per verificar les IPs actuals dels contenidors - L'encaminador/tallafocs ha de redirigir ports externs a aquestes IPs internes de contenidors

Configuració del Proxy de Vídeo per hipervisor-standalone

Quan s'usa el tipus hipervisor-standalone, heu de configurar els ajustos del proxy de vídeo:

A isardvdi.cfg al servidor IsardVDI:

# Permetre que els hosts hipervisor-standalone siguin proxied per al tràfic de vídeo
# Nota: si l'IsardVDI principal és un tipus all-in-one amb un hipervisor,
#       també heu d'afegir a la llista el nom isard-hypervisor mateix.
VIDEO_HYPERVISOR_HOSTNAMES=hipervisor1.exemple.com,hipervisor2.exemple.com
VIDEO_HYPERVISOR_PORTS=5900-7899

Consideracions de seguretat: - Només afegiu noms d'host d'hipervisors de confiança a VIDEO_HYPERVISOR_HOSTNAMES - Aquest ajust controla quins hipervisors acceptarà connexions el proxy de vídeo d'IsardVDI - Llista separada per comes de noms d'host tal com es veuen des del servidor IsardVDI

Hipervisors externs

El mètode recomanat per configurar un nou hipervisor és fer servir la imatge docker isard-generic-hiper, ja que mostrarà tots els serveis necessaris a qualsevol host de Linux amb docker. Es requereixen tres passos:

  1. S'instal·la l'hipervisor KVM (es recomana docker)
  2. S'afegeixen claus ssh per al nou hipervisor KVM
  3. Es crea un nou hipervisor a la interfície d'usuari web d'IsardVDI.

Instal·lar hipervisor KVM

Instal·lació de Docker (recomanat)

La configuració ràpida i senzilla d'un hipervisor extern es pot fer utilitzant el fitxer de composició generat ./build.sh hipervisor hipervisor.yml. Al Linux net on s'ha instal·lat el servidor que serà l'hipervisor KVM, s'inicia el contenidor:

./build.sh hipervisor
docker-compose -f hipervisor.yml up -d

S'ha de configurar el fitxer isardvdi.cfg abans de crear el fitxer hipervisor.yml.

Principalment, s'hi pot configurar el domini de vídeo letsencrypt (si no, utilitzarà un certificat autogenerat). Això hauria de mostrar un hipervisor Isard complet al vostre servidor.

Si no s'estableix una configuració de letsencrypt al fitxer isardvdi.cfg, cal configurar els mateixos certificats de visors a tots els hipervisors. En aquest cas, cal copiar els fitxers de certificat /opt/isard/certs/viewers/* del host web a la mateixa carpeta als seus hipervisors remots (eliminant els que ja hi són) i es torna a obrir la finestra acoblable de l'hipervisor.

S'executa aquesta ordre per restablir les claus ssh i la contrasenya:

docker exec -e PASSWORD=<YOUR_ROOT_PASSWORD> isard-hipervisor bash -c '/reset-hiper.sh'

Després d'això, es pot continuar afegint claus ssh per a aquest hipervisor al seu contenidor IsardVDI isard-engine i es crea un nou hipervisor a la interfície d'usuari:

docker exec -e HipeRVISOR=<IP|DNS> -e PASSWORD=<YOUR_ROOT_PASSWD> -e PORT=2022 isard-engine bash -c '/add-hipervisor.sh'; history -d $((HISTCMD-1))

Manual d'instal·lació

Si es vol utilitzar un altre host com a hipervisor KVM, s'ha d'assegurar que es tingui:

  • libvirtd:
    • servei funcionant: systemctl status libvirtd. Consulteu amb la vostra distribució com instal·lar un hipervisor KVM complet:

    • https://wiki.debian.org/KVM#Installation

    • https://help.ubuntu.com/community/KVM/Installation
    • https://wiki.centos.org/HowTos/KVM
    • https://wiki.alpinelinux.org/wiki/KVM

    • certificats habilitats: els certificats reals a la ruta IsardVDI /opt/isard/certs/default/ s'han de copiar a la nova ruta del servidor KVM /etc/pki/libvirt-spice. També cal afegir algunes línies a libvirtd.conf i qemu.conf per fer ús dels certificats:

    • bash echo "listen_tls = 0" >> /etc/libvirt/libvirtd.conf; echo 'listen_tcp = 1' >> /etc/libvirt/libvirtd.conf; echo 'spice_listen = "0.0.0.0"' >> /etc/libvirt/qemu.conf echo 'spice_tls = 1' >> /etc/libvirt/qemu.conf

    • servidor websocket: per permetre la connexió als espectadors a través dels navegadors, també cal configurar un servidor websocket. S'hauria de mirar el start_proxy.py inclòs als acobladors/hipervisors.

  • Servei sshd en execució i accessible per a l'usuari: "systemctl status sshd"

  • curl: S'utilitzarà per obtenir actualitzacions.
  • qemu-kvm: S'ha de crear un enllaç al qemu-system-x86_64 com aquest ln -s /usr/bin/qemu-system-x86_64 /usr/bin/qemu-kvm

Afegeix claus ssh per al nou hipervisor

Prèviament cal afegir claus ssh per accedir a aquest hipervisor. Per fer això, es proporciona un script dins del contenidor isard-app:

docker exec -e HipeRVISOR=<IP|DNS> -e PASSWORD=<YOUR_ROOT_PASSWD> isard-engine bash -c '/add-hipervisor.sh'

Nota: Hi ha paràmetres opcionals que es poden configurar:

  • PORT: Default is 22
  • USER: Default is root

Després de fer això, cal anar al menú d'hipervisors i afegir un nou hipervisor amb la mateixa IP/DNS. Engine intentarà connectar-se quan s'habiliti aquest hipervisor.

Exemple:

S'ha de tenir en compte que s'ha afegit ; history -d $((HISTCMD-1)) a l'ordre per evitar que la contrasenya es mantingui al nostre historial.

root@server:~/isard# docker exec -e HipeRVISOR=192.168.0.114 -e PASSWORD=supersecret isard_isard-app_1 bash -c '/add-hipervisor.sh'; history -d $((HISTCMD-1))
fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/community/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
(1/1) Installing sshpass (1.06-r0)
Executing busybox-1.28.4-r2.trigger
OK: 235 MiB in 127 packages
Trying to ssh into 192.168.0.114...
# 192.168.0.114:22 SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.1
# 192.168.0.114:22 SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.1
# 192.168.0.114:22 SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.1
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
expr: warning: '^ERROR: ': using '^' as the first character
of a basic regular expression is not portable; it is ignored

/usr/bin/ssh-copy-id: WARNING: All keys were skipped because they already exist on the remote system.
  (if you think this is a mistake, you may want to use -f option)

Hipervisor ssh access granted.
Access to 192.168.0.114 granted and found libvirtd service running.
Now you can create this hipervisor in IsardVDI web interface.

Si falla, es desactiva l'hipervisor, s'editen els paràmetres i s'habilita novament. L'engine d'IsardVDI tornarà a verificar la connexió. Es pot veure el missatge d'error en els detalls de l'hipervisor (es prem la icona "+" per veure'n els detalls).

Si l'engine no intenta tornar a connectar-se després d'habilitar el nou hipervisor, cal reiniciar el contenidor de "isard-app":

docker restart isard_isard-app_1

NOTA: Probablement es voldrà eliminar l'hipervisor isard predeterminat després de crear un nou hipervisor extern. Per això, es deshabilita "isard-hipervisor" i s'elimina des dels detalls de l'hipervisor. Després es pot fer l'acció Forçar eliminació i es torna a reiniciar el contenidor de l'aplicació isard.

Afegir hipervisor a la interfície d'usuari web

Es pot afegir un hipervisor extern a la interfície d'usuari web com a usuari administrador. Per fer-ho cal anar al panell d'administració i a l'apartat de "Hipervisors", es prem el botó "Add new"

I apareixerà una finestra de diàleg on es poden emplenar els camps. Es pot configurar qualsevol cosa al camp ID per identificar aquest hipervisor, però cal anar amb compte amb altres camps de configuració, ja que han de coincidir amb l'hipervisor remot:

El nom de host ha de ser la IP/DNS accessible des d'aquesta instal·lació d'IsardVDI. Podria ser una xarxa interna entre tots dos hosts. L'usuari serà root i el port ssh 2022 ja que es deixa el port ssh predeterminat 22 per a l'accés ssh al host.

Es recomana activar les opcions de "disk operations" i "hipervisor" i configurar el host web per a aquest servidor IP/DNS d'instal·lació web i el servidor intermediari de vídeo per a l'IP/DNS accessible externament per a l'hipervisor (accés als seus visors a través dels ports 80 i 443).

S'estableix el nom del host de l'hipervisor del proxy de vídeo a isard-hipervisor, ja que és el nom del contenidor per als valors predeterminats de l'hipervisor.

VLANS en hipervisor

Per connectar una interfície troncal amb definicions de vlan dins de l'hipervisor, cal configurar (i descomentar) les variables al fitxer isardvdi.cfg:

NOTA IMPORTANT: Recordar refer un build del docker-compose emetent l'ordre ./build.sh novament.

  • HipeRVISOR_HOST_TRUNK_INTERFACE: Aquest és el nom de la interfície troncal de la xarxa del host com es veu al host. Per exemple: eth1

Si no es configura HipeRVISOR_STATIC_VLANS, l'hipervisor detectarà automàticament les vlans durant 260 segons cada cop que s'inici el contenidor isard-hipervisor. Per tant, és millor definir les VLANs estàtiques que se sàpiguen que estan al tronc.

  • HipeRVISOR_STATIC_VLANS: S'ha d'establir una llista de números de vlan separats per comes. Configurar això evitarà la detecció automàtica de VLAN durant 260 segons.

Això afegirà a la base de dades les VLANs trobades com a 'vXXX', on XXX és el número de VLAN trobat. Perquè això funcioni, cal verificar que es pugui accedir a STATS_RETHINKDB_HOST al port 28015 des de l'hipervisor.

Es comprova que el que conté l'isard-db tingui el nom de host correcte. Això només és necessari si l'hipervisor es té en una altra màquina:

  • STATS_RETHINKDB_HOST: S'ha d'establir al host isard-db correcte si es té l'hipervisor en una altra màquina. No cal si es té un IsardVDI 'tot en un'.

NOTA: La interfície del host ha d'estar en mode promissor: ip link set dev ethX promic on. Si s'inicia el contenidor isard-hipervisor, cal aturar-lo i tornar-lo a iniciar.

Conceptes d'infraestructura

Quan s'afegeix un hipervisor extern, cal tenir en compte (i configurar segons calgui) el següent:

  • Ruta dels discos: Per defecte emmagatzemarà els discs a /opt/isard. No cal crear aquesta carpeta, però es recomana muntar l'emmagatzematge d'E/S ràpid (com el disc nvme) en aquesta ruta.

  • Rendiment de la xarxa: Si s'utilitzarà un NAS cal tenir en compte que cal utilitzar una xarxa ràpida. Velocitat de xarxa recomanada superior a 10 Gbps.

Rendiment dels discos

Com que s'utilitzen diferents rutes per a bases, plantilles i discs de grups, es podria millorar el rendiment muntant diferents discs nvme d'emmagatzematge a cada ruta:

  • /opt/isard/bases: Allí residiran les imatges base que es creïn. En general, aquestes imatges de disc s'utilitzaran com a base per a moltes plantilles i discs dusuari (grups), de manera que l'emmagatzematge ha de proporcionar un accés de lectura el més ràpid possible.

  • /opt/isard/templates: les plantilles també s'utilitzaran com a discs principals per a diversos discs d'usuari (grups). Així que millor utilitzar un disc d'accés de lectura ràpida.

  • /opt/isard/groups: els escriptoris en execució residiran aquí. Per tant, aquí es faran moltes E/S simultànies, per la qual cosa l'emmagatzematge ha de proporcionar la major quantitat d'IOPS possible. Els discos NVME (o fins i tot les incursions NVME) brindaran el millor rendiment.

Rendiment de la xarxa

La xarxa d'emmagatzematge entre els hipervisors i els servidors d'emmagatzematge NAS ha de ser com a mínim 10 Gbps. Tots els hipervisors s'han de muntar l'emmagatzematge a la ruta /isard i aquest muntatge ha de ser el mateix per a tots els hipervisors.

Com es pot triar en crear un hipervisor que sigui un hipervisor pur, operacions de disc pur o un mixt, es pot afegir servidors d'emmagatzematge NAS com a operacions de disc pur. Això portarà una manipulació més ràpida dels discos, ja que IsardVDI utilitzarà l'emmagatzematge directe i les ordres a NAS.

A IsardVDI es té una infraestructura amb sis hipervisors i dos NAS pacemaker agrupats de fabricació pròpia que comparteixen emmagatzematge amb NFSv4 i el rendiment és molt bo.

Documents tècnics d'alta disponibilitat/alt rendiment

S'intenta mantenir tot el coneixement i l'experiència d'IsardVDI en clústers d'alt rendiment i disponibilitat utilitzant pacemaker, drbd, caixets de disc, migracions en viu, etc. a l'apartat de Project Deploy del manual.

En aquest apartat del manual hi ha vídeos sobre la migració de emmagatzematge i escriptori virtual en viu que es van fer a la infraestructura d'IsardVDI: migrar l'escriptori virtual d'un hipervisor a un altre mentre alhora es migra l'emmagatzematge d'un emmagatzematge NAS a un altre sense que l'usuari de l'escriptori virtual sàpiga el que havia passat.

Flux d'Auto-registre d'Hipervisors i Configuració VPN

Entenent el Procés

Aquesta secció explica com els hipervisors es registren automàticament amb el sistema IsardVDI i estableixen connectivitat de xarxa segura.

Quan un contenidor hipervisor s'inicia amb la configuració adequada, es produeix el següent procés automatitzat d'auto-registre:

1. Auto-registre de l'Hipervisor

graph TD
    A[Hipervisor s'inicia amb entorn cfg] --> B[Hipervisor contacta API IsardVDI]
    B --> C[API registra/actualitza hipervisor a base de dades]
    C --> D[Esdeveniment activa actualització configuració isard-vpn]
    D --> E[Hipervisor sol·licita configuració final de l'API]
    E --> F[Hipervisor configura VPN segons mode de tunelització]
    F --> G[Hipervisor realitza auto-verificacions]
    G --> H[Hipervisor s'auto-habilita a la base de dades]
    H --> I[isard-engine es connecta via SSH per verificació]
    I --> J[Motor estableix estat final de l'hipervisor]

Procés pas a pas:

  1. Registre API: L'hipervisor contacta l'API IsardVDI amb les seves variables d'entorn de configuració
  2. Actualització Base de Dades: L'API crea o actualitza l'entrada de l'hipervisor a la base de dades IsardVDI amb paràmetres de configuració
  3. Activació Esdeveniment VPN: El canvi a la base de dades activa un esdeveniment a isard-vpn per actualitzar la configuració de xarxa de l'hipervisor
  4. Recuperació Configuració: L'hipervisor sol·licita la seva configuració final de l'API (claus WireGuard, configuració de xarxa, etc.)

2. Establiment del Túnel VPN

El procés de configuració VPN difereix segons el mode de tunelització configurat:

Mode WireGuard + Geneve

# 1. isard-vpn genera la configuració WireGuard
# 2. L'hipervisor rep la configuració peer WireGuard via API
# 3. Túnel WireGuard establert (4443/UDP per defecte)
# 4. Xarxa overlay Geneve creada sobre el túnel WireGuard
# 5. Ponts OVS configurats per a xarxes de màquines virtuals

Flux de configuració:

  • El contenidor isard-vpn genera claus WireGuard úniques per a l'hipervisor
  • L'hipervisor rep la configuració via crides API d'IsardVDI
  • Es crea i configura la interfície WireGuard (wg-hypers)
  • Els túnels Geneve s'estableixen sobre la connexió WireGuard xifrada
  • Es creen ports Open vSwitch i es configuren regles de flux

Mode Només Geneve

# 1. L'hipervisor resol el hostname/IP del servidor IsardVDI
# 2. Túnel Geneve directe establert (6081/UDP)
# 3. Ponts i ports OVS configurats
# 4. Connexió Redis establerta per operacions d'emmagatzematge (6379/TCP)

Flux de configuració:

  • L'hipervisor es connecta directament a la IP del contenidor isard-vpn (172.31.255.23:6081)
  • Es crea la interfície de túnel Geneve sense capa de xifratge
  • Es configuren ports OVS i regles de flux per xarxes directes
  • Les operacions d'emmagatzematge es connecten directament a isard-redis (172.31.255.12:6379)

3. Configuració d'Interfícies de Xarxa

Configuració de Pont OVS:

# Creació automàtica de pont
ovs-vsctl add-br br-int
ovs-vsctl add-port br-int geneve0 -- set interface geneve0 type=geneve options:remote_ip=<IsardVDI_IP>

# Regles de flux per tràfic de VMs
ovs-vsctl set-controller br-int tcp:127.0.0.1:6633

Components clau de xarxa:

  • br-int: Pont d'integració principal per connectivitat de VMs
  • geneve0: Interfície de túnel per xarxes overlay
  • Regles de flux: Configurades automàticament segons requisits d'escriptori virtual
  • Suport VLAN: Detecció i configuració automàtica de VLAN si les interfícies trunk estan configurades

4. Configuració de Certificats i Seguretat

Gestió automàtica de certificats:

  • Certificats de visor descarregats del servidor IsardVDI
  • Certificats TLS per comunicació segura d'hipervisor
  • Processos de validació i renovació de certificats

5. Inicialització de Serveis

Serveis de contenidor iniciats:

  • isard-hypervisor: Servei principal de gestió d'hipervisor
  • isard-storage: Operacions d'emmagatzematge (si està habilitat per hipervisors mixtos/emmagatzematge)
  • Serveis de proxy de vídeo (per desplegaments hypervisor-standalone)

6. Monitorització de Salut i Manteniment

Processos continus:

  • Comprovacions regulars de salut via SSH des d'isard-engine
  • Renovació i actualitzacions de certificats
  • Monitorització de túnel VPN i reconnexió automàtica
  • Actualitzacions de regles de flux OVS segons el cicle de vida d'escriptori virtual

Resolució de Problemes Comuns

Errors de connexió: - Verificar l'autenticació de clau SSH entre isard-engine i hipervisor - Comprovar que les regles de tallafocs permeten ports necessaris (2022/TCP, 4443/UDP o 6081/UDP) - Assegurar resolució DNS adequada entre hipervisor i servidor IsardVDI

Problemes de túnel VPN: - Comprovar logs del contenidor isard-vpn per errors WireGuard/Geneve - Verificar que les regles de reenviament IP del contenidor estan configurades correctament - Confirmar que l'entorn DOCKER_NET coincideix amb les IPs reals del contenidor

Problemes de configuració OVS: - Comprovar errors de creació de ports duplicats als logs de l'hipervisor - Verificar assignació adequada d'ofport d'interfície - Assegurar que no hi ha configuracions de xarxa conflictives

Monitoritzar el Procés de Configuració

Comandes útils per monitoritzar:

# Comprovar estat de connexió d'hipervisor
docker logs isard-engine | grep <hypervisor_hostname>

# Monitoritzar establiment de túnel VPN
docker logs isard-vpn | grep -E "(peer|tunnel|geneve)"

# Verificar configuració OVS
docker exec isard-hypervisor ovs-vsctl show

# Comprovar connexions WireGuard actives (si s'usa mode WireGuard)
docker exec isard-vpn wg show