EMC Networker Tape Performance Solaris 10

Zunächst einmal sollte man prüfen welcher Treiber für Tape-Laufwerke benutzt wird. Standardmäßig ist das der st-Treiber, IBM liefert aber hier auch alternativ einen eigenen (bei dem z.B. Multipathing möglich ist). Im Treiber sollten die optimalen Einstellungen für den verwendeten Laufwerkstyp hinterlegt sein oder bei Bedarf entsprechend angepaßt werden. Wichtig ist hier u.a., daß der Treiber auf eine variable blocksize und die record size nicht auf 64k begrenzt eingestellt ist.

Bei bereits konfigurierten Tapedrives kann die Einstellung folgendermaßen ausgelesen werden:

root@xyz # mt -f /dev/rmt/1cbn config

“HP Ultrium 3″, “HP Ultrium LTO 3″, “CFGHPULTRIUMLTO3″;

CFGHPULTRIUMLTO3 = 2,0x3B,0,0×18619,4,0×42,0×42,0×44,0×44,3,60,1200,600,1200,600,600,18000;

Die Werte sollten mit den Empfehlungen vom Hersteller des Tapedrives verglichen werden. In diesem Fall handelt es sich um HP LTO3 drives in einer Sun/STK SL500. HP liefert hier dazu die technischen Daten.
Wie man unten sieht ist die Empfehlung von HP nahezu identisch wie der zuvor per mt ermittelte Wert.
ULTRIUM3 = 2,0x3B,0,0×18659,4,0×44,0×44,0×44,0×44,3, 60,1200,600,1200,600,600,18000;
Laut o.g. Parametern ist die blocksize auf variabel gesetzt, die Variable record size ist nicht auf 64 KB begrenzt.

Sun liefert für viele eigene (OEM-) Produkte bereits passende Voreinstellungen im st-Treiber mit. Diese Voreinstellungen finden sich nicht in der /kernel/drv/st.conf. Für Fremdprodukte muß das allerdings in dieser Datei eingetragen werden.

Durch die variable Blocksize im Treiber kann nun jede Backupanwendung die gewünschte Blocksize mitgeben. Das gilt auch für Solaris-Tools wie ufsdump.

Im EMC Networker kann man sich die verwendete Blocksize im Startprotokoll anzeigen lassen. Dazu muß aber zunächst im Networker start-Skript /etc/init.d/networker eine Umgebungsvariable gesetzt werden.

NSR_DEV_BLOCK_SIZE_MSG=YES
export NSR_DEV_BLOCK_SIZE_MSG

Danach muß der Networker durchgestartet werden.

nsr_shutdown -f -t 10

/etc/init.d/networker start

Jetzt kann man im Startprotokoll die voreingestellten Werte ablesen.

tail -300 /nsr/logs/daemon.raw > – | nsr_render_log – | more

nsrd: media notice: name: LTO Ultrium block size = 64 KB
nsrd: media notice: name: LTO Ultrium-2 block size = 64 KB

Im Anschluß kann man die ermittelten Werte für jeden Laufwerkstyp an den eigenen Bedarf anpassen. Eine Einführung zum Thema Tape-Performance und passende Werte bietet dieser SUN/Bigadmin-Artikel. Es ist also wieder eine Umgebungsvariable zu setzen. Diese muß pro Laufwerkstyp gesetzt werden.

NSR_DEV_BLOCK_SIZE_MEDIA_TYPE=XXX

MEDIA_TYPE ist die Bezeichnung für den Laufwerks/Medientyp. Hierbei gilt folgende Syntax: Bezeichnung wie in Networker-Startmeldungen, allerdings alles in Großbuchstaben und Leerzeichen sowie Bindestriche durch Unterstriche ersetzen.

z.B. 64kB für LTO2 setzen

NSR_DEV_BLOCK_SIZE_LTO_Ultrium_2=64
export NSR_DEV_BLOCK_SIZE_LTO_Ultrium_2

Hierbei ist auf folgendes zu achten:

Bei Windows verhindert ggf. der Treiber des HBAs eine größere Blocksize als 64kB (ggf. per Registry änderbar). Netapp schreibt auch mit 64kB. In heterogenen Umgebungen kann es also durchaus Sinn machen als Standard bei 64kB zu bleiben. Die Blocksize wird im Networker beim Label-Vorgang auf dem Tape aufgebracht. Tapes mit anders gelabelter Blocksize als im Networker voreingestellt machen i.d.R. Performanceprobleme. Ein nachträgliches Labeln (Datenverlust!) behebt das Problem. Man kann durch Trennung in verschiedene Pools für verschiedene Blocksizes das Problem ggf. umgehen.

Ein weiterer Parameter ist der Abstand für “Markierungen” auf den Tapes, die für das Positionieren wichtig sind. Das Schreiben der Markierungen bremst schnelle Laufwerke aus. Weit auseinander liegende Markierungen bringen zwar höhere Backup-Performance, können aber die Restore-Performance drastisch verschlechtern.

Anzeige der voreingestellten Werte mit:

NSR_DEV_TAPE_FILE_SIZE_MSG=YES

export NSR_DEV_TAPE_FILE_SIZE_MSG

Für LTO2 wird als Kompromiß bei einer Blocksize von 64kB 200000 Blöcke Abstand empfohlen. D.h. nach

12,2GB geschriebenen Daten auf Band wird eine Markierung geschrieben.

NSR_DEV_TAPE_FILE_SIZE_LTO_ULTRIUM=200000

Weitere Parameter für die Networker-Startdatei sind:

NSR_SAVEGRP_SS_OUT_RETENTION
NSR_DEV_DEFAULT_CAPACITY_MEDIA_TYPE
NSR_DEV_LOAD_TIME_MEDIA_TYPE
NSR_DEV_LOAD_POLL_INTERVAL_MEDIA_TYPE
NSR_DEV_LOAD_TRY_LIMIT_MEDIA_TYPE

Hierzu sind noch folgende EMC Knowledgebase-Artikel empfehlenswert: esg53349, esg57225, esg57077 und esg64343. Zu finden unter https://powerlink.emc.com

This entry was posted in Backup, EMC, Solaris and tagged , , , . Bookmark the permalink.

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>