Exchange und iSCSI

Exchange kann nur auf Volumes zugreifen, die für den Computer als lokale Festplatten dargestellt werden. Auf SAN und NAS - Speicher für Exchange erläutere ich, was dabei "lokal" bedeutet und dass auch ein SAN eine gültige Festplatte für Exchange sein kann. Die unterschiede der Festplattenanbindung ist auf IDE oder SCSI beschrieben. Nun ist es aber so, dass Microsoft für Windows 2003 einen iSCSI-Initiator zum Download anbietet damit ein Windows Server auf eine Festplatte im Netzwerk über iSCSI zugreifen kann. Was hat es damit auf sich ?

Microsoft Storage Technologies - iSCSI
http://www.Microsoft.com/windowsserver2003/technologies/storage/iscsi/default.mspx

Whitepaper NetApp mit 10 GBit und iSCSI mit Hyper-V
http://download.microsoft.com/download/B/1/E/B1E07CD9-C3E5-4390-A0C5-9F51A696E291/MSFT-NetApp-10G.docx

Microsoft iSCSI Target 3.3. kostenfrei für Windows 2008R2
http://www.microsoft.com/download/en/details.aspx?id=19867

http://blogs.technet.com/b/josebda/archive/2011/04/04/microsoft-iscsi-software-target-3-3-for-windows-server-2008-r2-available-for-public-download.aspx

Lesen Sie ergänzend auch die Seite  SAN und NAS - Speicher für Exchange.

ISCSI und Performance ?
Wer natürlich den Software Initiator von Microsoft oder Unix gegen einen Software iSCSI-Server einsetzt, wird in der Performance stark enttäuscht werden. Aber es gibt Netzwerkkartem, die selbst iSCSI sprechen und Storageserver, die iSCSI nicht als Aufsatz auf Windows/Linux anbieten. Dann sind die Werte mit einem SAN vergleichbar.

iSCSI - eine kurze Einführung

iSCSI ist ein Standard zur Übertragung von Blockzugriffen über IP-Netzwerke. Dabei wird von einem iSCSI-Initiator und iSCSI-Target gesprochen. Das iSCSI-Target ist der Server, der die Festplattenkapazität bereit stellt, während der iSCSI-Initiator auf einem System die Verbindung zu den logischen Festplatten auf dem Target herstellt.

Die gesamte Kommunikation erfolgt dabei über das Standard Protokoll TCP/IP und könnte damit sogar weltweit erfolgen. Natürlich sind dabei Begriffe wie Bandbreite, Paketlaufzeit und Verlustrate wichtige Faktoren. Aber oft reicht schon die Trennung von Daten in zwei Brandabschnitten oder Gebäuden auf dem Firmengelände, um eine höhere Verfügbarkeit zu erreichen.

Damit nun nicht jeder Server eine beliebige iSCSI-Festplatte im Netzwerk finden und erreichen kann, gibt es natürlich Mechanismen zur Authentifizierung und Verschlüsselung. Zudem erlaubt es jedes iSCSI-Target die Systeme zu bestimmten, die für den Zugriff berechtigt sind. Auch wenn die Sicherheit entsprechend hoch ist, sollte eine echte Trennung zwischen dem normale Netzwerk und dem Ethernet für iSCSI erfolgen. Dies kann über VLANs und entsprechende Priorisierung von Paketen erfolgen. Sie sollten auf keinen Fall zulassen, dass normaler Netzwerkverkehr dem iSCSI-Lan Bandbreite streitig macht oder ein möglicher Angreifer die IP-Adressen von iSCSI-Geräten erreichen und im einfachsten Fall mit Datenmüll belasten kann.

Auch für Windows 2003 gibt es einen iSCSI-Initiator von Microsoft, der mit verschiedenen iSCSI-Targets zusammen arbeitet. Der smarte Ansatz hierbei ist, dass über das Ethernet iSCSI-Dienste auf einem Server temporär angeschlossen und wieder getrennt werden können.

iSCSI und Lösungen

