Installer vmwaretool

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine VMware Tools — installation dans une VM invitée
Méthode moderne open-vm-tools (paquet distribution, préinstallé sur la plupart des Linux récents)
Méthode historique Tarball VMware Tools + script Perl vmware-install.pl
Voir aussi Vsphere · Upgrade esx

VMware Tools est la suite de pilotes et services installée dans le système d'exploitation invité d'une VM VMware : pilotes vidéo/réseau optimisés, synchronisation d'horloge, arrêt propre depuis vCenter, échange de fichiers, etc.

Méthode recommandée : open-vm-tools

Sur les distributions Linux récentes, préférer le paquet open-vm-tools fourni par la distribution plutôt que l'installeur VMware historique :

# Debian/Ubuntu
apt-get install open-vm-tools

# RHEL/CentOS
yum install open-vm-tools

Cette méthode ne nécessite ni montage de CD-ROM ni compilation de module noyau, et suit le cycle de mise à jour de la distribution.

Méthode historique (installeur VMware)

(procédure datée — installeur classique VMware Tools, largement remplacé par open-vm-tools ci-dessus, mais toujours rencontré sur des VM anciennes)

Prérequis de compilation

# RHEL/CentOS
yum install kernel-devel kernel-headers gcc make

# Debian/Ubuntu
apt-get install linux-headers-$(uname -r)

Installation

Depuis le client vSphere, clic droit sur la VM puis GuestInstall/Upgrade VMware Tools. Cela monte virtuellement un CD-ROM contenant l'installeur dans la VM :

mount /dev/cdrom /mnt/
cd
tar -zxf /mnt/VMwareTools-x.x.x-xxxxxx.tar.gz
cd vmware-tools-distrib
./vmware-install.pl

Répondre par défaut (yes/entrée) à toutes les questions de l'installeur interactif.

Script de mise à niveau en masse

Script permettant de parcourir toutes les VM d'un hôte et de lancer la mise à niveau des VMware Tools sur chacune (à exécuter depuis un hôte ESX en shell, via vmware-vim-cmd) :

#!/bin/bash
# Mise à niveau automatique des VMware Tools

TEMPFILE=/root/temp_vmlist
RESULTFILE=/root/temp_vmupgrade

# Liste des VM (id) sur l'hôte
vmware-vim-cmd vmsvc/getallvms | grep vmx | awk '{printf("%s \n"), $1}' > "$TEMPFILE"

for a in $(cat "$TEMPFILE"); do
    VMSTATE=$(vmware-vim-cmd vmsvc/power.getstate "$a" | grep Powered | awk '{print $2}')
    echo "VM $a : etat $VMSTATE" >> "$RESULTFILE"
    echo "Mise a niveau des VMware Tools pour la VM $a" >> "$RESULTFILE"
    vmware-vim-cmd vmsvc/tools.upgrade "$a"
done

rm -f "$TEMPFILE"

Voir aussi