VMware ESXi Single Server, free ESXi, VMware vSphere Hypervisor 4.1 ou même VMware vSphere 4.1 free edition, quelque soit le nom qu'on lui donne, possède des fonctionnalités limitées. En particulier, comment lui appliquer les patches de sécurité ?

ESXi Free edition, la version gratuite de l'hyperviseur de VMware. Les fonctionnalités proposées sont simples, mais efficace !

VMware propose des patches correctifs et des patches de sécurité, mais, il faut appliquer chaque patch, en ligne de commande avec l'outil vCLI : vihostupdate.

J'ai trouvé des informations sur cet article de la VMware Community : How to Patch and Update ESXi 4.1 Free Edition.

C'est un peu long et compliqué, j'ai réalisé un petit script pour automatiser une partie des traitements, pour appliquer un patch à VMware vSphere Hypervisor 4.1

Voilà l'ordre à suivre :

  1. télécharger les patches sur le site VMWare
  2. arrêter toutes les VMs de la machine à patcher
  3. placer l'hyperviseur VMware en mode maintenance
  4. copier le script dans un répertoire
  5. créer un sous-répertoire patch
  6. copier mon script Perl dans répertoire
  7. exécuter le script Perl avec le nom de la machine ESXi à patcher

#!/usr/bin/perl -w

use strict;

my $dir = "patch/";
opendir my $dh, $dir || die "can't open dir $!";
my @filesList = readdir($dh);
closedir $dh;
foreach my $file (@filesList) {
  unless ( ($file eq ".") || ($file eq "..") ) {
    my @cmd = `vihostupdate --server $ARGV[0] --username root --password ******* -b patch/$file -l`;
    for my $i(2..$#cmd) {
      my $patch=(split( /\s/, $cmd[$i]))[0];
      print "Patching $ARGV[0] with patch $patch from file $file\n";
      `vihostupdate --server $ARGV[0] --username root --password ******* -i -b patch/$file -B $patch`;
      }
    }
}

Si vous avez des informations complémentaires, elles sont les bienvenues.