Accueil > VMware > prise en main de vMA
Déc/1129

Pour administrer les serveurs ESXi de façon centralisé et pour placer des scripts (comme on le faisant avant dans le Service Console), on utilise la Virtual Appliance VMware vMA (vSphere Management Assistant). Cette appliance est une Suse 11 qui embarque le package d’exécution de commande à distance vCLI basé sur l’API SDK Perl.

Les commandes disponible avec vCLI sont utilisée avec les syntaxes suivantes (en fonction d’où l’on envoie la commande):

Pour toutes les commandes, on utilise le compte « vi-admin » (complété de sudo pour quelles commandes) plutôt que le compte « root ».

Je vous propose une liste de commande pour prendre en main vMA, voici la liste:

  • Configuration initiale
  • Intégration de vMA à un domaine Active Directory
  • Enregistrement des crédentials de session
  • Enregistrer les crédentials pour les connexions rapides avec FastPath
  • Utilisation de la connexion rapide FastPath
  • Passer des commandes ESX à partir du vCenter
  • Les opérations sur les serveurs ESXi depuis vCenter
  • Passer des commandes à plusieurs serveurs ESXi en simultané
  • Monitorer à distance la performance d’un serveur ESXi
  • Sauvegarder la configuration d’un ESXi

Configuration initiale

Pour forcer le mot de passe du compte « vi-admin » malgré les contraintes de complexité, taper la commande

[[email protected] ~]$ sudo passwd vi-admin

 

Pour mettre le clavier en français, taper la commande:

[[email protected] ~]$ sudo loadkeys fr

Et pour que cela reste persistent après redémarrage de la VA, éditer le fichier de config avec la commande:

[[email protected] ~]$ sudo vi /etc/sysconfig/keyboard

Modifier la ligne Keytable pour mettre KEYTABLE= »fr.map.gz »

 

Pour modifier la TimeZone, taper les commandes suivantes:

[[email protected] ~]$ sudo rm /etc/localtime [[email protected] ~]$ sudo ln -s /usr/share/zoneinfo/Europe/Paris /etc/localtime

 

Intégration de vMA à un domaine Active Directory

Pour interroger l’appartenance à un domaine, taper la commande:

[[email protected] ~]$ sudo domainjoin-cli query
Name = vma
Domain =

La machine vMA doit être enregistrer dans le DNS et elle doit utiliser le DNS avec le bon nom. Vérifier les lignes « search » et « nameserver » dans le fichier /etc/resolv.conf.

Pour intégrer la VA à l’AD, taper avec la commande:

sudo domainjoin-cli join domain.ad administrateur
Password:
Joining to AD Domain: domain.ad
With Computer DNS Name: vma.domain.ad
[email protected]’s password:

Warning: Unknown pam module
The likewise PAM module cannot be configured for the wbem service. This services uses the ‘$ISA/pam_unix.so’ module, which is not in this program’s list of known modules. Please email Likewise technical support and include a copy of /etc/pam.conf or /etc/pam.d.

Warning: A resumable error occurred while processing a module
Even though the configuration of ‘pam’ was executed, the configuration did not fully complete. Please contact Likewise support.
SUCCESS

Renseigner le mot de passe de l’administrateur du domaine.
NB: En plus de rentrer dans le domaine, la commande ajoute l’entrée « vma.domain.ad » dans le fichier /etc/hosts locale.
Vérifier intégration au domaine avec la commande:

[[email protected] ~]$ sudo domainjoin-cli query
Name = vma
Domain = domain.ad

Redémarrer la vMA avec la commande « sudo reboot » ou sinon rafraichir la configuration avec la commande:

[[email protected] ~]$ sudo /opt/likewise/bin/lw-refresh-configuration

Vous pouvez ensuite utiliser des comptes AD pour vous connecter à la vMA. Pour cela, il faut placer le fichier « foo.keytab » dans l’emplacement « /home/local/DOMAINuser/ ».

Si votre AD est en 2003, il faut générer ce fichier de clé Kerberos, en tapant la commande suivante sur le contrôleur de domaine avec la commande:

ktpass /out foo.keytab /princ [email protected] /pass [email protected] /ptype KRB5_NT_PRINCIPAL –mapuser DOMAINadministrateur

NB: Pour sortir d’un domaine, taper la commande « sudo domainjoin-cli leave ».

Enregistrement des crédentials de session

Pour ne pas avoir à renseigner les crédentials pour chaque commande, il est possible de les enregistrer pour la session active avec le script « save_session.pl ». Pour cela taper la commande suivante:

[[email protected] ~]$ cd /usr/share/doc/vmware-vcli/samples/session/
[[email protected] ~]$  ./save_session.pl –savesessionfile /home/vi-admin/esxi-srv01 –server esxi-srv01.domain.ad –username root –password [email protected]
Session information saved.

