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


Kommentar hinzufügen
znilwiki freut sich über alle Kommentare. Sofern du nicht anonym bleiben möchtest, registriere dich bitte oder melde dich an.