K1dr3k


Le blog d’un passionné de Linux et des produits OpenSource

Vmware VSphere Client on IPAD

Récemment je me suis installé un serveur ESXi à la maison, et je me suis dit, pourquoi ne pas joindre l’util à l’agréable et utiliser mon IPAD pour accéder à mon architecture.
Je me souvenais que Vmware avait parlé fut un temps d’une appli. Je me suis donc mis à rechercher sur le net et je suis tombé sur « VSphere Client on IPAD » accessible sur l’appstore gratuitement.

Tout d’abord je tiens à préciser qu’il ne suffit pas d’installer l’application pour accéder à son architecture. Il faut utiliser l’appliance VCMA ( VMware vCenter Mobile Access ). Il s’agit d’après ce que je peux y voir, d’une appliance qui fait office de proxy pour collécter les informations de votre infrastructure, puis de vous les formater pour un affichage mobile.

Read the rest of this entry »

Vmware – Vsphere Vcenter Server — Changer le répertoire de LOGS par défaut

Voici une petite astuce pour modifier le répertoire utilisé pour les logs de VCenter Server.

Tout d’abord, rechercher le fichier vpxd.cfg sur le disque. Ne pas oublier d’activer la recherche des fichiers cachés.

Une fois le fichier trouvé, effectuer une copie de sauvegarde au cas ou. Cela prévient des mauvaises manip, et permet de restaurer assez rapidement une version convenable du fichier de configuration.


Ensuite éditer le fichier, trouvé précédemment.

<config>
  <log>
    <directory>G:\Vcenter_server_LOGS</directory>
  </log>
  <vpxd>
    ....
  </vpxd>
</config>

Et enfin, il ne reste plus qu’à redémarrer le service « VMware VirtualCenter Server », et normalement vous devriez obtenir de nouveaux fichiers de log dans le répertoire nouvellement crée.

Vmware – Guest Os – Boot sur une clé usb

Qui n’a jamais testé de démarrer à partir d’une machine virtuelle sur un OS installé sur une clé USB ?
Voici une petite astuce qui vous permettra de contourner ce problème.
Il vous suffit de télécharger cet ISO : plpbt – Boot Manager

Ce projet permet de charger l’ISO comme un CD, puis de proposer à l’utilisateur à travers un menu de charger un OS contenu sur un média amovible.


Téléchargement :

http://www.plop.at/en/bootmanagerdl.html


Et au démarrage, vous devriez obtenir le résultat suivant :

VMWARE – ESXi / ESX 4 — Monitoring via Munin


Comme vous avez pu le constater, j’utilise énormément MUNIN pour le monitoring de mes systèmes.
Ayant de plus en plus de système virtualisé, je me suis donc empressé de faire un petit plugin munin permettant de superviser le CPU et RAM de mes ESXi. En effet, VirtualCenter Server fait cela très bien, mais je trouve l’interface un peu lourde, alors qu’une page sur un navigateur comprenant tous les graphs de vos hyperviseurs c’est plus simple d’accès.


Ce script sera implémenté dans une installation de MUNIN déjà existante. je ne vais pas revenir sur ces étapes qui sont détaillées dans un de mes précédents POST.





POST ACTIONS


Installation des Pré-requis



Nous allons commencer par installer les paquets pré-requis pour utiliser des scripts Perl couplés aux librairies Vmware (VmwarePerlToolKit).

# apt-get install libxml-libxml-common-perl libxml-libxml-perl libclass-methodmaker-perl libcrypt-ssleay-perl



Récupération des sources sur le site de vmware

Téléchargement des VIPerlToolKit

# tar xvzf VMware-vSphere-SDK-for-Perl-4.0.0-161974.i386.tar.gz
# cd vmware-vsphere-cli-distrib/
# ll
# ./vmware-install.pl


Plugins pour le monitoring CPU/RAM d’un ESXi ou ESX

Nous allons créer le plugin, pour ce faire vous allez créer le fichier suivant : /usr/share/munin/plugins/esxi_

et y insérer le code ci-dessous :

