Fenêtre de service
La fonctionnalité Fenêtre de service permet de planifier et d’automatiser des opérations sur des machines virtuelles provisionnées par MCS. Cette fonctionnalité prend actuellement en charge diverses opérations telles que la réinitialisation du disque du système d’exploitation et les modifications de configuration matérielle. Vous pouvez planifier ces opérations et revenir plus tard pour vérifier leur achèvement, plutôt que d’effectuer les mises à jour manuellement.
-
Vous pouvez planifier des opérations pour une liste spécifique de machines virtuelles ou pour un catalogue de machines entier. Chaque opération s’exécute à l’heure spécifiée. Plusieurs opérations peuvent être planifiées pour la même machine virtuelle. Cependant, vous ne pouvez pas planifier plus d’une mise à jour matérielle pour une seule machine virtuelle.
-
Vous pouvez également :
- Ajouter une description pour la fenêtre de service.
- Fournir un message détaillé à afficher aux utilisateurs connectés lorsque l’opération s’exécute.
- Configurer le nombre de minutes tampon accordées pour enregistrer le travail des utilisateurs connectés avant que l’opération ne soit exécutée de force.
Avantages
Expérience utilisateur et continuité améliorées
- Gestion élégante des sessions : Au lieu de déconnexions abruptes, vous pouvez définir une notification professionnelle pour enregistrer le travail avant que la machine virtuelle ne soit mise hors tension.
- Temps d’arrêt planifié : Vous pouvez déplacer les tâches de mise à jour lourdes vers les heures creuses (par exemple, 2h00 du matin) sans avoir à vous connecter manuellement à ce moment-là.
- Mises à jour matérielles rentables : La mise à jour du matériel à l’aide de la fenêtre de service permet de réaliser des économies importantes sur les grandes implémentations. Cette fonctionnalité analyse automatiquement si une machine virtuelle nécessite un redémarrage pour appliquer les paramètres. Par conséquent, en évitant les redémarrages inutiles, la fenêtre de service minimise ces dépenses.
Flexibilité matérielle avancée
- Mettre à jour les configurations matérielles : Utilisez la fenêtre de service pour planifier les mises à jour matérielles. Le système gère intelligemment le flux de mise à jour, vérifiant la nécessité d’un redémarrage et gérant les déconnexions de session, garantissant ainsi que votre catalogue évolue pour répondre aux nouvelles demandes de ressources sans aucune supervision manuelle.
- Reconfiguration flexible des SKU : Mettez à jour facilement les SKU, ce qui nécessitait auparavant une recréation manuelle du catalogue.
- Prise en charge de l’hibernation pour les machines virtuelles existantes : Dépasse la limitation du « disque temporaire ». La fenêtre de service permet au pilote MCSIO de déplacer le fichier d’échange vers le lecteur C: et d’activer les propriétés d’hibernation sur les machines virtuelles déjà déployées.
Considération importante
- Notification de l’utilisateur : Les utilisateurs connectés reçoivent une alerte initiale concernant l’opération de la fenêtre de service, ce qui leur laisse suffisamment de temps pour enregistrer leur travail. Une fois la période de notification expirée, la machine s’éteint automatiquement pour effectuer l’opération.
Limitation
La taille du disque WBC ne peut pas être modifiée sur les machines virtuelles existantes. Elle pourrait être appliquée au catalogue de machines pour les nouvelles machines virtuelles.
Opérations de la fenêtre de service
-
La fenêtre de service prend actuellement en charge la réinitialisation des disques du système d’exploitation et les modifications de configuration matérielle à l’aide de PowerShell.
-
Commandes PowerShell : Les commandes génériques sont décrites dans cet article, tandis que les scripts détaillés et spécifiques à l’hyperviseur peuvent être trouvés sur notre page GitHub https://github.com/citrix/citrix-mcs-sdk-samples/.
Réinitialiser le disque du système d’exploitation
- Les réinitialisations de disque du système d'exploitation peuvent être effectuées à l'aide de la commande PowerShell `New-ProvMaintenanceCycle`. La commande crée une nouvelle fenêtre de service pour un catalogue entier ou des machines virtuelles spécifiques. Le cycle commence à l'heure que vous spécifiez dans `ScheduledStartTimeInUTC`. Vous fournissez également `MaxDurationInMinutes`, qui indique la durée maximale d'exécution de la fenêtre de service.
Exemple : Réinitialiser le disque du système d’exploitation pour des machines virtuelles spécifiques
- ```
New-ProvMaintenanceCycle -Operation ResetOSDisk -MaintenanceCycleDescription “Resetting Boot Disk” -StartsNow -MaxDurationInMinutes 100 -ProvisioningSchemeName CVC -PurgeDBAfterInDays 1 -SessionWarningTimeInMinutes 15 -SessionWarningLogOffTitle “Scheduled Maintenance” -SessionWarningLogOffMessage “There is a scheduled maintenance coming up and involves turning off the machine, please save your work and log out, Thank You” -VMName VDA02,VDA03
### Exemple : Réinitialiser le disque du système d'exploitation pour l'ensemble du catalogue
New-ProvMaintenanceCycle -Operation ResetOSDisk -MaintenanceCycleDescription “Resetting Boot Disk” -StartsNow -MaxDurationInMinutes 100 -ProvisioningSchemeName CVC -PurgeDBAfterInDays 1 -SessionWarningTimeInMinutes 15 -SessionWarningLogOffTitle “Scheduled Maintenance” -SessionWarningLogOffMessage “There is a scheduled maintenance coming up and involves turning off the machine, please save your work and log out, Thank You” -AllVMs
## Mettre à jour les paramètres matériels
Planifiez les mises à jour matérielles à l'aide de la fenêtre de service, ce qui vous donne un contrôle total sur le moment où les modifications prennent effet. Vous pouvez choisir de cibler uniquement les machines virtuelles nouvellement créées, un catalogue entier (machines virtuelles nouvelles et existantes) ou des machines virtuelles spécifiques selon les besoins.
- Pour mettre à jour les paramètres matériels des nouvelles machines virtuelles ou de l'ensemble du catalogue, sélectionnez une version de schéma de provisionnement et exécutez la commande PowerShell `New-ProvSchemeHardwareUpdate`. Vous pouvez appliquer une version de schéma de provisionnement précédemment créée aux machines virtuelles. Vous pouvez également activer l'hibernation sur une machine virtuelle avec un disque temporaire.
- Pour mettre à jour les paramètres matériels de machines virtuelles spécifiques, sélectionnez une version de configuration de machine virtuelle et exécutez la commande PowerShell `New-ProvVmHardwareUpdate`.
### Considérations importantes
- Les nouvelles machines ajoutées à un catalogue après la planification d'une mise à jour matérielle continuent d'être créées avec des spécifications plus anciennes jusqu'à l'heure UTC spécifiée pour l'application des nouvelles spécifications.
- Un seul échec de validation lors de la création de la fenêtre de service empêche la création du cycle et renvoie un message d'erreur.
- Pour activer l'hibernation, tenez compte des éléments suivants :
- La version du VDA doit être supérieure à 2503.
- Machine Creation Services I/O (MCSIO) doit être installé.
- Le profil de la machine doit prendre en charge l'hibernation.
- Le SKU de la machine virtuelle et le système d'exploitation doivent prendre en charge l'hibernation.
- Si VBS est activé, Hyper-V doit également être activé. La virtualisation imbriquée nécessite le lancement sécurisé (Trusted Launch) sur la machine virtuelle.
- La taille libre du disque du système d'exploitation doit être supérieure à la taille de la mémoire de la machine virtuelle.
### Planifier les mises à jour matérielles sur un catalogue de machines entier ou de nouvelles machines virtuelles
1. Exécutez `New-ProvSchemeVersion` pour créer une nouvelle version de schéma de provisionnement avec des paramètres matériels mis à jour. Pour plus d'informations, consultez la [documentation du SDK](https://developer-docs.citrix.com/en-us/citrix-virtual-apps-desktops-sdk/2511/machinecreation/new-provschemeversion).
1. Exécutez la commande PowerShell `New-ProvSchemeHardwareUpdate` pour planifier une fenêtre de service pour les mises à jour matérielles, comme spécifié dans la version du schéma de provisionnement.
**Exemple : `AllVMs` (nouvelles et existantes) dans le catalogue de machines sont prises en compte pour la mise à jour :**
New-ProvSchemeHardwareUpdate -ProvisioningSchemeVersion 4 -MaintenanceCycleDescription “Updating RAM and CPU Count to 8GB and 4” -StartsNow -MaxDurationInMinutes 100 -ProvisioningSchemeName CVC -PurgeDBAfterInDays 1 -SessionWarningTimeInMinutes 15 -SessionWarningLogOffTitle “Scheduled Maintenance” -SessionWarningLogOffMessage “There is a scheduled maintenance coming up and involves turning off the machine, please save your work and log out, Thank You” -AllVMs
**Exemple : `NewVMsOnly` (nouvelles et existantes) dans le catalogue de machines sont prises en compte pour la mise à jour :**
New-ProvSchemeHardwareUpdate -ProvisioningSchemeVersion 4 -MaintenanceCycleDescription “Updating RAM and CPU Count to 8GB and 4” -StartsNow -MaxDurationInMinutes 100 -ProvisioningSchemeName CVC -PurgeDBAfterInDays 1 -SessionWarningTimeInMinutes 15 -SessionWarningLogOffTitle “Scheduled Maintenance” -SessionWarningLogOffMessage “There is a scheduled maintenance coming up and involves turning off the machine, please save your work and log out, Thank You” -NewVMsOnly -
- Exécutez `Get-ProvSchemeHardwareUpdate` pour récupérer les objets de fenêtre de service associés aux mises à jour du schéma matériel. Exemple :
- ```
- Get-ProvSchemeHardwareUpdate -MaintenanceCycleId xxxx-xxxx-yyyy-zzzz
- <!--NeedCopy-->
Planifier les mises à jour matérielles sur des machines virtuelles spécifiques
-
- Exécutez
New-ProvVmConfigurationpour créer une nouvelle configuration de machine virtuelle de provisionnement. Pour plus d’informations, consultez la documentation du SDK.
- Exécutez
- Exécutez la commande PowerShell
New-ProvVmHardwareUpdatepour planifier une fenêtre de service pour les mises à jour matérielles, comme spécifié dans la version de configuration de la machine virtuelle.
-
Remarque :
Pour chaque machine virtuelle, les paramètres personnalisés (version de configuration de la machine virtuelle) priment toujours sur les spécifications définies dans la version du schéma de provisionnement. Si un paramètre particulier n’est pas personnalisé sur la machine virtuelle, sa valeur est héritée de la version du schéma de provisionnement associée.
- Exemple :
New-ProvVmHardwareUpdate -ProvVmConfigurationVersion 4 -StartsNow -MaxDurationInMinutes 100 -ProvisioningSchemeName CVC -VMName AbcTest01
- <!--NeedCopy-->
Exécutez Get-ProvVmHardwareUpdate pour récupérer les objets de fenêtre de service associés aux mises à jour matérielles des machines virtuelles. Exemple :
Get-ProvVmHardwareUpdate -MaintenanceCycleId xxxx-xxxx-yyyy-zzzz
<!--NeedCopy-->
Vous pouvez également supprimer une personnalisation utilisée pour créer des versions de machines virtuelles de provisionnement à l’aide de la commande Remove-ProvVmConfiguration. Exemple :
Remove-ProvVmConfiguration -Version 2 -VMName AbcTest01
<!--NeedCopy-->
Commandes PowerShell diverses associées à la fenêtre de service
-
Get-ProvMaintenanceCycle: Récupère les informations de toutes les fenêtres de service. Exemple :Get-ProvMaintenanceCycle -MaintenanceCycleId 10073b8e-7e94-4527-8580-0e448eae0ad1 <!--NeedCopy--> -
Get-ProvMaintenanceCycleVM: Récupère les informations de chaque opération de fenêtre de service pour les machines virtuelles individuelles, ainsi que son statut. Exemple :Get-ProvMaintenanceCycleVM -MaintenanceOperation HardwareUpdate -VirtualMachineSid 42263076-44ae-1ff9-f58b-62d57ddf8db5 <!--NeedCopy-->
Les différents statuts de la fenêtre de service sont :
- En cours d’exécution
- Échec
- Terminé
- Annulation en cours
- Annulé
- Non traité
- En attente
- Incomplet
- Réparé
-
Récupération en cours
-
Remove-ProvMaintenanceCycle: Supprime une fenêtre de service lorsque celle-ci n’est pas active. Exemple :Remove-ProvMaintenanceCycle -MaintenanceCycleId 867af1ba-5b72-402e-9dc3-033298248f8e <!--NeedCopy--> -
Cancel-ProvMaintenanceCycle: Si l’opération n’a pas encore été démarrée par MCS sur une machine virtuelle, cette commande PowerShell annule l’opération. MCS n’annule pas une opération en cours d’exécution sur la machine virtuelle. Exemple :Cancel-ProvMaintenanceCycle -MaintenanceCycleId 867af1ba-5b72-402e-9dc3-033298248f8e <!--NeedCopy--> -
Restart-ProvMaintenanceCycle: Si une période de maintenance a échoué ou est incomplète en raison de causes externes, telles qu’un hyperviseur hors service ou un temps insuffisant, cette commande permet de redémarrer le cycle et de traiter les tâches ayant échoué ou non traitées. Exemple :Restart-ProvMaintenanceCycle -MaintenanceCycleId 4f363b78-458a-403a-82e5-7fcc6caa498b -ScheduledStartTimeInUTC "June 19th 2024, 6AM" -MaxAllocatedDurationInMinutes 400 <!--NeedCopy--> -
Update-ProvMaintenanceCycle: Si une période de maintenance est déjà planifiée et n’a pas encore démarré, cette commande modifie certains paramètres.Exemple : Mettre à jour la durée maximale :
Update-ProvMaintenanceCycle -MaintenanceCycleId 4f363b78-458a-403a-82e5-7fcc6caa498b -MaxDurationInMinutes 100 <!--NeedCopy-->Exemple : Mettre à jour les machines virtuelles pour un schéma de provisionnement :
Update-ProvMaintenanceCycle -MaintenanceCycleId 4f363b78-458a-403a-82e5-7fcc6caa498b -ProvisioningSchemeUid 867af1ba-5b72-402e-9dc3-033298248f8e -VMName ncn01,ncn02 <!--NeedCopy-->