Administrez votre infrastructure VMware depuis votre mobile

Si comme moi vous avez déjà tenté de vous connecter au service WEB d’administration d’une infrastructure VMware vSphere depuis un terminal mobile (un iPhone par exemple) vous avez sans doute été déçu : ça ne marche pas ! Et pour cause, le framework javascript utilisé est bien trop lourd et complexe pour ces petits navigateurs qui équipent nos téléphones. Il existe pourtant une solution directement développée par VMware dans son laboratoire d’innovations. Le projet existe depuis 2009 et il est régulièrement mis à jour. Toutefois VMware fait peu de communication à son sujet. Il faut dire qu’administrer un serveur ESXi depuis son mobile ça peut sembler un gadget réservé aux geeks. Pour VMware c’est plus un « proof of concept » qu’un produit à but commercial. Il fonctionne, il est simple et il est gratuit, c’est vCenter Mobile Access (vCMA pour les intimes).

Prérequis

Avec ce petit outil vous pouvez vous connecter directement depuis le navigateur internet de votre mobile à une interface d’administration simplifiée d’un serveur ESX/ESXi ou à un vCenter.

L’outil se présente sous forme d’une « virtual appliance « . Comprenez que c’est une petite machine virtuelle pré-configurée que vous n’avez qu’à installer sur un de vos serveurs ESX/ESXi. En réalité c’est un linux CentOS 5 avec un serveur web apache-coyote et une petite application java qui utilise les API VMWare pour se connecter à votre infrastructure.

Les ressources nécessaires pour cette machine virtuelles sont faibles :

  • 1 vCPU,
  • 512 Mo de RAM que l’on pourra baisser à 128 Mo après la configuration
  • 2 Go de disque
  • 1 interface réseau

Vous pouvez administrer directement un serveur ESXi avec vCMA mais gardez bien à l’esprit que l’application utilise les API VMWare pour interagir avec le serveur. Avec une licence gratuite de ESXi l’API est en « lecture seule » : par exemple vous pouvez consulter l’état d’une machine mais vous ne pouvez pas agir dessus (démarrer, stopper, rebooter une VM, prendre un snapshot, …) ce qui limite beaucoup l’intérêt de cet outil.

Installation

Commencez par télécharger l’application sur le site dédié au vCenter Mobile Admin chez VMWare Labs. Optez pour la version OVF qui permet une installation simplifiée sous ESX/ESXi ou alors la version ZIP pour la faire tourner sous VMWare Player.

Pour ma part j’utilise VMWare ESXi 4.1 U1, il faut certainement apporter quelques petites adaptations à la suite pour le VMWare Player.

La virtual appliance est utilisable directement à son premier lancement. Pour accéder à l’interface de l’application ouvrez un navigateur internet à l’URL http://aa.bb.cc.dd/vim où aa.bb.cc.dd est l’interface IPv4 de la machine virtuelle (affichée sur la console).

vCenter Mobile Access - Console

vCenter Mobile Access – Console

Toutefois cette machine virtuelle n’est pas très bien configurée à mon goût et j’y apporte les modifications de paramétrie suivantes principalement dans le but de réduire son emprunte au niveau des ressources de l’hôte :

Clavier AZERTY

Par défaut la machine virtuelle est configurée en clavier QWERTY, mon clavier étant AZERTY français voici la manipulation à faire pour pouvoir utiliser correctement la console :

  • loguez-vous en tant que root sur la console ou via ssh à l’adresse IP indiquée sur la console. Le mot de passe initial est « vmware« . Rappelez-vous que sur la console le clavier est en QWERTY pour taper le mot de passe. Je vous conseille d’utiliser un client ssh.
  • Si sous êtes sur la console, tapez la commande « loadkeys fr » pour passer en clavier français
  • Modifiez le fichier /etc/sysconfig/keyboard et remplacer KEYTABLE= »us » par KEYTABLE= »fr » à la seconde ligne.

Réseau

Vous pouvez utiliser la console pour configurer le réseau en DHCP ou en adresse IP fixe. Notez que IPv6 est pré-activé en autoconfiguration (stateless) sur l’OS de cette machine. Le nom de machine a peu d’importance.

Mise à jour du système

La distribution installée est une CentOS 5.2 déjà ancienne, pour passer à la révision la plus récente vous aurez besoin d’une connexion internet avec un bon débit.

Connectez-vous en tant que root pour mettre à jour le système. La commande à taper est :

yum update