Der Einsatzbereich von iSCSI ist dem einen klassischen SANs sehr ähnlich.  So könnten Sie mit iSCSI folgende Aufgabenstellungen umsetzen:

  • Höhere Verfügbarkeiten
    Stellen Sie sich vor, dass ihr Server wie bisher alle Programme und Daten auf einer lokalen Festplatte betreibt. Sie können nun an einer anderen Stelle in ihrem Haus an das Netzwerk einen iSCSI-Target anschließen und einen Datenbereich dieses Geräts als Festplatte an ihren Server anbinden. Über die normale Spiegelung von Windows 200x könnten Sie ihre Produktivdaten einfach als Echtzeitkopie auf einem anderen Speichersystem vorhanden.
    Fällt nun ihr Hauptserver komplett aus, dann könnten Sie die Daten sehr flexibel an einem anderen Server anschließen und den Betrieb nach kurzer Ausfallzeit wieder aufrecht erhalten.
  • Backup via Mirroring
    Sehr viele iSCSI-Targets erlauben aber nicht nur dem iSCSI-Initiator einen Zugriff auf das Volume. Bei vielen Produkten ist es möglich eine zwei Instanz als eine Art Schattenkopie oder reine "nur-Lese"-Kopie bereit zustellen. So ist es dann möglich, dass ein andere System die Daten sichert, ohne den eigentlichen Datenserver zu belasten. Ein Schritt in Richtung "serverless Backup". Siehe auch Backupkonzepte.
  • Backup via iSCSI-Disk
    NTBackup kann problemlos einen Server auch auf Festplatten sichern. Bislang musste dazu die Festplatte aber lokal angeschlossen oder als UNC-Laufwerk erreichbar sein. Dateizugriffe über ein Netzwerk sind aber im Hinblick auf Geschwindigkeit nicht sehr schnell. Über iSCSI könnte die gleiche entfernte Festplatte einfach als lokale Festplatte angebunden werden und dann über das iSCSI-Protokoll vermutlich schneller gesichert werden (Messwerte liegen mir leider noch keine vor)
  • Zuweisung von temporären Speicherbereichen für Defragmentierungen
    Es passiert in den besten Netzwerken, dass ein Server plötzlich "out of Diskspace" ist. Dann ist iSCSI eine schnelle Möglichkeit, dem Server zusätzlichen Festplattenplatz zu geben. Wenn sogar die gesamte Festplatte schon auf einem iSCSI-Target liegt, kann die Festplatte und im zweiten Schritt die Partition ohne Neustart einfach vergrößert werden.

Sogar Cluster Server können mit iSCSI und Windows 2003 aufgebaut werden.

iSCSI und Performance

All diese schönen Ideen zum Einsatz von iSCSI haben aber nur Bestand, wenn auch der Datendurchsatz gewährleistet ist. Rein von den technischen Daten betrachtet, sollte iSCSI nicht sehr viel langsamer sein, als ein klassisches SAN. Während im Bereich eines SAN heute 1GBit oder 2GBit Komponenten im Einsatz sind, so bewegt sich die Transferdatenrate einer Festplatte heute immer noch im Bereiche von 20-80MByte/Sekunde. Das ist gerade mal genug, um theoretisch ein Gigabit auszulasten. Andererseits sind reine Kopiervorgänge großer Daten eher selten, sonder der wahlfreie Zugriff auf Datenbanken und Dateien ist das Maß der Dinge. Daher sind die netto übertragenen Werte auch abhängig von der Organisation der Festplatten und der Cache.

