Catégorie : Horizon Page 1 of 8

Tips installation Windows 11

Le choix de la langue de Windows 11 peut influer sur les raccourcis et bloatwares préinstallés.
Pour une obtenir la version la plus propre possible, il faut installer Windows avec la langue Anglais International.
Il est possible d’ajouter ultérieurement un autre language pack.

Exemple avec Windows 11 23H1 version “Français” :


Version “Anglais international” :

Màj : Horizon 2312

Principales nouveautés :

Horizon 2312

  • Fin du support de vSphere 6.5 et 6.7 et Windows Server 2012 R2
  • Nouvelle variante de personnalisation des invités à l’aide de Sysprep
  • suspension de l’alimentation des VMs pour les pools Instant-Clone Nvidia vGPU
  • Mise à niveau automatique de l’agent
  • Gestion des certificats au niveau du cluster
  • Optimisation média pour Microsoft Teams
  • Fin du support de EncoderSwitch dans Blast
  • Build to Lossless pour VMware Blast
  • Outil de configuration facile pour Linux

App Volumes 2312

  • Nouveau rôle Admin : Application Owner

Unified Access Gateway 2312

  • Paramètre communityName pour la configuration SNMPv1+SNMPv2
  • Les métadonnées des informations du fournisseur d’identité peuvent désormais être modifiées et supprimées dans l’interface utilisateur d’admin

Dynamic Environment Manager 2312

  • Prise en charge de la réinitialisation de plusieurs archives de profils à la fois à partir de l’outil Self-Support DEM

Comptes et groupes Horizon

Synthèse des différents comptes et groupes à créer.

UsageDétails
Utilisateur vCenterCompte de service créé sur Active Directory ou vsphere.local.
Il est positionné sur la Console Horizon.
Il permet la communication entre le serveur de Connexion et le vCenter.
Il nécessite les droits suivants : voir ici
Instant-CloneCompte de service créé sur Active Directory.
Il est positionné sur la Console Horizon.
Il permet la création des comptes d’ordinateurs dans l’AD.
Sur une OU, il nécessite les droits AD suivants : voir ici
App Volumes AdminGroupe créé sur Active Directory.
Il est positionné sur App Volumes Manager.
Il permet aux administrateurs de se connecter sur AVM.
App Volumes “Horizon”Groupe créé sur Active Directory.
Il est positionné sur App Volumes Manager.
Il permet d’ajouter le compte “App Volumes Horizon”.
App Volumes “Horizon”Compte de service créé sur Active Directory.
Il est positionné sur la Console Horizon.
Il fait parti du groupe App Volumes “Horizon”.
Il permet d’ajouter les AVM dans la Console Horizon.
Il nécessite le rôle AV suivant : Administrator
Administrateurs HorizonGroupe créé sur Active Directory.
Il est positionné sur la Console Horizon.
Il permet aux Admins VDI de se connecter à la Console Horizon.
Horizon Cloud Next-GenUtilisateur créé sur vmware.com.
Il est positionné sur la passerelle Edge Gateway.
Il permet de récupérer l’abonnement VMware.
Il nécessite le droit suivant : VMware Subscription.
Horizon Edge Gateway vers CSCompte de service créé sur Active Directory.
Il est positionné sur Edge Gateway et la Console Horizon.
Il permet la communication entre Edge GW et les CS.
Il nécessite le rôle Horizon suivant : Horizon Cloud Service.
Evénements HorizonCompte SQL créé sur SQL Server.
Il est positionné sur la Console Horizon.
Il permet la communication entre les CS et le serveur SQL.
Il nécessite les droits SQL suivants : voir ici
App Volumes ManagerCompte SQL créé sur SQL Server.
Il est positionné lors de l’installation de App Volumes Manager.
Il permet la communication entre les AVM et le serveur SQL.
Il nécessite le droit SQL suivant : db_owner.

Blast Configurator 1.3

J’ai ajouté la fonctionnalité suivante :
– Prise en charge de la configuration de l’intervalle de dépassement temporaire de la bande passante (Burst) pour les données envoyées aux clients.

Attention, cette fonction n’est pas configurable par GPO.

Téléchargement ici :Blast Configurator – VDI Hub

Blast Configurator

En utilisant les GPO, il est parfois fastidieux de trouver les bonnes valeurs pour le protocole Blast Extreme.
J’ai donc décidé de créer un utilitaire Windows (freeware) pour les administrateurs qui permet d’ajuster les valeurs en temps réel (sauf UDP).
Les valeurs les mieux adaptées à un contexte vont permettre d’économiser des ressources CPU/bande passante et d’améliorer l’expérience utilisateur.
Cet outil peut configurer les éléments suivants :

  • Type de codec
  • Bande passante de session Blast
  • Nombre maximum d’image par seconde (fps)
  • Taille du cache local de Blast
  • Compression sans perte
  • Protocole UDP
  • Contrôle CPU de l’encodeur
  • Qualité des codecs H.264, BlastCodec et Adaptive (jpg/png)

Pour obtenir des informations sur les codecs, voir mon article ici