Confirmez la demande de mise à jour. Juste après le téléchargement des paquets, l’outil de mise à jour demandera votre autorisation pour installer un nouveau certificat de signature des paquets, répondez « yes« 

Vous devez également installer perl. Cet outil sera indispensable pour la mise à jour des VMWare Too. Tapez :

yum install perl

L’application vCenter Mobile Access utilise des pruduits qui exigent des versions bien précises de librairies. Ces librairies ayant été mises à jour, les produits ne démarreront plus. Pas de panique, les librairies sont bien là mais leur version à légèrement évolué. Un lien symbolique permet de débloquer la situation.

cd /lib
ln -s libssl.so.6 libssl.so.0.9.8
ln -s libcrypto.so.6 libcrypto.so.0.9.8
ldconfig

Mise à jour des VMware Tools

Stoppez le système proprement car il va falloir maintenant modifier à froid les paramètres de la machine virtuelle. Tapez :

shutdown -h now

Une fois la machine stoppée, ajoutez-lui un lecteur virtuel de CD-ROM en laissant les paramètres par défaut (ide 0:0).

Mettez également à niveau le hardware virtuel de cet VM pour bénéficier des meilleures performances apportées par votre version de ESXi (utilisez le menu du bouton droit de la souris sur la VM).

Démarrez la machine virtuelle ainsi modifiée puis connectez vous à la machine sur la console (évitez ssh car il va se produire une coupure réseau dans la suite).

Une fois connecté root à la machine, stoppez les vmware tools :

service vmware-tools stop

Supprimez manuellement les fichiers des vmware tools :

rm -rf /etc/vmware-tools
rm -rf /usr/lib/vmware-tools

Sur le client vSphere sélectionnez dans le menu déroulant : VM/Invité/Installer ou Mettre à niveau les outils VMware. Ceci va insérer le CDROM virtuel contenant l’installation des VMware Tools pour Linux.

Pour installer manuellement les VMware Tools sous Linux depuis la VM :

mkdir /mnt/cdrom
mount /dev/hda /mnt/cdrom
cd /tmp
tar -xzf /mnt/cdrom/VMwareTools*
cd vmware-tools-distrib
./vmware-install.pl

Répondez à chaque question en appuyant sur la touche entrée, conservez toutes les valeurs proposées par défaut. Une fois l’installation terminée vous pouvez nettoyer :

cd /tmp
rm -rf vmware-tools-distrib

Optimisation

Supprimez le noyau Linux d’origine puisqu’il a été mis à jour :

yum remove kernel-2.6.18-92.el5
cd /lib/modules
rm -rf 2.6.18-92.el5

Certains services qui accompagnent la virtual appliance ne sont pas utiles. Pour éviter de consommer des ressources je les désactive. Le service web permet de configurer l’IP de la machine, vous pouvez le faire aussi par la console, pas la peine de garder les deux méthodes.

chkconfig vaos off
chkconfig lighttpd off

Editez le fichier /etc/fstab et supprimez la ligne qui commence par .host (c’est la dermière ligne), elle n’est pas utile dans cette configuration et provoque un message d’erreur.

Éditez le fichier /boot/grub/menu.lst et ajoutez l’option « divider=10 » aux paramètres du noyau linux. Ceci permet à la machine virtuelle d’être moins gourmande en ressources CPU quand elle est au repos :

default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-194.32.1.el5)
    root (hd0,0)
    kernel /vmlinuz-2.6.18-194.32.1.el5 ro root=LABEL=/ divider=10
    initrd /initrd-2.6.18-194.32.1.el5.img

Stoppez la machine virtuelle

shutdown -h now

Retirez le lecteur de CDROM devenu inutile de la liste du matériel de la machine virtuelle. Réduisez la mémoire allouée à la VM. Avec 128Mo c’est assez. Vous pouvez également supprimer la carte réseau (de type flexible) et en recréer une de type vmxnet3 pour optimiser la gestion du réseau.

Lancez la machine, cette fois c’est bon. L’installation est terminée !

Utilisation

L’interface est simple et intuitive. Vous retrouverez rapidement toutes les notions avec lesquelles vous avez l’habitude de travailler dans votre infrastructure vSphere. L’outil est réservé aux opérations courantes, n’espérez pas modifier des paramètres avancés du serveurs ou créer des switchs virtuels avec cet outil. Vous pouvez prendre un snapshot d’une VM, revenir au précédent snapshot mais vous ne pouvez pas les détruire ou revenir à un snapshot plus ancien.

