Principales nouveautés :
⚠️ Mon fichier locked.properties a été réinitialisé par cette mise à jour, pensez à vérifier le votre.
Principales nouveautés :
⚠️ Mon fichier locked.properties a été réinitialisé par cette mise à jour, pensez à vérifier le votre.
Depuis la version 2212, il est possible d’ajouter des instances de App Volumes Manager dans la console Horizon.
Quelles sont les avantages de cette option?
Le mode de licence par abonnement (subscription) pour VMware Horizon (Saas et On-Premise) gagne de plus de plus de terrain et nécessite un Cloud Connector pour récupérer ses licences chez VMware.
JusteGeek a réalisé un tutoriel pour le déploiement et la configuration de VMware Cloud Connector 2.3 dans un environnement de production.
Un grand merci!
Prérequis
OVA VMware Cloud Connector 2.3 lien
Déployer l’OVA sur une infrastructure vSphere :
Avant de pouvoir paramétrer l’applicatif « Cloud Connector », il convient d’effectuer les actions ci-dessous sur l’appliance. Pour cela, on va utiliser la console web de VMware :
# /opt/vmware/bin/configure-adapter.py –acceptHostNameMismatch
Une fois l’appliance démarrée, il suffit de se connecter dessus en HTTPS :
https://<nom_de_l’appliance>/
Entrer le compte MyVMware
i Si l’interface web du Cloud Connector ne s’affiche pas et qu’une erreur 502 apparaît, il est possible que l’inspection SSL soit activée sur équipement réseau et que cela empêche le bon fonctionnement de l’applicatif.
L’assistant de déploiement s’ouvre et on commence par le Step 1 Connect To Horizon Pod.
Dans la partie Horizon Connection Server saisir le fqdn de l’instance Horizon puis cliquer sur Connect
L’assistant demande ensuite de valider le certificat. Pour cela il suffit de cocher la case I Have verified the above certificate…
Ensuite il convient de renseigner les 3 champs en bas de la fenêtre Domain, Username et Password et de cliquer sur le bouton Connect :
La fenêtre du Step 2 apparaît. Elle demande de renseigner un nom pour l’instance, une localisation et une description :
Cliquer ensuite sur Save. La fenêtre du Step 3 apparait ensuite. Il convient ici de patienter le temps ue le Cloud Connector vérifie la connectivité avec les Connection Servers.
L’appliance ayant besoin de discuter avec le vCenter, une autre fenêtre s’ouvre dans laquelle il convient de renseigner les infos de connexion à celui-ci : Renseigner le nom du vCenter et cliquer sur Get Certificate :
L’assistant demande ensuite de valider le certificat. Pour cela il suffit de cocher la case I Have verified the above certificate…
Renseigner ensuite les informations du compte de service ayant accès au vCenter ainsi que la seconde IP réservée (qui sera utilisée pour les upgrades des connectors) et cliquer sur Save :
La configuration est désormais terminée et le statut de l’installation s’affiche :
Pour vérifier que les licences par souscription ont bien été installées, il convient de se connecter sur la console Horizon, puis dans le menu Settings de gauche cliquer sur Product Licensing and Usage :
Tutoriel réalisé par JusteGeek !
Sa chaîne YouTube
Son Twitter
Lors de l’utilisation du bureaux virtuels en clone liés, il est conseillé de configurer Microsoft Defender afin d’améliorer la sécurité et les performances.
Problème 1: Mise à jour
Lors du clonage, la base de signatures peut vite être périmée si le master n’est pas régulièrement mis à jour car Windows Update est généralement désactivé sur les pools Instant-Clones.
Pour résoudre ce problème, il va falloir configurer Microsoft Defender pour qu’il récupère ses mises à jour sur un partage réseau.
Prérequis : Avoir déployer les derniers ADMX pour Windows 10/11
Sur un serveur accessible par les bureaux virtuels, créer un nouveau dossier et le partager :
Utilisateurs authentifiés : Lecture
Puis créer un sous-dossier nommé :
{00000000-0000-0000-0000-000000000000}
Télécharger le dernier package de définition antivirus (mpam-fe.exe) : https://go.microsoft.com/fwlink/?LinkID=121721&arch=x64
Placer le package dans le dossier {00000000-0000-0000-0000-000000000000} puis extraire le package en ligne de commande :
mpam-fe.exe /X
Dans l’OU des bureaux virtuels, configurer une stratégie de groupe pour : “Définir l’ordre des sources pour le téléchargement des mises à jour des définitions“, activer ce paramètres et le définir sur “FileShares“
“Définissez l’emplacement de la veille de sécurité pour les clients VDI“, activer ce paramètres et le définir sur \\votre serveur\partage
Désormais, les bureaux virtuels récupèrent le package mis à jour chaque fois chaque fois que le dossier existant est mis à jour avec un nouveau package.
La mise à jour du package peut-être automatisé, voir article Microsoft lien
Problème 2: Scan antivirus
Afin d’éviter les possibles lenteurs au démarrage, il faut désactiver l’analyse après la mise à jour, car par défaut, un scan est automatiquement effectué.
Quant aux scans planifiés, ils sont lancés, par défaut, aléatoirement sur une plage de quatre heures. Il est possible d’activer ce paramètre pour le forcer explicitement.
Afin d’accélérer les déploiements et d’éviter les erreurs, j’ai conçu un script Powershell (basé sur un script VMware) dont le but est d’ajouter un rôle dans vCenter pour l’utilisateur vCenter avec Instant-Clones (compte défini dans Horizon).
Ce script est spécifique à vCenter 8.0 mais il peut facilement être adapté à une version antérieure.
Il va créer un rôle nommé “Horizon” avec uniquement les privilèges nécessaires.
Préquis
Utilisation
Import-Module VMware.VimAutomation.Core
$Role = "Horizon"
$viserver = "vcenter.domaine.local"
Connect-VIServer -server $viServer
$RoleIds = @()
# Opérations cryptographiques
"Cryptographer.Access", "Cryptographer.Clone", "Cryptographer.Decrypt",
"Cryptographer.Encrypt", "Cryptographer.ManageKeyServers", "Cryptographer.Migrate", "Cryptographer.RegisterHost",
# Banque de données
"Datastore.AllocateSpace", "Datastore.Browse",
# Dossier
"Folder.Create", "Folder.Delete",
# Global
"Global.DisableMethods", "Global.EnableMethods", "Global.ManageCustomFields",
"Global.SetCustomField", "Global.VCServer",
# Hote
"Host.Config.AdvancedConfig", "Host.Inventory.EditCluster",
# Reseau
"Network.Assign",
# Ressource
"Resource.AssignVMToPool", "Resource.HotMigrate",
# strategies de stockage de machine virtuelle
"StorageProfile.Apply", "StorageProfile.EditPermissions", "StorageProfile.Update",
"StorageProfile.View", "StorageProfile.ViewPermissions", "System.Anonymous",
# Systeme
"System.Read", "System.View",
# Machine virtuelle / Configuration
"VirtualMachine.Config.AddExistingDisk", "VirtualMachine.Config.AddNewDisk", "VirtualMachine.Config.AddRemoveDevice",
"VirtualMachine.Config.AdvancedConfig", "VirtualMachine.Config.Annotation", "VirtualMachine.Config.CPUCount",
"VirtualMachine.Config.ChangeTracking", "VirtualMachine.Config.DiskExtend", "VirtualMachine.Config.DiskLease",
"VirtualMachine.Config.EditDevice", "VirtualMachine.Config.HostUSBDevice", "VirtualMachine.Config.ManagedBy",
"VirtualMachine.Config.Memory", "VirtualMachine.Config.MksControl", "VirtualMachine.Config.QueryFTCompatibility",
"VirtualMachine.Config.QueryUnownedFiles", "VirtualMachine.Config.RawDevice", "VirtualMachine.Config.ReloadFromPath",
"VirtualMachine.Config.RemoveDisk", "VirtualMachine.Config.Rename", "VirtualMachine.Config.ResetGuestInfo",
"VirtualMachine.Config.Resource", "VirtualMachine.Config.Settings", "VirtualMachine.Config.SwapPlacement",
"VirtualMachine.Config.ToggleForkParent", "VirtualMachine.Config.UpgradeVirtualHardware", "VirtualMachine.Interact.DeviceConnection",
# Machine virtuelle / Interaction
"VirtualMachine.Interact.PowerOff", "VirtualMachine.Interact.PowerOn", "VirtualMachine.Interact.Reset",
"VirtualMachine.Interact.SESparseMaintenance", "VirtualMachine.Interact.Suspend", "VirtualMachine.Inventory.Create",
# Machine virtuelle / Inventaire
"VirtualMachine.Inventory.CreateFromExisting", "VirtualMachine.Inventory.Delete", "VirtualMachine.Inventory.Move",
"VirtualMachine.Inventory.Register", "VirtualMachine.Inventory.Unregister",
# Machine virtuelle / Provisionnement
"VirtualMachine.Provisioning.Clone", "VirtualMachine.Provisioning.CloneTemplate", "VirtualMachine.Provisioning.Customize", "VirtualMachine.Provisioning.DiskRandomAccess",
"VirtualMachine.Provisioning.ReadCustSpecs", "VirtualMachine.Provisioning.DeployTemplate",
# Machine virtuelle / Gestion des snapshots
"VirtualMachine.State.CreateSnapshot", "VirtualMachine.State.RemoveSnapshot",
"VirtualMachine.State.RenameSnapshot", "VirtualMachine.State.RevertToSnapshot" |
Foreach-Object{
$RoleIds += $_
}
New-VIRole -name $Role -Privilege (Get-VIPrivilege -Server $viserver -id $RoleIds) -Server $viserver
Set-VIRole -Role $Role -AddPrivilege (Get-VIPrivilege -Server $viserver -id $RoleIds) -Server $viserver
ℹ️ Il faut parfois se délogger de vSphere Web Client pour voir apparaître le nouveau rôle.
Le compte de service vCenter utilisé par VMware Horizon nécessite un certain nombre de privilèges pour effectuer des opérations sur les clones.
Dans un environnement vSAN ou Virtual Volumes, la documentation indique qu’il faut tous les privilèges du groupe Stockage basé sur le profil (Profile Driven Storage).
Hors en vSphere 8.0, ce groupe de privilèges n’existe plus et est remplacé par le groupe Stratégies de stockage de machine virtuelle (VM storage policies).
En conséquence, il faudra ajouter ces privilèges en lieu et place de ceux spécifiés dans la documentation de VMware Horizon lien
Dans la console Horizon, il est possible de configurer une base de données d’événements, mais il est aussi possible de paramétrer un serveur Syslog ou un partage réseau pour y stocker ces informations.
Toutefois, une base de données permet une analyse simplifiée avec des outils de reporting tiers ainsi qu’un affichage direct dans la console Horizon.
Syslog
Quand un serveur Syslog est paramétré, les informations de la base d’événements sont envoyées avec le protocole UDP sous forme de message et sont consignées dans le Syslog.
Les messages dans le Syslog reflètent ceux de la base d’événements.
Selon l’éditeur, des notifications et des alarmes peuvent être générées.
Evénements dans le système de fichiers
Les Evénements dans le système de fichiers reflètent également ceux de la base d’événements et sont stockés par défaut au format Syslog dans le dossier “C:\ProgramData\VMware\VDM\events”.
Un maximum de 300MB est conservé localement.
Ce répertoire peut être déplacé vers un partage réseau pour conserver une quantité supérieure de logs.
Exemple de logs sur un partage CIFS :
Il est possible de configurer cette fonction avec la commande vdmadmin :
vdmadmin -I -eventSyslog -enable -path \\srv\share -user domain\user -password password
Cet article explique comment configurer une base de données PostgreSQL sous Windows pour stocker les événements de VMware Horizon.
PostgreSQL a l’avantage d’être gratuit et Open-Source.
Prérequis :
– Une machine Windows Server 2016 ou 2019 (2 vCPU, 6 Go RAM)
– Package d’installation PostgreSQL lien
– Port TCP 5432 ouvert vers Windows Server depuis le Connection Server
Etape 1
Installer PostgreSQL sur la machine Windows Server en suivant ce tutoriel :
https://stacklima.com/installer-postgresql-sur-windows/
Etape 2
Se connecter sur la console de Windows Server et lancer pgAdmin
Créer un Master Password
Se connecter au serveur PostgreSQL avec le mot de passe défini lors de installation
Créer un nouvel utilisateur
Nommer le horizon et lui affecter le privilège Can login
Créer une nouvelle base de données
Nommer la base de données : horizon_events
Mettre l’utilisateur horizon en tant que Owner
Ouvrir l’explorateur sur Windows Server
Editer le fichier C:\Program Files\PostgreSQL\15\data\pg_hba.conf
Trouver la section #IPv4 local connections
Ajouter la ligne suivante où xxx.xxx.xxx.xxx correspond à l’adresse IP du Connection Server
host all all xxx.xxx.xxx.xxx/32 scram-sha-256
Dans Horizon Console> Paramètres> Configuration d’événements
Entrer les informations du serveur et de la base de données
Si tout est bien paramétré, un nouvel événement sera enregistré
Il est possible d’améliorer les performances des bureaux virtuels utilisant un vGPU en configurant deux paramètres dans ESXi et Horizon Connection Server afin d’utiliser le mode Max Performance.
Ce mode doit etre activé uniquement si un seul profil vGPU est utilisé dans le pod Horizon.
Etape 1 : Configurer la Stratégie d’attribution de GPU
Etape 2 : Activer le mode Max Performance
Lors de l’optimisation de la VM master Horizon avec VMware OSOT, les fichiers de logs de l’agent Horizon dans le dossier C:\ProgramData\VMware\VDM\logs ne sont pas supprimés.
Cela peut être gênant lors du debugging des bureaux virtuels ou du template interne car ces fichiers peuvent vite devenir volumineux.
Pour supprimer l’ensemble des logs, le script suivant doit être lancé en Powershell sur le master avant son extinction.
<# Arrêt des process Horizon #>
net stop tsdrvdisvc
net stop WSNM
net stop vmware_print_redir_service
net stop vmwrxgservice
net stop Spooler
net stop v4v_agent
net stop VMBlast
net stop hzMonService
net stop vmware-viewcomposer-ga
net stop ftscansvchv
net stop ftnlsv3hv
net stop vmwsprrdpsrv
taskkill /IM "scanner.exe" /F
taskkill /IM "vmwareviewclipboard.exe" /F
taskkill /IM "WSSM.exe" /F
taskkill /IM "vmwsprrdp.exe" /F
<# Suppression des fichiers de logs #>
Remove-Item C:\ProgramData\VMware\VDM\logs\* -Force -ErrorAction SilentlyContinue -Recurse
Remove-Item 'C:\ProgramData\VMware\VMware Blast\*' -Force -ErrorAction SilentlyContinue -Recurse
Script PowerShell disponible ici lien
Fièrement propulsé par WordPress & Thème par Anders Norén