Cet article explique comment mettre à jour manuellement votre hôte VMware ESXi via la ligne de commande. Certes, ce n’est pas la méthode la plus élégante, surtout si vous avez l’habitude d’utiliser vSphere Update Manager ou Lifecycle Manager, mais il arrive que l’on se retrouve avec un hôte isolé ou un environnement de test nécessitant l’application de correctifs ou une mise à niveau. L’utilisation de la ligne de commande esxclipeut sembler intimidante, mais elle est en réalité assez simple une fois maîtrisée. Cette méthode est généralement employée pour les correctifs de sécurité, les mises à niveau mineures au sein d’une même version ou le passage d’une version d’ESXi à une autre, par exemple de la version 6.7 à la version 7.0 ou 8.0. Elle est pratique car elle permet de contourner certains problèmes liés à l’interface graphique et de créer des scripts ou d’automatiser les processus. Attention cependant : si votre hôte ne récupère pas les mises à jour directement depuis le dépôt VMware ou si votre réseau est instable, l’ensemble du processus peut échouer de manière inattendue. De plus, pour les déploiements de grande envergure, la méthode recommandée par VMware reste l’utilisation de ses outils officiels, mais il arrive que le recours à une intervention manuelle soit nécessaire. Attendez-vous à un redémarrage à la fin, et assurez-vous que le matériel de votre serveur est officiellement pris en charge pour la mise à niveau — car bien sûr, VMware se doit de rendre les choses terriblement compliquées.
Comment mettre à niveau VMware ESXi en quelques étapes à l’aide de l’interface de ligne de commande (CLI)
Vérifiez votre version actuelle et préparez-vous
- Pour commencer, connectez-vous à votre hôte ESXi via SSH.Activez SSH depuis la console s’il n’est pas déjà activé. Vous pouvez le faire via l’interface utilisateur de la console directe (DCUI) dans les options de dépannage.
- Vérifiez votre version actuelle d’ESXi avec la commande `esxi version`
vmware -v. Par exemple, vous obtiendrez un résultat similaire à `ESXi version 1.0`VMware ESXi 8.0.2 build-22380479. Cela vous indique la version actuellement installée. - Pour connaître la date d’installation des mises à jour, exécutez la commande suivante
esxcli software vib list | grep 'Install\|esx-base'. Sur certaines configurations, cela permet de confirmer la date d’application d’un correctif ou d’une mise à jour, ainsi que l’état actuel du profil.
Configuration pour les mises à jour en ligne
- Avant de télécharger les mises à jour depuis VMware, assurez-vous que vos règles de pare-feu autorisent le trafic HTTP/HTTPS vers les dépôts VMware. Vous pouvez ouvrir la règle avec la commande suivante : [commande à insérer]
esxcli network firewall ruleset set -e true -r httpClient. Cela fonctionne parfois, mais sur certaines configurations, il peut être nécessaire de vérifier la configuration spécifique de votre pare-feu. - Consultez la liste des profils disponibles dans le dépôt VMware pour voir les versions vers lesquelles vous pouvez effectuer une mise à niveau :
esxcli software sources profile list --depot=https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xmlvous verrez des options telles que ESXi-8.0U2b-23305546-standard ou similaires. Choisissez celle qui correspond à votre politique de mise à jour.
Mettre l’hôte en mode maintenance — Pourquoi ? Parce que vous devez
- Exécutez cette commande
esxcli system maintenanceMode set --enable=true. C’est une bonne mesure de sécurité pour s’assurer qu’aucune machine virtuelle n’est exécutée sur l’hôte pendant la mise à niveau. De plus, certaines commandes refusent de s’exécuter en dehors du mode maintenance. Sur une configuration, cela a fonctionné du premier coup, sur une autre, beaucoup moins. C’est étrange comme le comportement peut être aléatoire.
Effectuez la mise à niveau proprement dite
- Voici maintenant la véritable astuce : la mise à jour à l’aide du profil choisi. Par exemple :
esxcli software profile update -p ESXi-8.0U2b-23305546-standard -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml. Cette commande récupérera la mise à jour et l’appliquera. Il arrive parfois qu’un avertissement concernant la compatibilité de votre processeur s’affiche, du type : « Votre processeur n’est pas officiellement pris en charge ».C’est agaçant, mais vous pouvez contourner ce problème avec-no-hardware-warning. Nous y reviendrons plus tard. - Attendez-vous à quelques avertissements, mais l’objectif est de voir un message confirmant la réussite de la mise à jour et la nécessité d’un redémarrage. Par exemple : « La mise à jour s’est terminée avec succès, mais le système doit être redémarré pour que les modifications soient prises en compte.»
Conclusion de la mise à jour — Redémarrage et vérification
- Désactivez la règle du pare-feu si vous le souhaitez :
esxcli network firewall ruleset set -e false -r httpClientla sécurité avant tout. - Redémarrez l’hôte :
rebootle système sera arrêté, assurez-vous donc que vos machines virtuelles sont éteintes ou en cours de migration de stockage (Storage vMotion) si nécessaire. - Après le redémarrage, vérifiez votre mise à niveau en exécutant
vmware -và nouveau la commande, ou consultez le profil avecesxcli software profile get.
Si votre mise à niveau en ligne échoue ou affiche une erreur déroutante du type « Aucune donnée reçue du processus », il est préférable d’utiliser la méthode hors ligne : téléchargez le package et installez-le localement. Ainsi, vous n’êtes pas dépendant d’une connexion réseau ni du dépôt en ligne de VMware, qui peut parfois être instable ou bloqué par un proxy.
Méthode de pack hors ligne — Quand Internet n’est pas votre ami
- Accédez au portail de correctifs de VMware et connectez-vous.
- Choisissez votre produit : ESXi (intégré et installable), puis sélectionnez la version souhaitée. Téléchargez le fichier ZIP du dernier pack hors ligne (ou un correctif de mise à niveau).
- Utilisez l’ explorateur de banque de données depuis vSphere Client ou via SSH pour charger le fichier ZIP sur votre banque de données locale. Si l’espace est insuffisant, étendez la banque de données VMFS ou utilisez un disque dur externe USB connecté à ESXi.
- Connectez-vous à votre hôte via SSH et passez en mode maintenance :
vim-cmd /hostsvc/maintenance_mode_enter. - Exécutez cette commande
esxcli software sources profile list --depot /vmfs/volumes/your_datastore/folder/your_bundled_offline.zippour voir les profils disponibles. - Mettez à jour à partir de ce fichier ZIP avec :
esxcli software vib update --depot /vmfs/volumes/your_datastore/folder/your_bundled_offline.zip. Ajoutez--profilesi vous souhaitez une version spécifique. - Redémarrez
reboot -fet quittez le mode maintenance :vim-cmd /hostsvc/maintenance_mode_exit. - Vérifiez votre version avec
vmware -v. Normalement, elle devrait afficher la nouvelle version !
Astuce : Vous pouvez aussi automatiser tout cela avec PowerCLI, surtout si vous gérez plusieurs hôtes. N’oubliez pas de vérifier la compatibilité matérielle avec la nouvelle version d’ESXi avant de commencer ; le guide de compatibilité VMware est là pour vous aider.
Voilà, c’est tout. Oui, c’est un peu fastidieux, mais après quelques essais, ça devient beaucoup plus simple. Préparez-vous aux petits problèmes et erreurs habituels, mais au final, c’est une solution fiable pour maintenir vos hôtes ESXi à jour si les outils graphiques ne sont pas envisageables.