J’ai testé et utilisé avec succès cette interface avec un téléphone portable Nokia sous Symbian S60v3 et avec safari sous iPhone/iPod Touch. les pages sont simples, pas de frames, pas de javascript, pas d’ajax. C’est rapide et efficace. L’interface utilise des formulaires HTML de petite taille pour éviter de scroller.

vCenter Mobile Access - Login sur Symbian

vCenter Mobile Access – Login sur Symbian

Il existe une documentation officielle mais elle est difficile à trouver sur le site de VMware, à tel point que je me demande si en réalité elle n’a tout simplement pas été supprimée. Je l’avais téléchargée du temps où elle était libre d’accès, je ne sais pas dans quelle mesure je suis autorisé ou non à vous la mettre à disposition.

L’interface de l’outil est accessible à l’URL : http://aa.bb.cc.dd/vim/aa.bb.cc.dd est l’adresse IP ou le nom de votre machine virtuelle hébergeant l’outil. La liaison n’étant pas cryptée, je pense que certains auront des scrupules à l’utiliser, en effet l’interface demande en premier le nom d’un serveur vCenter ou ESX/ESXi ainsi qu’un nom de compte et un mot de passe. Pour ma part j’utilise un reverse proxy qui me permet d’y accéder au service en HTTPS depuis l’internet.

vCenter Mobile Access - Accueil sous Symbian

vCenter Mobile Access – Accueil sous Symbian

Une fois identifié vous arrivez sur un menu vous permettant de choisir aisément le type de tâche que vous souhaitez réaliser. Des raccourcis en bas de page vous permettent de revenir rapidement à ce menu à tout moment de la navigation.

Passé un délai d’inactivité, votre session est détruite, le nom du serveur et l’utilisateur sont mémorisés pour une reconnexion mais il faudra saisir à nouveau le mot de passe (ce qui n’était pas le cas dans les versions antérieures de vCMA où même le mot de passe était mémorisé). Si toutefois vous souhaitez retrouver ce comportement vous pouvez éditer le fichier /usr/lib/vmware/mobile/tomcat/apache-tomcat-6.0.28/webapps/vim/WEB-INF/classes/client-config.xml et modifier le paramètre « credentialCacheMode » à la valeur CACHE_SERVER_USERNAME_PASSWORD. C’est également dans ce fichier que vous pouvez activer ou désactiver des fonctionnalités de vCMA.

vCenter Mobile Access - Contrôle de VM sous Apple iOS

vCenter Mobile Access – Contrôle de VM sous Apple iOS

Il est ainsi possible d’interagir avec la machine virtuelle mais pas d’afficher la console. Il existe des solutions pour cela comme par exemple utiliser un client VNC ou RDP selon l’OS.

A noter que les essais qui sont décrits ici sont fait sur un serveur ESXi 4.1 U1 de test. Lors de l’administration d’un vCenter vous disposez d’actions supplémentaires telles que la possibilité d’initier un déplacement à chaud de VM entre deux hosts (vMotion) si votre licence vous le permet.

2 réflexions sur « Administrez votre infrastructure VMware depuis votre mobile »

  1. Exellent article.
    J’ai un probléme de config réseau sur Vcma.
    Esxi 4.1 installé un serveur hebergé Dedibox avec 2 IPfailover.
    J’ai bien saisie l’adresse MAC pour cette VM ainsi que la config suivante :

    – IP address : 88.190.238.XXX
    – Netmask : 255.255.255.255
    – Gateway : 88.190.238.1
    – Proxy : rien
    – DNS : 88.191.254.60 et 70

    le Ping ne fonctionne pas non plus !

    tracert http://www.google.fr
    http://www.google.fr : Temporaty failure in name resolution
    Cannot handle « host » cmdline arg ‘www.google.fr’ on position 1 (argc 1)

    en essayant avec un tracert l’IP j’ai : Network is unreachable !!

    par contre au boot j’ai un message d’erreur :
    1/Starting vaos : Waiting for network ….. Host name has been set to localhost.localdom FAILED

    2/Mounting other filesystem : VMware hgfs is disabled in the host
    error : cannot mount filesystem : Protocol error FAILED

    une idée ??

    • Le netmask 255.255.255.255 n’est pas un netmask valable pour un réseau. Vous ne pourrez même pas atteindre le routeur. Vérifiez ce que vous a donné votre opérateur dédibox, c’est peut-être 255.255.255.252

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *