Sauvegarde des configurations Switches des Blade Center

mai 21, 2007  |   Blog   |     |   Commentaires fermés sur Sauvegarde des configurations Switches des Blade Center

IBM BladeCenter 4-GB Ethernet ModuleLes « BladeCenter 4-Port GB Ethernet Switch Module » sont des switches présents (au nombre de 1 ou 2) dans les Blade Center.

Ils disposent chacun de 18 interfaces :

  • 4 ports Gigabit Externes
  • 14 ports Gigabits Internes correspondant à une interface de chaque blade (ou lame)

Visualisation des ports externes et interne du switch 4-GB IBM BladeCenter
Les 2 switches n’ont aucun mode commun, si ce n’est l’interface de management qui permet une administration out-of-band via le module d’administration du chassis.

Si on veut faire de la haute-disponibilité réseau sur les serveurs lames, il faut au niveau du serveur réaliser un bonding ou teaming des 2 interfaces internes qui sont réliées au fond de panier de chacun des 2 switches.

Par l’interface Web, il est possible de déclencher la sauvegarde TFTP de la configuration du switch.

Interface Web de sauvegarde de la configuration par TFTP

Pour les équipements Cisco, on préfèrera utiliser la MIB propriétaire permettant de fournir ces éléments et de déclencher le téléchargement par des requêtes SNMPset. Afin de réaliser cela automatiquement (i.e de façon scriptée), nous avons examiné la séquence HTTP des requêtes GET et POST aboutissant à cette sauvegarde : pour cela nous utilisons l’excellent outil HTTPWatch.

Nous arrivons ainsi à réaliser une sauvegarde via curl (en 1 seule ligne) :


curl --user USERID:PASSW0RD
--data-ascii "FormSubmit_HiddenCommand=1&ConfigLog_File=1
&UploadConfiguration_IPAddr=10.0.1.99
&UploadConfiguration_FileName=swibm.conf
&FormSubmit_StartUploadCfgFile=++Start++"
--proxy monproxy:3128
http://10.0.1.141/Forms/UploadConfiguration_Set
--output /dev/null
--verbose

On notera que le login « USERID » et le password « PASSW0RD » (avec le chiffre 0) sont les « crédentials » par défaut (configuration usine), que « 10.0.1.99 » est le serveur TFTP, que le nom du fichier à sauvegarder est « swibm », que le proxy utilisé est « monrpoxy » (port 3128) et que l’adresse IP du switch IBM est « 10.0.1.141 ».

Il ne reste donc plus qu’à scripter cette requête HTTP en PERL (et introduire une boucle afin de traiter une liste de switches) :


#!/usr/bin/perl
use LWP::UserAgent;
## A decommenter en mode debug
##use LWP::Debug qw(+);

my $ua = LWP::UserAgent->new;
my $req= HTTP::Request->new;

my $proxy="http://frigo:3128";
my $uri ='/Forms/UploadConfiguration_Set';
my $tftpserver='10.0.160.99';
my $login='USERID';
my $password='PASSW0RD';
## Tableau contenant les @IPs des switches à sauvegarder
my @switches=('10.0.1.141','10.0.1.142');

## A decommenter si un proxy est utilisé
##$ua->proxy('http',$proxy);

$|=1;

foreach $switch (@switches) {

$filename=$switch.'.conf';

$req= HTTP::Request->new(POST => 'http://'.$switch.$uri);
$req->authorization_basic('USERID','PASSW0RD');

$req->content_type('application/x-www-form-urlencoded');
## En une seule ligne : attention pas de retour chariot !!
$req->content('FormSubmit_HiddenCommand=1&ConfigLog_File=1&
UploadConfiguration_IPAddr='.$tftpserver.'&
UploadConfiguration_FileName='.$filename.'
&FormSubmit_StartUploadCfgFile=++Start++');

##my $res = $ua->request($req);
print "Sauvegarde en tftp de $switch \
sur $tftpserver (fichier $filename)...";
$res = $ua->request($req);
## A decommnenter en mode debug
## print $res->as_string;

# Check the outcome of the response
if ($res->code eq "303") {
print "OK\n";
}
else {
print "NOK :";
print $res->code."\n";
}
};

A l’exécution on obtient :

# ./backupIBM.pl
Sauvegarde en tftp de 10.0.1.141 sur 10.0.1.99 ...OK
Sauvegarde en tftp de 10.0.1.142 sur 10.0.1.99 ...OK

En conclusion nous pouvons remarquer :

  • que le téléchargement n’implique pas la sauvegarde en NVRAM de la configuration : en clair, c’est la startup-config et non la running-config qu’on télécharge
  • que cette méthode est générique et peut s’appliquer finalement à n’importe quel équipement ou scénario

Les commentaires sont fermés.