Ensuite on tape la commande en précisant en paramètre (« –sessionfile ») le fichier de session, exemple:

[[email protected] ~]$ vicfg-nics -l –sessionfile /home/vi-admin/esxi-srv01

 

Enregistrer les crédentials pour les connexions rapides avec FastPath

Pour ajouter une connexion à un vCenter, taper la commande:

[[email protected] ~]$ vifp addserver vcenter.domain.ad –authpolicy adauth
[email protected]’s password:

Pour ajouter la connexion à un serveur ESXi, taper la commande:

[[email protected] ~]$ vifp addserver esxi-srv01.domain.ad
[email protected]’s password:

Pour vérifier la liste des serveurs ajouter comme target, taper la commande:

[[email protected] ~]$ vifp listservers -l
vcenter.domain.ad  vCenter    adpauth
esxi-srv01.domain.ad  ESXi    fpauth
esxi-srv02.domain.ad  ESXi    fpauth

NB: Si la connexion vers un serveur doit être supprimée utiliser la commande « vifp removeserver <server> ».
NB2: Pour reconfigurer le mot de passe d’authentification à un serveur, taper la commande « vifp reconfigure <server> ». Ajouter « –authpolicy adauth » pour le serveur vCenter.

Utilisation de la connexion rapide FastPath

Avant de pouvoir taper les commandes, il faut initialiser la connexion rapide pour se placer sur un serveur (target) avec la commande:

[[email protected] ~]$ vifptarget -s esxi-srv01.domain.ad
[[email protected] ~][esxi-srv01.domain.ad]$

La deuxième partie de prompt indique sur quel target on se situe. Il suffit de refaire un « vifptarget » pour changer de serveur.
On peut alors taper la commande directement sans préciser le serveur (comme si on était en local), exemple:

[[email protected] ~][esxi-srv01.domain.ad]$ vicfg-nics –l

 

Passer des commandes ESX à partir du vCenter

Après une connexion rapide sur le vCenter, il est possible d’envoyer des commandes aux serveurs ESXi. Cependant malgré la connexion FastPath, on doit de nouveau s’authentifier comme dans cette exemple:

[[email protected] ~]$ vifptarget -s vcenter.domain.ad
[[email protected] ~][vcenter.domain.ad]$ vicfg-mpath –vihost esxi-srv01.domain.ad -l
User name: administrateur
Password:

Comme l’on exécute pas les commandes depuis Windows, on doit utiliser des variables d’environnement pour simplifier les étapes d’authentification. Ces variables contiennent le nom du serveur vCenter et ces crédentials, cependant elles ne sont pas persistantes (seulement valable pour la session).
Pour enregistrer les crédentials du vCenter localement, taper les commandes suivantes :

[[email protected] ~][vcenter.domain.ad]$ export VI_SERVER=vcenter.domain.ad
[[email protected] ~][vcenter.domain.ad]$ export VI_USERNAME=administrateur
[[email protected] ~][vcenter.domain.ad]$ export VI_PASSWORD=[email protected]

Ensuite on peut taper les commandes sans être obligé de s’authentifier, par exemple:

[[email protected] ~][vcenter.domain.ad]$ vicfg-mpath –vihost esxi-srv01.domain.ad -l

 

Les opérations sur les serveurs ESXi depuis vCenter

Toujours connecter sur le vCenter en FastPath, on peut alors passer facilement des commandes d’alimentation ou de maintenance sur les serveurs ESXi avec la commande « vicfg-hostops ».
Pour redémarrer un serveur ESXi, taper la commande:

[[email protected] ~][vcenter.domain.ad]$ vicfg-hostops –vihost esxi-srv01.domain.ad –operation reboot

NB: ajouter le paramètre « -f » pour forcer le redémarrage si le serveur ESXi n’est pas en mode maintenance.
Pour éteindre un serveur ESXi, taper la commande:

[[email protected] ~][vcenter.domain.ad]$ vicfg-hostops –vihost esxi-srv01.domain.ad –operation shutdown

Pour mettre un serveur ESXi en mode maintenance, taper la commande:

[[email protected] ~][vcenter.domain.ad]$ vicfg-hostops –vihost esxi-srv01.domain.ad –operation enter

Pour sortir un serveur ESXi du mode maintenance, taper la commande:

[[email protected] ~][vcenter.domain.ad]$ vicfg-hostops –vihost esxi-srv01.domain.ad –operation exit

Pour afficher l’état de maintenance d’un serveur ESXi, taper la commande:

[[email protected] ~][vcenter.domain.ad]$ vicfg-hostops –vihost esxi-srv01.domain.ad –operation info

Il existe d’autres options à voir dans la documentation vCLI pour vicfg-hostops. Un dernier exemple, pour éteindre l’intégralité d’un cluster en forcant l’arrêt des VMs, taper la commande:

[[email protected] ~][vcenter.domain.ad]$ vicfg-hostops –cluster cluster_esxi –action poweroff –operation shutdown -f

 

Passer des commandes à plusieurs serveurs ESXi en simultané

Le petit script « mcli.pl » présent dans la vMA, pour envoyer des commandes à plusieurs serveurs ESXi en simultané.
Il se base sur FastPath et un fichier contenant les listes des serveurs sur lesquels exécuter la commande, il faut donc que les serveurs soient déjà ajouté et connecté en FastPath (« vifp addserver » et « vifp target -s ») et que les noms dans le fichier soient avec la même syntaxe que ceux utilisé par FastPath. Exemple:

[[email protected] ~]$ vifp listservers
vcenter.domain.ad  vCenter
esxi-srv01.domain.ad  ESXi
esxi-srv02.domain.ad  ESXi
[[email protected] ~]$ sudo vi serveurs
[[email protected] ~]$ cat serveurs
esxi-srv01.domain.ad
esxi-srv02.domain.ad

Ensuite en se plaçant dans le répertoire, on exécute le script en précisant le fichier liste et la commande, exemple:

[[email protected] ~]$ cd /opt/vmware/vma/samples/perl
[[email protected] ~]$ ./mcli.pl serveurs vicfgnics -l

Et vu que la partie FastPath peut être longue quand on a beaucoup de serveurs, il y a aussi un script « bulkAddServers.pl » pour créer et connecter automatiquement tous les serveurs ESXi en FastPath depuis ce même fichier. Exemple:

[[email protected] ~]$ cd /opt/vmware/vma/samples/perl
[[email protected] ~]$ ./bulkAddServers.pl –filename serveurs
Do you want to use the same password for all of the hosts (yes/no): yes
Enter common root password:
All Targets Added Successfully.
[[email protected] ~][esxi-srv02.domain.ad]$

 

Monitorer à distance la performance d’un serveur ESXi

Toujours en étant connecté en FastPath sur un serveur ESXi, il est possible d’avoir le moniteur de performance (ESXTOP) à distance avec la commande « Resxtop ». Exemple:

[[email protected] ~]$ vifp target -s esxi-srv01.domain.ad
[[email protected] ~][esxi-srv01.domain.ad]$ resxtop

On retrouve ensuite le fonctionnement normal d’ESXTOP (documentation).

Sauvegarder la configuration d’un ESXi

Il est possible de sauvegarder/restaurer/réinitialiser la configuration d’un serveur ESXi à partir de vMA avec la commande « vicfg-backup » avec les commandes suivantes:
Pour sauvegarder localement (dans le vMA) la configuration d’un serveur ESXi, taper la commande:

[[email protected] ~]$ vicfg-cfgbackup –server esxi-srv01.domain.ad –s /tmp/esxi-srv01.cfg
Saving firmware configuration to /tmp/esxi-srv01.cfg …

Pour restaurer la configuration à partir du fichier, taper la commande:

[[email protected] ~]$ vicfg-cfgbackup –server esxi-srv01.domain.ad –l /tmp/esxi-srv01.cfg
The restore operation will reboot the host.
Type ‘yes’ to continue:
yes
Uploading config bundle to configBundle.tgz …
Performing restore …

NB: Si ne numéro de build de l’ESXi ne correspond pas à la version de la sauvegarde fichier, il faut ajouter le paramètre « -f » pour forcer la restauration.
NB2: Pour ne pas avoir de message demandant la confirmation de restauration, il faut ajouter le paramètre « -q ».
Pour faire une restauration initiale (mode usine) d’un serveur ESXi, taper la commande:

[[email protected] ~]$ vicfg-cfgbackup –server esxi-srv01.domain.ad –r
The reset operation will reboot the host.
Type ‘yes’ to continue:
yes
Entering maintenance mode …
Exiting maintenance mode …

  1. 30/12/2011 à 02:04 | #1

    J’avoue que depuis la disparition du vilogger dans la vMA 5, je ne vois plus d’interet à part pour ghettoVCB (http://communities.vmware.com/docs/DOC-8760) ou vSphere Health Check Report (http://communities.vmware.com/docs/DOC-9842)

  2. 30/12/2011 à 02:40 | #2

    @NiTRo
    Il est vraie que c’est orienté pour mettre en place des scripts plutot bash ou perl (comme ceux de vGhetto). On peut faire autant voir plus en PowerCLI, mais les linuxiens préfèreront vMA ou vCLI.

  3. olnet
    30/12/2011 à 16:35 | #3

    vilogger disparait, mais tu peux toujours instancier un syslog dans la vma …

  4. 30/12/2011 à 16:48 | #4

    je préfère de loin un rsyslog ou graylog2 et surtout vilogger n’était pas un syslog à proprement parler.

  1. Pas encore de trackbacks