Ein paar Messwerte und Programme für Performance Messung finden Sie z.B. auf Tools: NETIO, IPERF und TTCP und DT Performance Messung. Oder eine Aussage,  die ich mal gefunden hatte: "Probleme hatten wir genu. Angefangen bei korrupten Datenbanken, Performance Problemen etc. pp. Prinzipiell ist die "Disk Latency" das gleiche Problem wie für andere NAS Lösungen". Unter Latency versteht man die Zeit zwischen dem Absenden eines "Speichern"-Befehls durch den Host an das Subsystem bis zur Quittung dieser Anforderung. Je weiter der Massenspeicher entfernt ist, desto länger ist die Verzögerungszeit. Vergleichen Sie dies mit dem Internet. Bandbreite ist die ein Maß für die Datenmenge, die übertragen werden kann. Das ist aber keine Maßzahl für die Laufzeit von Paketen. Nicht umsonst führen Internetspieler Diskussionen über "Fastpath" und andere Techniken. Oder warum kann ich über ISDN mit 64kbit problemlos telefonieren, während ich über DSL (768kbit/192kbti) gerade mal eine Verbindung aufbauen kann ?. Ganz einfach: Die Laufzeit ist das Problem, denn wenn ich über 64kbit "glasklar" telefonieren kann und beim Funktelefon mit 9,6kbit mich zumindest verständigen kann, dann sollte doch auch VoIP mit wenig auskommen.

Leider nutzt gerade Exchange mit Transaktionsprotokollen eben "Synchrones Schreiben", d.h. wartet auf die Bestätigung und genau da ist die Laufzeit wichtig. Nutzen Sie z.B. einfach JetStress, um hier ihren alten Server mit dem neuen SubSystem zu vergleichen.

iSCSI Hersteller und Produkte

iSCSI ist natürlich nicht eine Entwicklung von Microsoft, sondern eher ein Produkt vieler Hersteller, die einen günstigeren Weg zu einem einfachen und effektiven Speicherplatzmanagement gesucht haben, als SAN auf FiberChannel eine sehr teure Angelegenheit war. Zwar ist ein SAN basierend auf FiberChannel heute schon um einiges günstiger geworden aber die Kosten für ein Gigabit-Netzwerk und entsprechende Adapter und Kabel betragen immer noch nur Bruchteile hiervon (2004/2005). Auch gibt es einzelne Funktionen die heute (2005) mit iSCSI noch nicht abzubilden sind. So kenne ich keine Bandlaufwerke mit iSCSI-Schnittstelle.

iSCSI und Windows 2008 /Vista

Sowohl bei Windows 2008 als auch bei Windows Vista ist iSCSI quasi "on board". Hier am Beispiel von Vista

Das ist aber eine "Softwarelösung", die aber für die ein oder anderen Experiment sogar gut nutzbar ist. Die Steuerung kann aber auch per Kommandozeile erfolgen. Dazu ist aber zuerst der Denst zu starten

REM Dienst starten
sc config msiscsi start= auto
sc start msiscsi

REM iSCSI Target eintragen
iscsicli qaddtargetportal 192.168.1.2

REM Zielfestplatte addieren
iscsicli qaddtarget <zielname> 192.168.1.2

REM Optional Anmeldedaten addieren
iscsicli qlogintarget <zielname>

REM Optional Verbindung "permament" machen
iscsicli PersistentLoginTarget "permament"

Mit einem passenden iSCSI Target kann man damit sogar Cluster und andere Konfigurationen in Testfeldern nachstellen. Die Möglichkeit die Verbindung sogar per Skript herzustellen und wieder zu trennen, eröffnet ganz neue Wege beim Thema Backup. Was sollte mich hindern, eine Festplatte per iSCSI an den Server zu binden und "lokal" ein Backup zu erstellen, um diese danach wieder abzuklemmen und am Backupserver auf ein Band zu kopieren ? In Verbindung mit passenden iSCSI Speichern sind noch viel mehr Dinge möglich.

Weitere Links

Aufgrund der extremen Entwicklung in diesem Bereich kann meine Linkliste nur als Einstieg verstanden werden und erhebt keinen Anspruch auf Vollständigkeit oder Bewertung.

Whitepapers und Dokumentationen

Microsoft

Unlike previous versions of Exchange Server, network-attached storage is not supported in Exchange 2007. The only network-based storage transport supported für Exchange 2007 is Internet SCSI (iSCSI).
Quelle: Exchange 2007 - Planning Disk Storage
http://technet.microsoft.com/en-us/library/bb124518.aspx

Software

Hardware