Le bouton Reset Blast permet de remettre toutes les valeurs de Blast par défaut.
Le mode Transparent permet d’effectuer des réglages pendant la lecture d’une vidéo afin d’obtenir un comportement plus réaliste :

Blast Configurator s’exécute localement dans une session Horizon connectée avec le protocole VMware Blast.
L’exécutable est volumineux mais il embarque les dépendances Microsoft .NET, ce qui évite de l’installer au préalable.
Pour son fonctionnement, il est nécessaire de le lancer en tant qu’Administrateur.

Testé avec Horizon 2309 / Windows 10 / Windows 11
Téléchargement : lien
ZIP SHA-256 : b9001ec122fa4c6af43ac3952e44a445bd78f993b9b28532b3c3650ab800812c

Load Balancer avec HAProxy

Ce tutoriel décrit la création d’un load balancer pour les Connection Server Horizon ou App Volumes Manager.
Nous utiliserons la distribution Linux de VMware : Photon OS 5.0, ainsi que le load balancer open source : HAProxy.

Prérequis :
Photon OS 5.0 OVA x86_64 lien
2 GB de RAM / 16 GB HDD
Une adresse IP


Déployer l’OVA sur l’infrastructure vSphere

Une fois l’appliance déployée, allumer celle-ci.
L’appliance est en DHCP, se connecter en SSH avec le compte root et le password changeme.
Changer le mot de passe (obligatoire).

Lancer la mise à jour des packages avec la commande tdnf upgrade -y

Désactiver le DHCP sur la carte Ethernet en éditant le fichier /etc/systemd/network/99-dhcp-en.network
Mettre DHCP=no

Pour définir une adresse IP fixe sur la machine virtuelle, créer un fichier /etc/systemd/network/10-static-en.network
Ajouter le contenu suivant :

[Match]
Name=eth0
[Network]
Address=<AdresseIP_de_HAProxy>/24     
Gateway=<AdresseIP_Gateway>
DNS=<AdresseIP_DNS>
[DHCP]
UseDNS=false

Après avoir créé un fichier de configuration avec une extension .network, il faut exécuter la commande chmod pour définir les droits sur 644 :

chown systemd-network:systemd-network /etc/systemd/network/10-static-en.network

Créer un nouveau fichier nommé /etc/sysctl.d/55-keepalived.conf
Ajouter le contenu suivant :

#Enable IPv4 Forwarding
net.ipv4.ip_forward = 1
#Enable non-local IP bind
net.ipv4.ip_nonlocal_bind = 1

Editer le fichier /etc/systemd/scripts/ip4save
Ajouter les 4 lignes suivantes :

-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT
-A INPUT -p tcp --dport 8404 -j ACCEPT

Installer HAProxy avec la commande tdnf install haproxy -y

Créer et chrooter un nouveau répertoire pour HAProxy :

mkdir /var/lib/haproxy
chmod 755 /var/lib/haproxy

Renommer le fichier exemple de configuration HAProxy :

mv /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.old

Créer un nouveau fichier (avec vi ou touch) /etc/haproxy/haproxy.cfg
Copier le contenu suivant et modifier les champs surlignés :

# HAProxy configuration

                #Global definitions
                global
                chroot /var/lib/haproxy
                stats socket /var/lib/haproxy/stats
                 daemon

                defaults
                 timeout connect 5s
                 timeout client 30s
                 timeout server 30s

                ### Configuration des statistiques ###
                userlist stats-auth
                 group admin   users admin
                 user admin insecure-password Horiz0n
                 group ro users stats
                 user stats insecure-password ReadOnly
                frontend stats-http8404
                mode http
                bind <IP_HAProxy>:8404
                default_backend statistics
                backend statistics
                mode http
                stats enable
                stats show-legends
                stats show-node
                stats refresh 30s
                acl AUTH http_auth(stats-auth)
                acl AUTH_ADMIN http_auth_group(stats-auth) admin
                stats http-request auth unless AUTH
                stats admin if AUTH_ADMIN
                stats uri /stats
                ######

                ### Horizon Connection servers ###
                frontend horizon-http
                mode http
                bind <IP_HAProxy>:80
                # Redirect http to https
                redirect scheme https if !{ ssl_fc }

                frontend horizon-https
                mode tcp
                bind <IP_HAProxy>:443
                default_backend horizon
                backend horizon
                mode tcp
                option ssl-hello-chk
                balance source
                server CS1 <IPConnSrv1>:443 weight 1 check inter 30s fastinter 2s downinter 5s rise 3 fall 3
                server CS2 <IPConnSrv2>:443 weight 1 check inter 30s fastinter 2s downinter 5s rise 3 fall 3
######

Taper la commande suivante pour que HAProxy soit persistent après chaque reboot :

systemctl enable haproxy.service

Redémarrer l’appliance Photon OS :

reboot

HAProxy est désormais opérationnel.

Si une erreur 421 Unknown apparaît lors de la connexion d’un client via le load balancer, il est nécessaire d’activer la redirection d’hôte et d’ajouter l’adresse IP ou le nom d’hôte du HAProxy sur chaque Connection Server dans la Console Horizon.