#!/usr/bin/perl -w
use strict;
use warnings;
use lib "/usr/lib/vmware-vcli/apps/";
use VMware::VIRuntime;
use VMware::VILib;
use AppUtil::VMUtil;
use AppUtil::HostUtil;
my $codeRetour = 0;
my $hostIP = $0;
$hostIP =~ s/esxi_//;
$hostIP =~ s/^\/etc\/munin\/plugins\///;
my $username = Opts::set_option ('username',"root");
my $password = Opts::set_option ('password'," ");
my $test= Opts::set_option ('url',"https://$hostIP/sdk/webService");
my $critical = 90;
my $warning = 70;
if ( exists $ARGV[0] and $ARGV[0] eq "config" ) {
  # Affichage de la configuration
  print "graph_title ESXi : ".$hostIP." \n";
  print "graph_args --base 1000 -l 0 \n";
  print "graph_vlabel % \n";
  print "graph_category ESXi \n";
  print "graph_scale no \n";
  print "mem.label MEM used \n";
  print "mem.draw AREA \n";
  print "mem.colour CC7700 \n";
  print "cpu.label CPU used \n";
  print "cpu.colour 000000 \n";
#  print "cpu.draw LINE2 \n";
#  print "cpu.draw AREA \n";
} else {
## Connexion au HOST
  Util::connect();
  get_host_cpu_info();
  get_host_mem_info();
## Deconnexion au HOST
  Util::disconnect();
}
exit $codeRetour;
sub get_host_mem_info {
  my %filter;
  $filter{'summary.config.vmotionEnabled'} = 'false';
  $filter{'runtime.inMaintenanceMode'} = 'false';
  $filter{'name'} = Opts::get_option ('host');
  my $host_views = HostUtils::get_hosts('HostSystem',
                                  );
  if ($host_views) {
    foreach (@$host_views) {
      my $host_view = $_;
      my $PercentMemoryUsed = $host_view->summary->quickStats->overallMemoryUsage * 1024 * 1024 * 100 / $host_view->hardware->memorySize;
      printf "mem.value %.0f\n",$PercentMemoryUsed;
    }
  }
}
sub get_host_cpu_info {
  my %filter;
  $filter{'summary.config.vmotionEnabled'} = 'false';
  $filter{'runtime.inMaintenanceMode'} = 'false';
  $filter{'name'} = Opts::get_option ('host');
  my $host_views = HostUtils::get_hosts('HostSystem'
                                  );
  if ($host_views) {
    foreach (@$host_views) {
      my $host_view = $_;
      my $percentCpuUsed = $host_view->summary->quickStats->overallCpuUsage * 100000000/ ($host_view->hardware->cpuInfo->hz * $host_view->hardware->cpuInfo->numCpuCores);
      printf "cpu.value %.0f\n",$percentCpuUsed;
      if ( $percentCpuUsed > $critical ) {
        $codeRetour = 2;
      } elsif ( $percentCpuUsed > $warning && $codeRetour eq '0' ) {
        $codeRetour = 1;
      }
    }
  }
}



Mise en place du plugin

# cd /etc/munin/plugins/
# ln -s /usr/share/munin/plugins/esxi_ /etc/munin/plugins/esxi_${IPHOST}

Ajout des autorisations nécessaires pour que munin puisse lancer le script

# vi /etc/munin/plugin-conf.d/munin-node
-
[esx*]
user root

Il ne reste plus qu’à redémarrer le service munin-node afin de prendre en compte le plugin.

# /etc/init.d/munin-node restart

Vous devriez obtenir un résultat comme ci-dessous.

Note : ce plugin est aussi bien compatible avec les ESXi qu’avec les ESX.

Vmware ESXi35 – The parent virtual disk has been modified since the child was created

Que c’est moche de lancer un migrate le weekend et le lundi matin lors du redémarrage de la vm se retrouver avec un beau message d’erreur « The parent virtual disk has been modified since the child was created ».
Là on se dit que la semaine va être longue…et moche…


Après quelques recherches sur le web, on se rend vite compte que de nombreux administrateurs ont eu le même problème mais que peu d’entre eux ont trouvé la solution…
Heureusement le post très intéressant d’un blog attire votre attention « recovering-vmware-snapshot-after-parent-changed« , et une lueur dans le ciel apparaît, OUF..


C’est en lisant cet article que j’apprends notamment, que le fichier .vmdk de la machine virtuelle a un identifiant unique qui est repris dans le fichier vmdk du snapshot. Cet identifiant se retrouve sous forme de variable dans les fichiers précédemment évoqués, et ils doivent concorder pour que le snapshot sache quel est son vmdk parent ( d’où vient le message d’erreur ).


 

1 – Récupération du CID (identifiant) du vmdk de la machine virtuelle

head --lines=20 {base parent vmdk path}
-
...
CID=94..... <-- à récupérer pour comparer avec le parentCID du snapshot
...


 

2 – Vérification du parentCID (CID du vmdk principal) présent dans le vmdk du snapshot

vi ma-vm-00001.vmdk
CID=e397..
parentCID=92... <-- à modifier

Si les deux identifiants ne correpondent pas, vu l’erreur ce qui est tout à fait normal, il suffit de remplacer le paramètre parentCID par le CID du disque virtuel.
Ceci fait, il ne nous reste plus qu’à redémarrer la vm, et normalement, c’est reparti comme en l’an 40.


Source :

http://driveactivated.com/blog/archive/2007/11/06/recovering-vmware-snapshot-after-parent-changed.aspx

Page optimized by WP Minify WordPress Plugin