IBM SVC Host-Mapping von einem Host zu einem anderen kopieren per Batch

Aus Znilwiki
Wechseln zu: Navigation, Suche

Problem

Ich hatte hier 2 Standorte mit Hosts die alle die LUNS des Standortes gegenüber haben sollten - die Host an Standort A also alle LUNS vom Standort B dazu und umgekehrt.

Bei der Suche nach Inspiration fand ich das hier: http://christian.weblog.heimdaheim.de/2009/10/11/ibm-svc-copy-vdisk-host-mapping-from-one-host-to-another/
Prima. Nur hatte ich keine Linux-Hosts beim Kunden sondern nur Putty (zum Glück mit plink.exe) und was Windows sonst so bietet - also BATCH! Deshalb habe ich "mal eben" das Linux-Bash-Script in ein Windows-Batch-Script übersetzt.



Important.png
Hinweis: Die Anleitung ist für den IBM SVC. Das ganze funktioniert aber auch mit der V3700 / V5000 und V7000 - allen Systemen die auf dieser Software/Firmware basieren

Vorbereitung

Kopiert ein ein Verzeichnis die plink.exe
Diese könnt Ihr hier herunterladen: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Ich nehme immer den Windows Installer - da ist alles dabei.
Dann müsst Ihr euch mindestens einmal per puTTY erfolgreich mit dem SVC verbinden - und die Schlüsselwarnung bestätigen.

Nachdem Ihr also die plink.exe
in ein Verzeichnis eurer Wahl kopiert habt,
erstellt Ihr im gleichen Verzeichnis eine neue Datei:

SVCCopyMappings.cmd

mit folgendem Inhalt:

@echo off
echo SVC Copy Mappings
echo QuellHost: %1
echo Zielhost : %2
echo.
 
SET SVCIP=192.168.70.120
SET SVCBENUTZERNAME=superuser
SET SVCPASSWORT=passw0rd
SET TEMPDATEI=%TEMP%\SVCXopyMapping-tmp.txt
 
plink -batch %SVCBENUTZERNAME%@%SVCIP% -pw %SVCPASSWORT% "lshostvdiskmap -nohdr -delim : %1" > %TEMPDATEI%
If ERRORLEVEL 1 (
	echo Fehler beim Ausfuehren von plink.exe! Pruefen Sie die Angaben im Script!
	GOTO ENDE
)
 
For /F "eol=# tokens=1-8 delims=:" %%a in (%TEMPDATEI%) do call :COPYMAPPINGS %%c %%e %SVCIP% %SVCBENUTZERNAME% %SVCPASSWORT% %2
 
GOTO ENDE
 
 
 
:COPYMAPPINGS
	REM echo vdisk_scsi_id: %1
	REM echo vdisk_name   : %2
	REM echo SVC Adresse  : %3
	REM echo SVC Benutzer : %4
	REM echo SVC Passwort : %5
	REM echo Zielhost     : %6
 
	plink -batch %4@%3 -pw %5 "lshost %6" > NUL:
 
	If ERRORLEVEL 1 (
		echo Zielhost %6 existiert nicht!
		GOTO :EOF
		)
 
	plink -batch %4@%3 -pw %5 "mkvdiskhostmap -force -host %6 -scsi %1 %2"
 
	GOTO :EOF

 
 
REM #######################################################################################################
:ENDE
del %TEMPDATEI%



Anpassung

Ihr müsst bei euch nun die Zeilen

SET SVCIP=192.168.70.120
SET SVCBENUTZERNAME=superuser
SET SVCPASSWORT=passw0rd

anpassen.



Kopieren der Mappings

Ruft die Datei mit

SVCCopyMappings.cmd QuellHost ZielHost

auf - das ist schon alles!



Kommentare

Kommentare


Kommentar hinzufügen:
Gebe hier einen Kommentar ein. Du kannst einen beliebigen Namen oder eine Email-Adresse als Namen angeben.

Wenn du dich einloggst wird automatisch dein Benutzername genommen.
Du kannst KEINE Links hier posten - das wurde wegen anhaltender Werbung deaktiviert. Sobald ein '''http://''' im Text vorkommt wird der Kommentar verworfen Alle anderen Steuerzeichen oder Funktionen wie < br > werden ausgefiltert - zum Posten von Quelltexten ist diese Funktion hier nicht geeignet.

Falls du dringendere Fragen hast kannst du auch das Support-System von znil.net nutzen unter support.znil.net