Pour vérifier l’état du service HAProxy, utiliser la commande suivante :

systemctl status haproxy.service

Pour obtenir les statistiques de HAProxy, se connecter à l’URL suivante avec le mot de passe défini dans le fichier /etc/haproxy/haproxy.cfg :

http://<AdresseIP_HAProxy>:8404/stats

Màj : Horizon 2309

Principales nouveautés :

Horizon 2309

  • Load Balancing CPA en fonction de la charge
  • Création de bureaux virtuels à partir de disques persistants détachés
  • Amélioration de l’optimisation média Microsoft Teams
  • Autorisation Lecture/Ecriture pour le SDR
  • Amelioration de Blast Extreme avec le pilote Indirect
  • Prise en charge des machines physiques Linux

App Volumes 2309

  • Fast Attach pour les Packages VMDK (vSphere 8.0 Update 2 requis)
  • Support de Amazon AppStream 2.0

Unified Access Gateway 2309

  • Ajout de statistiques d’utilisation du disque dans les logs journaux à des fins de dépannage
  • Amélioration des logs
  • Mise à jour de Java et de Photon OS

Dynamic Environment Manager 2309

  • Configuration dynamique de la redirection des lecteurs de stockage Horizon pour les utilisateurs
  • Support de la configuration d’emplacements sans politique dans les paramètres basés sur ADMX
  • Possibilité d’appliquer les paramètres du registre sans que les utilisateurs aient accès aux outils d’édition du registre.

Se connecter en tant qu’utilisateur actuel demande un password

Sur le client Horizon, il est possible de se connecter à un Connection Server sans avoir à entrer un utilisateur/mot de passe.

En activant l’option “Se connecter en tant qu’utilisateur actuel“, le client Horizon peut réutiliser les credentials Windows pour s’authentifier.

Si la connexion demande toujours un mot de passe, il est probable que la fonctionnalité ne soit pas activée côté serveur.

Pour l’activer, il faut se rendre sur la console Horizon.

Dans Paramètres, cliquer sur Serveurs, aller sur l’onglet Serveurs de connexions.

Modifier le serveur de Connexion et aller sur l’onglet Authentification

Cocher la case Autoriser l’ouverture de session en tant qu’utilisateur actuel

La prise en compte est immédiate !

Équilibrage DRS des VM vGPU

Depuis vSphere 8.0 U2, il est désormais possible d’utiliser la fonctionnalité de Load Balancing de vSphere DRS pour équilibrer sur le cluster les machines virtuelles disposant d’un vGPU.
La migration des VMs est automatisée lors de la mise en mode maintenance d’un hôte ESXi.

Pour activer cette fonctionnalité, il est nécessaire d’ajouter deux variables dans les paramètres avancés de DRS :
PassthroughDrsAutomation = 1
LBMaxVmotionPerHost = 1

Ce paramétrage va permettre de migrer les VMs dont le temps de blocage dû au VMotion (stun time) n’excède pas 100 secondes.

Pour les machines virtuelles vGPU dont les temps de stun dépassent la « limite de temps de stun vMotion » (100 secondes par défaut), il est possible d’ajouter l’option avancée de cluster DRS suivante :

Option : VmDevicesStunTimeTolerated
Valeur :  (100 secondes par défaut)

⚠️ A l’heure actuelle, la documentation de Nvidia GRID 16 précise qu’il faut configurer DRS en mode Manuel ou Partiellement automatisé…

Upgrade en 2306 : Error 421 Unknown

Lors de l’upgrade d’un Pod Horizon vers la version 2306, il est possible que vous obteniez une erreur 421 lors de l’accès HTML5, sur le client Horizon ou sur la console Horizon.

Ce problème impactera aussi la mise à jour des serveurs de Connection Replica car une erreur LDAP s’affichera pendant l’upgrade.
La commande repadmin confirmera également les erreurs de réplication.

LDAP n’est pas prêt pour une mise à niveau. Des problèmes de réplication sont associés au serveur.
LDAP is not ready for an upgrade

Pour résoudre ce problème, il est nécessaire d’ajouter une variable dans le fichier locked.properties de chaque Connection Server.

Ce fichier se trouve dans le dossier C:\Program Files\VMware\VMware View\Server\sslgateway\conf du Connection Server. Si celui-ci n’existe pas, il est nécessaire de le créer.

Ajouter la variable suivante :
portalHost.1=fqdn_du_connectionserver.domaine.local

Si un Load Balancer est utilisé, ajouter également :
balancedHost=url_du_loadbalancer.domaine.local

Depuis la 2306, la syntaxe suivante est possible :
balancedHost.1=xxxx.com
balancedHost.2=xxxx.domain.com
portalHost.1=192.168.0.0

>> Pas de limite au nombre de portalHost ou balancedHost.

Redémarrer le service VMware Horizon View Connection Server pour appliquer les changements.

Page 1 of 8

Fièrement propulsé par WordPress & Thème par Anders Norén