Wolfgang Sollbach
Storage Area Networks Hohe Datenverfügbarkeit durch Speichernetzwerke
An imprint of Pearson Education München • Boston • San Francisco • Harlow, England Don Mills, Ontario • Sydney • Mexico City Madrid • Amsterdam
Die Deutsche Bibliothek - CIP-Einheitsaufnahme Ein Titeldatensatz für diese Publikation ist bei Der Deutschen Bibliothek erhältlich.
Die Informationen in diesem Produkt werden ohne Rücksicht auf einen eventuellen Patentschutz veröffentlicht. Warennamen werden ohne Gewährleistung der freien Verwendbarkeit benutzt. Bei der Zusammenstellung von Texten und Abbildungen wurde mit größter Sorgfalt vorgegangen. Trotzdem können Fehler nicht vollständig ausgeschlossen werden. Verlag, Herausgeber und Autoren können für fehlerhafte Angaben und deren Folgen weder eine juristische Verantwortung noch irgendeine Haftung übernehmen. Für Verbesserungsvorschläge und Hinweise auf Fehler sind Verlag und Herausgeber dankbar. Alle Rechte vorbehalten, auch die der fotomechanischen Wiedergabe und der Speicherung in elektronischen Medien. Die gewerbliche Nutzung der in diesem Produkt gezeigten Modelle und Arbeiten ist nicht zulässig. Fast alle Hardware- und Softwarebezeichnungen, die in diesem Buch erwähnt werden, sind gleichzeitig auch eingetragene Warenzeichen oder sollten als solche betrachtet werden. Umwelthinweis: Dieses Buch wurde auf chlorfrei gebleichtem Papier gedruckt. Die Einschrumpffolie zum Schutz vor Verschmutzung ist aus umweltfreundlichem und recyclingfähigem PE-Material. Copyright ©2002
10 9 8 7 6 5 4 3 2 1 04 03 02 01 ISBN 3-8273-1871-8 © 2002 by Addison-Wesley Verlag, ein Imprint der Pearson Education Deutschland GmbH, Martin-Kollar-Straße 1012, D-81829 München/Germany Alle Rechte vorbehalten Einbandgestaltung: atelier für gestaltung, niesner & huber, Wuppertal Lektorat: Rolf Pakendorf,
[email protected] Korrektorat: Brigitta Keul, München Herstellung: Anna Plenk,
[email protected] Satz: reemers publishing services gmbh, Krefeld, www.reemers.de Druck und Verarbeitung: Freiburger Graphische Betriebe, Freiburg Printed in Germany
Für Petra
Inhaltsverzeichnis 1
2
Vorwort
13
Der Weg zu SAN und NAS
17
1.1 Hochverfügbarkeit
18
1.1.1
Host-Komponenten
18
1.1.2
Komponenten des I/O-Subsystems
21
1.2 Storage Area Networks
22
1.3 Network Attached Storage
24
SAN – Grundlegende Basis-Technologien
27
2.1 Anschluss von Storage Devices über das SCSI-Protokoll
27
2.1.1
Device-Administration unter Solaris 2.x
2.2 Einführung in Netzwerk-Technologien 2.2.1
Standardisierungskomitees
52
2.2.2
Netzwerk-Kommunikation
52
2.2.3
Das ISO/OSI-Referenz-Modell
54
2.2.4
Das Internet-Protokoll
67
2.2.5
Das Network File System – NFS
2.3 Einführung in die Fibre Channel-Technologie
3
29 52
73 77
2.3.1
Überblick und Anwendung
77
2.3.2
Technologievergleich
84
2.3.3
Fibre Channel-Ebenen
86
2.3.4
Fibre Channel-Serviceklassen und -Topologien
102
SAN Connectivity-Topologien
117
3.1 Die Kapazitätserweiterungs-Topologie
120
3.1.1
Kapazitätserweiterungs-Topologie in Non Fibre Channel-Umgebungen
120
3.1.2
Kapazitätserweiterungs-Topologie in Fibre Channel-Umgebungen
124
3.2 Storage-Konsolidierungs-Topologie 3.2.1 3.2.2
129
Storage-Konsolidierungs-Topologie in Non Fibre Channel-Umgebungen
129
Storage-Konsolidierungs-Topologie in Fibre Channel-Umgebungen
132
7
Inhaltsverzeichnis
3.3 Distanz-Topologie
4
3.3.1
Fibre Channel FC-AL-Distanz-Topologie
3.3.2
FC-SW-Distanz-Topologie
SAN – Hardware-Komponenten
145
4.1 Hochverfügbare Cluster-Systeme
145
4.1.1
Hewlett-Packards MetroCluster ServiceGuard Hardware-Konfiguration
145
4.1.2
Sun Enterprise Cluster-HA
160 161
4.2.1
Basisbausteine
162
4.2.2
Eigenschaften und Komponenten hochverfügbarer Speichersysteme
188
Highend Fibre Channel Storage Arrays
208
4.2.3
211
4.3.1
Fibre Channel-Hubs und Multiplexer
211
4.3.2
Hochverfügbare Fibre Channel-Switches
215
Hochverfügbare NAS-Hardware-Komponenten
253
5.1 Architektur hochverfügbaren NAS
258
5.2 Aufbau und Funktion der Control Station
263
5.3 Aufbau und Funktion eines File-Servers
267
5.4 NAS-Applikationen
270
5.4.1
8
139 141
4.3 Connectivity-Hardware
6
138
3.4 Gemischte Topologien
4.2 Hochverfügbare Speichersysteme
5
137
Windows NT oder Windows 2000Serverkonsolidierung
270
5.4.2
Internet als NAS-Applikation
272
5.4.3
NAS-Backup-Applikation
275
5.4.4
Networked Storage als NAS-Applikation
276
Hochverfügbare SAN – Software-Komponenten
277
6.1 Hochverfügbare Cluster-Software
277
6.1.1
Was ist ein Cluster?
277
6.1.2
Cluster-Software-Implementierung unter HP-MC/ ServiceGuard
278
6.1.3
Cluster-Software-Implementierung für Sun mit Veritas Cluster Server (VCS)
313
6.1.4
Bemerkungen zu HP MetroCluster/ServiceGuard und Veritas Cluster Server (VCS)
346
Inhaltsverzeichnis
6.2 Hochverfügbare Software für SAN Storage Arrays 6.2.1
7
Konfiguration der Storage Devices
347 350
6.2.2
Software Business Continuity-Komponenten
383
6.2.3
Software Disaster Recovery-Komponenten
399
6.2.4
Status-Meldungen von SymCLI-Kommandos
408
SAN und NAS – Unterstützte File-Systeme
413
7.1 Disk/Device-Verwaltung unter MS Windows NT
413
7.1.1 7.1.2
Grundbegriffe für die Disk-Administration: Partitions
413
Grundbegriffe für die Disk-Administration: Volume Set und Stripe Set
414
7.2 Dateisysteme unter WIN NT
415
7.2.1
Die Symmetrix Manager Control Utility
415
7.2.2
Dateisystemvorbereitungen in einer Cluster-Umgebung
418
Dateisystemvorbereitung – Übertragung von Volume Set-Informationen
419
Dateisystem – Vorbereitungen bei einem Single Server
420
Kopieren von Daten mit flexible Mirror oder remote Mirror im 2-Knoten-Cluster
421
Restore von Daten mit flexible Mirror oder Disaster Recovery im 2-Knoten-Cluster
423
Kopieren von Daten mit flexible Mirror oder remote Mirror bei einem Single Server
424
Restore von Daten von flexible Mirror oder remote Mirror bei einem Single Server
426
Probleme beim Softwareeinsatz im NT-Umfeld
426
7.2.3 7.2.4 7.2.5 7.2.6 7.2.7 7.2.8 7.2.9
7.3 Logical Volume-Manager HP-UX
428
7.3.1
Logical Volume-Manager: Übersicht
428
7.3.2
Anlegen einer Volume-Gruppe
430
7.3.3
LVM-Volume-Gruppen Kommandos
431
7.3.4
Weitere Befehle des LVM
433
7.3.5
Backup von LVM-Datenträgern
434
7.3.6
Multipathing unter LVM
435
7.3.7
Striping unter LVM
435
7.3.8
Dateisysteme und flexible/remote mirrors unter HP-UX
437
9
Inhaltsverzeichnis
7.4 Logical Volume-Manager IBM-AIX Logical Volume-Manager: Übersicht
445
7.4.2
Erzeugung einer Volume-Gruppe
445
7.4.3
Erzeugung von Logical Volumes
447
7.4.4
Erzeugung eines Dateisystems
448
7.4.5
Weitere Befehle des LVM
448
7.4.6
Striping im AIX-LVM
449
7.4.7
Dateisysteme und flexible/remote mirrors unter AIX 450
7.4.8
LVM und flexible Mirrors in einer Dual-Server-Umgebung
450
AIX-LVM und Nutzung der flexible Mirrors bei nur einem Server
451
Kopieren von Daten mit flexible oder remote Mirror in einer Dual-Server-Umgebung
452
Restore von Daten mit flexible oder remote Mirror in einer Dual-Server-Umgebung
453
Kopieren von Daten mit flexible/remote Mirror in einer Single-Server-Konfiguration
455
Restore von Daten mit flexible/remote Mirror in einer Single-Server-Konfiguration
457
7.4.9 7.4.10 7.4.11 7.4.12 7.4.13
7.5 Volumes und Dateisysteme unter Sun Solaris
458
7.5.1
Solstice DiskSuite: Überblick
458
7.5.2
Erzeugung eines Concatenated Volume
458
7.5.3
Erzeugung eines Concatenated Volume mit UFS Logging
459
7.5.4
Erzeugung eines Striped Volume
460
7.5.5
Erzeugung eines Striped Volume mit UFS Logging
461
7.5.6
Erzeugung eines Dateisystems
461
7.6 EMC Foundation Suite von Veritas (FS)
462
7.7 Veritas Volume-Manager: Übersicht
462
7.7.1
10
445
7.4.1
Erzeugung einer Disk Group
464
7.7.2
Import/Deport einer Disk Group
464
7.7.3
Erzeugung einer Subdisk
464
7.7.4
Erzeugung eines Plexes
465
7.7.5
Erzeugung eines Volumes
466
7.7.6
Erzeugung eines Dateisystems
467
7.7.7
Veritas Volume-Manager: Übersicht der Kommandos 467
7.7.8
Kommandos für Disk Groups Operationen
468
7.7.9
Kommandos für Disk Operationen
468
Inhaltsverzeichnis
7.7.10
Kommandos für Subdisk Operationen
469
7.7.11
Kommandos für Plex-Operationen
469
7.7.12
Volume-Operationen
470
7.7.13
Dateisysteme und flexible/remote mirrors unter Veritas
470
7.7.14
VxVM und flexible Mirrors in einer Dual-Server-Umgebung
470
7.7.15
VxVM-Dateisysteme und flexible Mirrors in einer Single-Server-Umgebung
474
2
8
7.8 EMC s TimeFinder Toolkit (VRTSvxtf) – TimeFinder-Integration in Veritas Volume-Manager
478
Administration unternehmensweiter Speichernetzwerke
481
8.1 Die Administration von Storage Arrays
482
8.1.1
Einführung in das ECC
8.2 SAN-Monitoring mithilfe des ECC, Resource View und Resource Availability 8.2.1
489
ECC Monitoring Tools
489
8.2.2
Monitoring mit der Resource View
502
8.2.3
Monitoring und Administration der RessourcenVerfügbarkeit – Resource Availability
505
8.3 SAN-Konfiguration und -Steuerung
509
8.3.1
Einschränkung zugreifbarer Devices – Volume Logix
509
8.3.2
Steuerung und Konfiguration von Remote Mirrors – der SRDF-Manager
511
Steuerung und Konfiguration von Flexible Mirrors – der TimeFinder Manager
512
8.3.3
8.4 SAN-Tuning
9
483
513
8.4.1
Dynamisches Pfad-Failover und Multipathing – PowerPath
513
8.4.2
Oracle-Datenbank-Monitoring und Tuning – Der DB-Tuner
514
8.5 SAN-Planung
516
Ausblick
519
Bibliographie
525
Stichwortverzeichnis
531
11
Vorwort
Auf meinem bisherigen 16-jährigen beruflichen Weg habe ich mich als angestellter oder freier Unternehmensberater hauptsächlich der Architektur, dem Design und der Performance der Datenbank-Management-Systeme CA-Ingres, Adaptive Server Enterprise (Sybase), Oracle, Informix und Microsoft SQLServer gewidmet. Wie kommt ein »Datenbankspezialist« auf die Idee, ein Buch über ein Thema zu schreiben, das wie kein zweites hardware- und netzwerkorientiert ist? Ist dies nicht ein Räubern in fremden Gründen? Das ist es nicht. Als Datenbank-Mensch, der sich insbesondere auch um das Laufzeitverhalten »seiner« Datenbankapplikationen bemüht, ist man gezwungen, sich Gedanken über die physikalische Speicherung der Daten, über I/O-Verhalten und Verteilung von Daten über physikalische Devices zu machen. Man ist gezwungen, hochverfügbare Lösungen zu entwickeln, die auf Basis der State-of-The-Art oder Best-of-Breed hochverfügbarer Hardware und Software funktionieren. Daher ist man gezwungen, sich notabene mit den Themen zu beschäftigen, die Inhalt dieses Buches sind. Dieses Buch Storage Area Networks – Hohe Datenverfügbarkeit durch Speichernetzwerke beabsichtigt, die Hardware- und Software-Bausteine der zurzeit aufregendsten Themen in der Informations-Technologie zu beschreiben, SAN und NAS, Storage Area Networks und Network Attached Storage. Das Client-/Server-Computing der 90er Jahre des 20. Jahrhunderts führte – in Verbindung mit dem Wachstum des Internets – zu einer gigantischen Explosion der gespeicherten Datenmenge. In den klassischen Client-/Server-IT-Landschaften führte dies zu erheblichen Problemen hinsichtlich der Verfügbarkeit der benötigten Kapazitäten und – vor allem – bezüglich der Administrierbarkeit der Systeme. Die Notwendigkeit zur Vereinfachung der Administration der Client-/Server-IT-Landschaften führte in den letzten Jahren zur Rezentralisation auf mainframe-ähnliche Open Systems-Serversysteme. Dieser Trend in Kombination mit den Erfordernissen, eine Unmenge von Daten zwischen den Anwendern unterschiedlicher Serversysteme und Server-Applikationen zu teilen, führte zur Implementierung von Storage Area Networks zwischen mehreren Serversystemen und an diese über Fibre Channel angeschlossene Storage Arrays.
13
Das unglaublich gewachsene Interesse am Internet führte zu einem ungeahnten Massenspeicherbedarf der Internetprovider und der Unternehmen im eBusiness, um den Plattenplatzbedarf der Milliarden Internetbenutzer befriedigen zu können. Video on Demand und Storage on Demand sind die Initiatoren von Network Attached Storage, der Anwendern heterogener IT-Umgebungen dieselben Daten über unterschiedliche Dateisysteme und Mount-Mechanismen über das Netz verfügbar macht. SAN und NAS haben sich in jüngster Vergangenheit als die Speicher-Technologie entwickelt, die sämtliche Arten von geschäftskritischen Applikationen nahezu aller Branchen optimal unterstützen. Geschäftskritische Applikationen müssen einem 24 Stunden pro Tag/7 Tage pro Woche hochverfügbaren Betrieb genügen. Daher müssen auch SAN- und NAS-Technologien dem Hochverfügbarkeitsaspekt Rechnung tragen. Dieses Buch schaut hinter die Kulissen der Implementierung von SAN und NAS unter besonderer Berücksichtigung der Hochverfügbarkeit der Lösung. SAN und NAS liefern nicht nur Speicherkapazität, ihr Hauptaugenmerk ist das der Sicherheit. Das erste Kapitel beschreibt die »historische Entwicklung« hin zu SAN und NAS. Es zeigt die Entwicklung von Host- und I/O-Subsystemen für hochverfügbare Systeme auf und beschreibt den Aufbau von Storage Area Networks und Network Attached Storage mithilfe dieser Komponenten. Kapitel zwei beschreibt die grundlegenden Technologien für die Entwicklung von Storage Area Networks. Nach einer Einführung in den Anschluss von Speicher Devices in Open Systems-Umgebungen mithilfe der SCSI-Protokolle (Small Computer Systems Interface) wird eine Einführung in die Grundlagen der Netzwerk-Technologien gegeben, die die Basis für Network Attached Storage-Systeme bildet. Letztendlich wird die Fibre Channel-Technologie dargestellt, die die Infrastruktur der heute gängigen SAN- und NAS-Lösungen liefert. Kapitel drei beschreibt die Connectivity-Topologien in Storage Area Networks. Diese Topologien werden verwendet, um jede denkbare Form eines Storage-Attachments zu implementieren. Die Kapazitätserweiterungs-Topologie beschreibt, wie ein Server durch Anschluss mehrerer Storage Arrays seine Speicherkapazitäten erweitern kann. Die Konsolidierungs-Topologie beschreibt einen Rezentralisierungs-Prozess, in dem mehrere Server ihren Storage auf ein gemeinsam genutztes Storage Array konsolidieren. Die Distanz-Topologie zeigt den Weg zu einer Disaster Recovery-Hochverfügbarkeitslösung auf, die remote gespiegelte Speicherkapazitäten an hochverfügbare Cluster-Server verbindet. In Distanz-Topologien kann jeglicher Single-Point-of-Failure des Gesamtsystems vermieden werden. Kapitel vier ist den wesentlichen Hardware-Komponenten hochverfügbarer SAN-Umgebungen gewidmet. Auf Serverseite werden clustered Server am Beispiel von Hewlett-Packards MetroCluster ServiceGuard und Sun Enterprise Cluster HA und deren Komponenten zum Attachment an Speichersys-
14
teme, die Host-Bus-Adapter, dargestellt. Anschließend widmet sich das Kapitel der Beschreibung hochverfügbarer Storage Arrays. Das Kapitel schließt ab mit der Darstellung von Fibre Channel-Hubs, Multiplexers und Switches. Diese stellen die Connectivity-Hardware eines Fibre Channel-basierten Storage Area Networks dar. Kapitel fünf stellt die Hardware hochverfügbaren Network Attached Storages (NAS) dar. NAS-Systeme bestehen aus den in Kapitel vier dargestellten hochverfügbaren Storage Arrays, die mit entsprechendem ConnectivityEquipment mit File und Media Servern und Control Stations zur Administration des NAS kombiniert werden. Kapitel sechs beschreibt die Software-Komponenten der SAN- und NASUmgebungen. Diese bestehen serverseitig aus Cluster-Server-Software, die anhand der Beispiele von Hewlett-Packards MetroCluster ServiceGuard und Veritas Cluster-Server dargestellt werden. Weiter werden die Softwarekomponenten der Storage-Subsysteme beschrieben, die für die Storage Arrays Business Continuity und Disaster Recovery-Konfigurationen einrichten und administrieren und die ein benutzertransparentes Failover und Failback in Fehlersituationen ermöglichen. Kapitel sieben beschreibt, welche gängigen Dateisysteme in SAN- und NASUmgebungen eingesetzt werden und wie diese die in Kapitel sechs beschriebenen Storage-Softwarekomponenten unterstützen und implementieren. Kapitel acht beschreibt die Software, die wesentlich zum Siegeszug von SAN und NAS beigetragen hat, die Administrations-Software zur Verwaltung unternehmensweiter Speichernetzwerke. Die Kapitel sechs, sieben und acht beschreiben die Softwarekomponenten anhand der Produktpalette des Marktführers in SAN- und NAS-Storage-Technologien – EMC2. Die ausführliche Beschreibung ist auf diese Produkte beschränkt, die vergleichbaren Produkte des Mitbewerbs von EMC2 werden jedoch ebenfalls erwähnt. Kapitel neun beschließt das Buch mit einem Ausblick auf die weitere Entwicklung im SAN- und NAS-Umfeld, wie sie für eine nähere Zukunft voraussehbar ist. Das Buch erhebt nicht den Anspruch auf Vollständigkeit. Die Auswahl der Inhalte entspringt meiner subjektiven Sicht der Dinge. Dennoch denke ich, dass dieses Buch einen Überblick über dieses beeindruckende Thema der derzeitigen IT-Landschaft liefert. Wenn dieser Eindruck auch vom Leser bestätigt wird, dann hat es sich gelohnt, dieses Buch zu schreiben. Im Laufe dieses Buches werden eine Vielzahl von Firmen-, Produkt- und Methodennamen verwendet, deren Eigentümer zu nennen ich mich stets bemüht habe. Sämtliche Produkt-, Firmen- und Methodennamen sind Warenzeichen oder eingetragene Warenzeichen ihrer Eigentümer.
15
Ich möchte dieses Vorwort mit den üblichen Danksagungen abschließen. Ich danke all meinen Kollegen und Freunden, die mich zu diesem Buch ermuntert haben und die Entstehung des Buches aktiv verfolgt haben. Insbesondere möchte ich hier Günter Rühlicke, Joachim Neisius und Ralph Comes nennen, die mir – bewusst oder unbewusst – eine Vielzahl wertvoller Hinweise gegeben haben, die in dieses Buch eingeflossen sind. Die Fehler in diesem Buch sind jedoch meine und nur auf mein beschränktes Verständnis der wertvollen Hinweise und Erläuterungen von Zusammenhängen durch Andere zurückzuführen. Ich danke der EMC2 Computer GmbH, die mir als externem Consultant die Möglichkeit gegeben hat, Projekterfahrung in diesem komplexen Umfeld zu gewinnen, ohne die ich niemals den Mut besessen hätte, dieses Buch auch nur zu beginnen. Ich danke meinem Verleger und hier insbesondere Rolf Pakendorf für die unglaubliche Geduld mit einem Autor, der aufgrund seiner abgeschiedenen Heimstatt im Münsterland – aus Münchner Weltstadtsicht – am Ende der belebten Welt nur selten greifbar war. Ich wünsche ihm besonders viel Erfolg mit diesem Buch – er hat daran beständig gearbeitet. Letztendlich danke ich dem Menschen, der in unzähligen Stunden aus meinen flüchtig hingeworfenen Skizzen Abbildungen machte, die in das Buch eingepflegt werden konnten, und der mich auch bei den Rechercheaufgaben für dieses Buch unermüdlich unterstützt hat, meiner Lebensgefährtin Petra Schmiedle. Sie hat für dieses Buch Entbehrungen und Einschränkungen ihres und unseres gemeinsamen Lebens hinnehmen müssen, die nicht selbstverständlich sind. Coesfeld
16
Wolfgang Sollbach
1
Der Weg zu SAN und NAS
Während die Problematik der Verfügbarmachung großer Speicherkapazitäten im Highend-Host-Umfeld stets gelöst werden musste, ist diese in den Open Systems-Umgebungen, die seit den 80er Jahren die mittlere Datentechnik bestimmen, eine Herausforderung, die sich erst mit dem Wachstum dedizierter Anwendungen und mit der Rezentralisierung von Client-/ServerSystemumgebungen markant bemerkbar macht. Beide Entwicklungstendenzen sind zentrale Themen in der IT-Umgebung der letzten Jahre und der nahen Zukunft. Die schiere Datenmenge, die im heutigen IT-Umfeld bereits eines Mittelstandsunternehmens bewältigt werden muss, ist ein Motor für die Investition in Speichersysteme, die allein diese Datenmenge bewältigen können. Ein weiterer Grund für die Entwicklung hin zu Storage Area Networks (SAN) sind die gesteigerten Anforderungen an die Verfügbarkeit der gespeicherten Daten. Während die Träume der 80er Jahre vom »Netzwerk als System« sich in der Zwischenzeit insofern erfüllt haben, als die technische Entwicklung einen solchen »globalen« Client-/Server-Ansatz ermöglichen würde, hat allein die Problematik der Administration einer verteilten Umgebung bereits zu den im ersten Absatz erwähnten Rezentralisierungstendenzen geführt. Weiter kann heute kaum eine Anwendung noch mit »betriebsarmen Zeiten« operieren, zu denen Wartungsarbeiten, Datensicherungen etc. durchgeführt werden können. Letztlich führt die Globalisierung dazu, dass heute sieben Tage pro Woche und 24 Stunden pro Tag auf die Daten zugegriffen werden muss. Ausfallzeiten aufgrund von Problemen mit Speichermedien oder Teilkomponentenausfall sind nicht finanzierbar. Der Leser möge sich allein vorstellen, wie lange eine Großbank z.B. auf die Verfügbarkeit eines ihrer Aktien- oder Devisenhandelssysteme verzichten könnte. Aktien- und Devisenhandel geschieht weltweit. Zu jedem gegebenen Zeitpunkt innerhalb der 24 Stunden eines Tages wird an irgendeiner Börse auf dieser Welt gehandelt. Geht man davon aus, dass in einer großen deutschen Bank täglich Handelsvolumina von mehreren Milliarden Euro bewegt werden, kann man hochrechnen, was allein ein Stillstand von einer einzigen Minute kosten würde. Doch neben einer solchen kaufmännischen Unmöglichkeit eines Produktionsstillstandes gibt es klare gesetzliche Vorschriften, wie groß die maximale Ausfallzeit eines solchen Systems sein darf. So schreiben die Mindestanforderungen für Handelssysteme (MaH) eine maximale Ausfallzeit von zwölf Minuten/Monat vor. Heutige Anwendungen, die auch nur im entferntesten Kontakt zur Öffentlichkeit besitzen, müssen hochverfügbar sein. SAN-Umgebungen werden heute vor allem aus dem Hochverfügbarkeitsaspekt betrieben.
17
1 Der Weg zu SAN und NAS
Network Attached Storage (NAS) dagegen verwendet die Speicherkapazitäten der SAN-Umgebungen, um sie über multiple File-Server einer großen Server- oder Client-Anzahl über öffentliche und private Netzwerke zur Verfügung zu stellen. Hier wird das Hauptaugenmerk nicht auf möglichst schnellen Zugriff auf die gespeicherten Daten oder auf die Gewährleistung deren Verfügbarkeit gelegt, sondern im Wesentlichen darauf geachtet, dass bei Bedarf einer Vielzahl von Benutzern die Daten »gleichzeitig« verfügbar gemacht werden können. Klassische Anwendungen solcher NAS-Umgebungen sind z.B. Internetprovider, die »Content on Demand« oder »Video on Demand« anbieten. Weitere Nutzer dieser Technologien sind die Unternehmen, die via Enterprise-Portale sowohl Unternehmensmitarbeitern als auch Kunden einen dedizierten Zugriff auf die Daten des Unternehmens gewähren. Beispiele hierfür sind z.B. Versicherungsgesellschaften, die sowohl ihren Vertretern, als auch den Maklern und den potentiellen Kunden eine Internet-gestützte Auswahl von Verträgen ermöglichen. Weitere Beispiele mögen Buchungssysteme von Fluggesellschaften und Deutscher Bahn AG sein. NAS-Umgebungen charakterisieren sich durch die Unterstützung einer Vielzahl von Dateisystemen und Datenformaten, speichern diese Daten jedoch auf Storage Arrays in SAN-Umgebungen und nutzen daher auch deren Hochverfügbarkeitspotential. Im Folgenden soll der Weg zu heutigen hochverfügbaren SAN- und NASUmgebungen dargestellt werden.
1.1
Hochverfügbarkeit
1.1.1
Host-Komponenten
Das generelle Ziel einer hochverfügbaren Hardwareumgebung ist es, das System für seine Benutzer zu einem möglichst hohen Prozentsatz der Gesamtzeit verfügbar zu machen. Dieses Ziel wurde in Open Systems auf unterschiedliche Arten zu erreichen gesucht. Dieser Abschnitt soll eine Entwicklungslinie der Realisierung von High Availability (Hochverfügbarkeit) aufzeigen. Im vierten Kapitel dieses Buches wird dezidiert auf die Hochverfügbarkeitskomponenten heutiger SAN-Umgebungen eingegangen. In Systemen der mittleren Datentechnik in den 80er Jahren des 20. Jahrhunderts war in der Regel der Prozessor nicht auf einem einzigen Board implementiert, sondern in mehreren Systemkarten realisiert. Hier wurde zur Steigerung der Verfügbarkeit ein Instruction Retry implementiert, um bei fehlerhaften Instruktionen zu verhindern, dass der Prozessor mit einem Instruction-Fehler abstürzte. Diese Technologie wurde durch die beständige Miniaturisierung abgelöst, die die Prozessoren auf einer einzigen Karte technisch verfügbar machte. Zur Steigerung der Prozessorverfügbarkeit einer solchen Prozessorkarte wurde die Komponentenverfügbarkeit erhöht. Dies
18
Hochverfügbarkeit
bedeutete: Je weniger Komponenten ein System enthielt, desto weniger mögliche Fehlerquellen waren vorhanden. Die Reduktion der Anzahl der Prozessorboards auf z.B. eines verringerte die Anzahl der Boards, die durch einen Instruction Fault abstürzen konnten und damit eine geringere Verfügbarkeit des Komplettsystems bewirken konnten. Mit wachsender Miniaturisierungsrate der Hardwarebestandteile, konnten gegebene Hardware-Funktionalitäten auf immer weniger Boards im Computer-Chassis reduziert werden. Doch auch die Steigerung der Komponentenverfügbarkeit durch Verringerung der Anzahl potentiell fehlerhafter Komponenten machte ein Rechnersystem noch nicht zu einem hochverfügbaren. Auch Systeme mit hoher Komponentenverfügbarkeit konnten Komponentenfehler nicht ausschließen. Hochverfügbare Systeme sind Rechnersysteme, die Komponentenfehler umgehen können, die im Produktivbetrieb repariert und wieder in Betrieb genommen werden können. Die wünschenswerteste Lösung gegen Komponentenfehler ist Fehlertoleranz. Diese wird durch ein Höchstmaß an Redundanz der Komponenten erreicht. Das heißt, Prozessoren, Hauptspeicherboards, Busse, Platten-Controller, I/O-Subsystem, Stromversorgung, sprich sämtliche Komponenten des Computersystems sind doppelt vorhanden und im Normalfall produktiv. Fällt nun eine dieser Komponenten aufgrund eines Fehlers aus, so wird ihre Funktion durch ihren verbleibenden »Zwilling« übernommen. Die Gesamt-Performance reduziert sich zwar, der Betrieb des Systems läuft jedoch nahezu unterbrechungsfrei weiter; nahezu daher, weil natürlich bei Ausfall eines Prozessors eine Anwendung, die gerade von dem ausgefallenen Prozessor bedient wurde, mit einem Systemfehler unterbrochen würde, jedoch ohne Unterbrechung neu gestartet und dann eben von dem verbleibenden Prozessor verarbeitet werden könnte. Die ausgefallene Komponente kann nun ausgetauscht werden und ohne Unterbrechung des Betriebs eingebunden werden. Fehlertoleranz durch Komponentenredundanz lässt sich auf zwei Arten realisieren. Die N+1-Redundanz fügt eine zusätzliche Komponente zu einer Gruppe von Komponenten hinzu. Dieses Spare Part kann für jede andere Komponente dieser Gruppe einspringen, die ausfällt. So kann beispielsweise eine Reihe von Kühlungs-Gebläsen oder Power Supplies mit der Erweiterung um ein solches Spare Part den Ausfall jeder dieser Einheiten unterbrechungsfrei überstehen. Dieser Ansatz zur Steigerung der Verfügbarkeit ist ebenfalls für Stromkonverter und -regulatoren sinnvoll. Diese Komponenten sind auch – im Vergleich zu den übrigen Komponenten eines Computersystems – low cost-Komponenten, sodass die Realisierung dieser Form der Komponentenredundanz bereits sehr früh in Systemen der mittleren Datentechnik zur Steigerung der Systemverfügbarkeit angewendet wurde. Die zweite Form der Redundanz ist die 1 für 1-Hardware-Redundanz in aktiven elektronischen Komponenten. Um sich gegen den Ausfall einer aktiven Komponente, z.B. eines Job-Prozessors oder eines Hauptspeicher-Boards, zu schützen, ist ein Ansatz einer inaktiven Standby-Komponente nicht ausrei-
19
1 Der Weg zu SAN und NAS
chend. Damit eine solche Spare-Komponente ohne Verlust der Datenintegrität und des Systemstatus unverzüglich bei Ausfall der Komponente verfügbar ist, die sie absichern soll, muss sie die gleichen Instruktionen ausführen und die gleichen Daten verarbeiten wie dieses Original. Die zusätzlichen Kosten einer solchen wirklich fehlertoleranten Lösung sind für viele Umgebungen notwendig, jedoch nicht unerheblich. Daher wurde in der mittleren Datentechnik diese Lösung in aller Regel lediglich für Plattenspeicher, jedoch nicht für Hostkomponenten implementiert. Bei Hostkomponenten führte ein Ausfall einer der Komponenten 왘 Job Prozessor, 왘 Hauptspeichermodul, 왘 I/O-Prozessor, 왘 Datenbus, 왘 Systembus,
stets zu einem Systemfehler, d.h. Absturz des Komplettsystems. Eine höhere Verfügbarkeit dieser Systeme wurde dadurch erreicht, dass bei einem solchen Absturz die betroffene Komponente dekonfiguriert werden konnte und das System daraufhin sofort wieder angefahren werden konnte. Dabei sind jedoch einige Restriktionen zu beachten: Ein Neustart bei ausgefallener I/O-Komponente ist nur dann möglich, wenn noch Zugriff auf eine BootPlatte besteht. Der Neustart ist ebenfalls abhängig von der Konfiguration des I/O-Subsystems, einem evtl. vorhandenen Disk Mirroring und Dual Porting-Konfigurationen etc. Die Geschwindigkeit des Neustarts ist ebenfalls abhängig vom Recovery des Dateisystems der Platten und dem Recovery der Anwendungsdatenbanken. Die Entwicklung der Hochverfügbarkeitsansätze für Platten-Subsysteme werden im nächsten Unterabschnitt dargestellt. Die Auswirkungen auf Betriebssystem- und Anwendungssystemumgebung beleuchtet dieses Buch im Anschluss an die Darstellungen der Hardware-Komponenten moderner SAN-Umgebungen und die Erläuterung der darin eingesetzten Basis-Technologie-Komponenten. Die Hostkomponenten heutiger SAN-Umgebungen verwenden in der Regel eine modifizierte Form einer 1 für 1-Hardware-Redundanz, indem sie identische Hostkomponenten zu einem Cluster zusammenfassen. Innerhalb des Clusters können sämtliche Hosts die Platten des jeweils anderen Hosts sehen, für den sie den Backup darstellen. Über Heartbeat-Platten oder Netze wird von der Cluster-Software beständig geprüft, ob ein Host noch »lebt«. Kommt es zu einem virulenten Komponentenausfall, so schwenkt die Ausführung der auf dem ausgefallenen Host anhängigen Anwendungen auf den Backup-Host. Hier entfällt das Warten auf die zeitaufwändige Dekonfiguration der ausgefallenen Komponente und den Neustart des Hostsystems mit der Überprüfung der Dateisysteme und dem Neustart der Anwendungen. Was jedoch im Gegensatz zu einer tatsächlichen 1 für 1-Hardware-
20
Hochverfügbarkeit
Redundanz nicht erreicht wird, ist eine totale Fehlertoleranz. Auch in Cluster-Umgebungen stürzen bei Komponentenfehlern die Anwendungen dieser Komponenten ab, müssen neugestartet werden und auf ein Recovery evtl. beteiligter Datenbank-Management-Systeme warten. Das Zusammenwirken von Hardware- und Softwarekomponenten einer Cluster-Umgebung wird in einem späteren Kapitel dieses Buches dargestellt.
1.1.2
Komponenten des I/O-Subsystems
Wie bereits erwähnt ist Hochverfügbarkeit ein Merkmal von Komplettsystemen, nicht allein von Prozessoren. Für sämtliche Nicht-Prozessor-Hardware-Komponenten eines DV-Systems gelten die gleichen Prinzipien wie für die Prozessorkomponenten. Multiple Komponenten können einen Backup für den Ausfall von Systemkomponenten darstellen. Als erster Ansatz zur Minimierung der Verwundbarkeit eines Platten-Subsystems wurde Disk Mirroring implementiert. Dabei werden die Daten Controller- oder Softwaregesteuert auf zwei identische Magnetplatten geschrieben. Fällt eine Platte aus, wird ihre Funktion ohne Daten- oder Systemverlust von ihrem »Spiegel« übernommen. Die defekte Platte kann im laufenden Betrieb ausgetauscht und vom aktiven Spiegel aus wieder synchronisiert werden.
• RAID 1 – 1:1 Kopie lokaler Spiegel
Abbildung 1.1: Absicherungsmöglichkeiten für Magnetplatten
• RAID S – Daten-Platten (3) + Parity-Platte (1)
• RAID-R – Daten-Platten (7) + Parity-Platte (1)
• RDM – Remote Spiegel lokaler Platten In den 80er und frühen 90er Jahren war Disk Mirroring auf lokale Platten eines Hosts beschränkt, d.h. die Platten waren über einen internen I/O-Bus mit dem Hauptspeicher und dem Prozessor eines Rechnersystems verbunden. Als Erweiterung dieses Ansatzes wurden Magnetplatten-Subsysteme entwickelt, an die mehrere Computersysteme der gleichen Hardwarearchitektur angeschlossen werden konnten. Über eine Dual Porting-Funktionalität konnten die Magnetplatten eines solchen gespiegelten MagnetplattenSubsystems an mehrere Hosts angeschlossen werden, sodass beim Ausfall eines Hosts dessen Platten von dem zweiten übernommen und mit dem zweiten Host nach Start der Applikationen des ausgefallenen Hosts dessen Funktionen weitergeführt werden konnten. Die Hochverfügbarkeits-Hard21
1 Der Weg zu SAN und NAS
waremerkmale dieser Subsysteme schlossen eine Online-Diagnose des Magnetplatten-Subsystems, eine Online-Reparatur ausgefallener Komponenten sowie eine komplette Hardware-Redundanz sämtlicher Komponenten des Magnetplatten-Subsystems ein. Heutige Disk Arrays bieten über eine große Anzahl unterschiedlicher HostBus-Adapter die Möglichkeit, eine Vielzahl von Hosts unterschiedlicher Architektur anzuschließen. Weiter werden außer kompletten Spiegeln ganzer Platten auch weitere Sicherheitsverfahren aus den RAID-Standards (Redundant Array of Inexpensive Disks) unterstützt, die es ermöglichen, auch ohne komplette Disk-Spiegel den Inhalt einer ausgefallenen Platte durch ParityInformationen auf anderen Platten wiederherstellen zu können. Aufbau und Funktionalität solcher Disk Arrays und zu Grunde liegende Standards werden im Unterkapitel »Storage Arrays« des Kapitels »SANHardware-Komponenten« beschrieben.
1.2 Abbildung 1.2: Primäre SAN-Komponenten – Host (Host-Bus-Adapter) und hochverfügbares Storage Array
Storage Area Networks S tora ge Arra y Front-End
S tora ge Arra y Globa l S ha re d Me mory
To p Hig h
S tora ge Arra y Ba ck-End To p Low
Ho s t A Ca c h e S lo ts
Dis k Dire c to r
Ch a n n e l Dire c to r
P ort A P ort B
P roze s s or B P owe rP C750 266 MHz
P roze s s or B P owe rP C750 266 MHz
P ort C P ort D
P ort A P ort B P roze s s or A P owe rP C750 266 MHz
Tra c k Ta b le
P roze s s or A P owe rP C750 266 MHz
S ta tu s u n d Ko m m u n ika Tra c k Ta b le tio n s-Mailb o xe s
40 MB/S e k Ultra S CS I-Bus
P ort C P ort D
High Me mory
Ho s t B
DA (DiskAd a p te r)
Low Me mory Bo tto m Low
Bo tto m Hig h
Die in den vorigen Abschnitten dargestellten Komponenten bilden die grundlegenden Bausteine von Storage Area Networks. Über hochverfügbare Host- und I/O-Subsystemkomponenten in Cluster-Umgebungen werden Hardwareausfälle möglichst unterbrechungsfrei umgangen. Über eine entsprechende Konfiguration der Netzwerk- und Hochverfügbarkeits-Software
22
Storage Area Networks
(vgl. Kapitel »SAN-Softwarekomponenten«) wird ein benutzertransparentes Failover auf Backupkomponenten gewährleistet, wenn eine der primären Komponenten ausfallen sollte. Dennoch lässt die bisherige Betrachtung einige Details außen vor, bei deren Berücksichtigung noch gravierende Mängel einer Hochverfügbarkeitslösung, die lediglich auf den oben dargestellten Momenten aufbaut, hervortreten lässt. So ist bei den oben angeführten Verfahren der Anschluss der Hosts an ihre I/O-Subsysteme über Host-Adapter unterschiedlicher Technologien wie z.B. den Anschluss über parallele Schnittstellen (Centronics Host-Bus-Adapter), SCSI (Small Computer Systems Interface) oder auch Fibre Channel-Adapter realisiert (vgl. Kapitel zwei »SAN – Grundlegende Basis-Technologien«). Sämtliche Anschlussmöglichkeiten (außer eingeschränkt Fibre Channel) beschränken jedoch die räumliche Distanz zwischen dem Host und »seinen« Platten in den verwendeten Storage Arrays auf wenige Meter bis wenige hundert Meter. Eine lokal so eingegrenzte Hochverfügbarkeitslösung kann zwar ausreichen, im System selbst technisch aufgetretene Ausfälle zu kompensieren, ist jedoch auf keinen Fall geeignet, Totalverluste der Systemumgebung abzufangen. Allein schon der Gedanke an einen lokalen Stromausfall erhellt das Problem. Ist ein Rechenzentrum nicht mit einer Notstromversorgung ausgestattet (was natürlich sämtliche hochverfügbaren Rechenzentren sind), so führt ein Stromausfall trotz implementierter Hochverfügbarkeit zu einem Totalverlust der Anwendungen. Gegen Stromausfall sind die Rechenzentren zwar in der Regel geschützt. Wie steht es jedoch mit Ereignissen wie Wasserschäden, Feuer oder Naturkatastrophen wie z.B. einem Erdbeben? Rechenzentren, deren Hochverfügbarkeits-Architektur auf eine so enge Lokalität wie die beschriebene beschränkt ist, können aus solchen Szenarien nicht unbeschadet hervorgehen. Dennoch werden auch solche Umgebungen, die lokal lediglich mehrere Hosts an ein oder mehrere Storage Arrays binden, bereits als SAN oder Storage Area Networks bezeichnet. Dieses Buch beschränkt jedoch die Definition des SAN nicht allein darauf, dass mehrere Hostsysteme über ihre Host-Bus-Adapter Zugriff auf ein und dasselbe Storage Array besitzen und auch evtl. via Redundanzen der Hardware lokale Ausfallsicherheit bieten. Storage Area Networks im Sinne dieses Buches kombinieren die oben beschriebenen Hochverfügbarkeitskomponenten mit einer Netzwerkkomponente. Eine Host- und I/O-SubsystemUmgebung wird von einer identischen Umgebung gesichert, die sich bei Verwendung einer Fibre Channel Campus-Lösung bis zu 60 Kilometer, bei Verwendung von Telefon-Protokollen auch Tausende Kilometer entfernt befinden kann. Für die Implementierung einer solchen Technologie ist zur Gewährleistung einer hohen Bandbreite die Fibre Channel-Technologie einzusetzen. Als SAN bezeichnen wir somit ein hochverfügbares Speichernetzwerk, dessen Komponenten nicht auf engem Raum lokalisiert sind und daher auch oben beschriebene Katastrophen-Szenarien absichern können. In diesem Buch befassen wir uns mit dem Aufbau, der Administration und den technologischen Grundlagen der Hardware- und Softwarekomponenten solcher Storage Area Networks.
23
1 Der Weg zu SAN und NAS Abbildung 1.3: SAN-Definition diesem Buch gemäß
Lokale Hosts
Lokales Storage Array
Remote Storage Array
Remote Hosts
Campus (60 km) oder Distance Solutions
1.3
Network Attached Storage
In einer in heutigen Unternehmen weit verbreiteten verteilten Anwendungsumgebung werden die Anwendungsdaten auf einer Vielzahl von Servern gespeichert und ihren Client-Rechnern über Netzwerk zur Verfügung gestellt. Jeder der Server ist dabei für die Verwaltung seiner eigenen Daten verantwortlich. Das heißt, jeder Server wird lokal verwaltet, es werden lokale Datensicherungen betrieben, Benutzer- und Netzwerkadministration erfolgen ebenfalls lokal. Eine solche Umgebung bedeutet für das Unternehmen stets einen hohen Administrationsaufwand und damit verbunden hohe Administrationskosten. Dies führt dazu, dass über die Konsolidierung dieser Services nachgedacht und überlegt werden muss, ob sich durch die Zentralisierung einzelner Komponenten dieses Netzwerks nicht Kostenreduzierungen ergeben und Synergieeffekte mit der zentralen Datenverarbeitung des Unternehmens erzielt werden können. Network Attached Storage (NAS) stellt eine solche Konsolidierung dar. FileServer machen bei NAS Dateien und Dateisysteme über IP-Netzwerke verfügbar. Dabei wird auf zentralisierte Storage Devices zugegriffen. Diese Devices sind genau die I/O-Subsysteme, die auch in SAN-Lösungen eingesetzt werden. Dadurch können auch in NAS-Umgebungen die Hochverfügbarkeitslösungen der SANs eingesetzt und genutzt werden. Die FileServer bieten effizientes Daten-Sharing zu deutlich reduzierten Verwaltungs-
24
Network Attached Storage
aufwendungen, da die Zentralisierung der Datenhaltung zu einer zentralen Administration genutzt werden kann. Die Clients und Applikations-Server greifen über unterschiedliche Netzwerkmedien und Netzwerk-Protokolle auf die in den Storage Devices gespeicherten Informationen zu. So werden beispielsweise NFS- und CIFS-Protokolle unterstützt, die sowohl Unix-Servern über NFS, als auch Microsoft Windows NT-Servern über CIFS/SMB den simultanen Zugriff auf die gleichen Dateien ermöglichen. Ein NAS ist aus drei wesentlichen Bestandteilen aufgebaut: 왘 redundant konfigurierbaren File-Servern, in der Regel Standard-PCs mit
einem auf I/O-Belange reduzierten Betriebssystem. Diese stellen quasi einen hoch performanten I/O-Kanal zwischen I/O-Subsystem (den Storage Devices) und den über das Netzwerk angeschlossenen Clients (Network Attached Clients, daher auch die Bezeichnung als Network Attached Storage) dar; 왘 einem ebenfalls redundant ausgelegten Management-Prozessor, eben-
falls ein Standard-PC mit der Funktion der Konfiguration und des zentralen Managements der NAS-Umgebung sowie der Möglichkeit der unterbrechungsfreien Online-Wartung der File-Server und der Storage Devices; 왘 den Storage Devices. Hierbei handelt es sich um die gleichen Disk Arrays,
die das I/O-Subsystem moderner SAN-Umgebungen ausmachen. Diese Storage Devices werden auch für NAS-Umgebungen zu SANs konfiguriert, um die Hochverfügbarkeit der Fileservices zu gewährleisten. Abbildung 1.4: Komponenten des Network Attached Storage
LAN
Network SNSD
Heterogene Server Storage Array
Heterogene Clients/ Hosts
DataMover
Memory
Disk
Disk
Channel
SCSI
Adapter
Director
Director
Adapter
Disk
Disk
Adapter
Director
Disk Adapter
Disk Director
Disk
Disk
Adapter
Director
Channel Director
Channel Director
SCSI Adapter
SCSI Adapter
Channel
SCSI
Director
Adapter
Band
ControlStation
Dateisysteme:
Netzwerkschnittstellen:
Netzwerkprotokolle:
- UxFS
- Ethernet
- TCP/IP und UDP/IP
- FDDI
Dateizugriffsprotokolle: - Sun NFS V2 & V3
Dateiübertragung: - FTP / TFTP
- CIFS
- ATM
25
1 Der Weg zu SAN und NAS
Damit ist Network Attached Storage eindeutig nicht als Alternative zu einem Storage Area Network zu sehen. Network Attached Storage als Lieferant der Kapazitäten, die zur Unterstützung von klassischen kaufmännischen Anwendungen (z.B. unseres Handelssystems vom Anfang dieses Kapitels), lieferte alleine schon nicht die benötigte I/O-Bandbreite von vielen Megabytes pro Sek., die diese Anwendungen benötigen, abgesehen von allen weiteren bekannten Problemen mit Netzwerken. Network Attached Storage eignet sich jedoch hervorragend dafür, einer Vielzahl von Clients Fileservices zukommen zu lassen, was für Anwendungen wie Internetportale und Video-on-Demand und für die Dienstleistungen eines Internetproviders unabdingbar ist. Da diese Anwendungen ebenfalls dem Hochverfügbarkeitsanspruch unterliegen, werden die Storage Devices des NAS ebenfalls in das unternehmensweite SAN eingebunden und seine Fileservices so redundant als möglich angeboten. Die Kombination aus Network Attached Storage und Storage Area Network bildet das Speichernetz heutiger Unternehmen, ein Speichernetz, das als »unternehmensweites Speichernetzwerk« die hohe Verfügbarkeit der IT-Umgebung eines Unternehmens garantiert. Ein solches unternehmensweites Speichernetzwerk wird in Abbildung 1.5 dargestellt: Abbildung 1.5: Enterprise Storage Networks
Enterprise Communications Network
Database and Applications Hosts/Servers
File Services
NAS-Server Network Attached Storage
Switch Fibre Channel Director
Enterprise Storage Network
Storage Array Enterprise Storage
Dieses Buch behandelt sämtliche Komponenten moderner Enterprise Storage Networks. Das folgende Kapitel betrachtet die wesentlichen BasisTechnologien, die für den Aufbau solcher Speichernetze eingesetzt werden.
26
2
SAN – Grundlegende Basis-Technologien
2.1
Anschluss von Storage Devices über das SCSI-Protokoll
Storage Devices in SAN-Umgebungen werden je nach dem Host, von dem aus sie genutzt werden sollen, auf unterschiedliche Art und Weise angeschlossen. Klassische Host-Umgebungen wie in S/390-Systemarchitekturen von IBM kommunizieren mit ihren Speichermedien über blockorientierte Parallelschnittstellen. Das hierbei hauptsächlich verwendete Protokoll ist das HiPPI (High Performance Parallel Interface). Der parallele Anschluss der Storage Devices bedeutet jedoch, dass einige Einschränkungen in Kauf genommen werden müssen.
Interface
Ports
Maximale Entfernung
MB/ Sek
Kabeltyp
Hosts
Parallel
4
Ca. 160 m
4,5
Parallel Kupfer
Mainframe
ESCON
2/4
3 km ohne Repeater
17
Glasfaser 62,5 µ
Mainframe
4
25 m (FWD) 19 m (UWD)
20 40
Parallel Kupfer
Open Systems
SCSI
Fibre Channel
2 4.x
300 m / 500 m
100
Glasfaser 62,5 µ / 50 µ
Open Systems
Fibre Channel
8/2 5.x
300 m / 500 m
100
Glasfaser 62,5 µ / 50 µ
Open Systems
Abbildung 2.1: Interface-Technologien für StorageAnschluss im SAN
So kann das extern angeschlossene Storage-System maximal 160 Meter vom Host entfernt verkabelt werden. Das physikalische Verbindungsmedium ist ein paralleles Kupferkabel. Je Port eines verwendeten parallelen Host-Bus-
27
2 SAN – Grundlegende Basis-Technologien
Adapters (HBA) und des über diesen angeschlossenen parallelen Systemadapters am Storage-System kann eine maximale Übertragungsbandbreite von 4,5 MB/Sek. erzielt werden. Diese Einschränkungen führten schon relativ früh in Host-Umgebungen zu Überlegungen, wie Transportmechanismen über Glasfaserkabel implementiert werden können, die die restriktivsten Einschränkungen (maximale Entfernung und geringe Übertragungsbandbreite) der parallelen AnschlussTechnologien überwinden helfen. Seitens IBM wurde dazu das ESCON-Protokoll (Enterprise Systems Connection) entwickelt und für hochverfügbare Host-/Storage-Umgebungen eingesetzt. Dieses Glasfaser-Protokoll erweiterte die maximale Distanz zwischen Host und Storage-System auf drei Kilometer (ohne Repeater) und steigerte die Übertragungsbandbreite auf 17 MB/Sek. Die klassischen Anschlusstechniken bei internen und externen Geräten in Open Systems-Umgebungen basieren auf dem SCSI-Protokoll (Small Computer System Interface). Die beiden gängigsten Protokoll-Sets des SCSI-Protokolls sind Fast Wide Differential SCSI (FWD) und Ultra Wide Differential SCSI (UWD). Beide Techniken basieren auf paralleler Kupferverkabelung als physikalischem Transportmedium. Ein über FWD angeschlossenes Gerät darf maximal 25 Meter von seinem Host entfernt sein, UWD erlaubt eine noch geringere Distanz von nur maximal 19 Metern. Die Übertragungsbandbreite je Port eines HBAs respektive eines SCSI-Systemadapters beim angeschlossenen Storage Device beträgt jedoch mit 20 MB/Sek. (FWD) und 40 MB/Sek. (UWD) ein Vielfaches der parallelen Anschlusstechniken der MainframeUmgebungen und schlägt auch die ESCON-Bandbreite um maximal mehr als das Doppelte. Auch in Open Systems-Umgebungen wurden Implementierungen der Glasfaser-Technologie als Schnittstellentechnik für Storage-Systeme gesucht. Da die Standardisierungstendenzen in Open Systems-Umgebungen stets stärker ausgeprägt waren als in klassischen Mainframe-Umgebungen, wurde hier mit dem Fibre Channel-Protokollstack ein ANSI-Standard (American National Standards Institute, vergleichbar dem deutschen DIN – Deutsches Institut für Normierung) entwickelt, der heute von der kompletten Computerindustrie als der Schnittstellenstandard der Zukunft akzeptiert und implementiert wird. Im Folgenden wird ein Hauptaugenmerk auf den gängigen Anschluss von Speichersystemen über das SCSI-Protokoll gelegt. Als Beispiel für die Adressierung, Einrichtung und Administration von SCSI Storage Devices soll die SCSI Device-Administration unter Solaris 2.x von SUN Microsystems dargestellt werden. Weiter wird – als Beispiel für die Lösung der Distanzprobleme von über SCSI angeschlossenen Peripheriegeräten – ein Überblick über Netzwerk-Technologien gegeben, bevor mit der Darstellung der Fibre Channel-Standard-Implementierung die Schnittstellen-Technologie dargestellt wird, die sämtliche in Open Systems- und Mainframe-Umgebungen
28
Anschluss von Storage Devices über das SCSI-Protokoll
verwendeten Interface-Protokolle unterstützt und mit den Vorzügen von Netzwerken – große Distanz, beliebige Anzahl von Netzknoten und leichte Administrierbarkeit – verbindet.
2.1.1 2.1.1.1
Device-Administration unter Solaris 2.x Erstellen und Verwalten von Special Files – Character Devices für Magnetbänder, -platten, Disketten und CD-ROMs unter Solaris
Unter Solaris wie auch unter sämtlichen anderen Unix-Derivaten werden zwei Arten von Datenmedien unterschieden: 왘 »Cooked« Files, als Dateien, die auf einer Magnetplatten-Partition liegen,
die ein Dateisystem (Filesystem) enthält und 왘 »Raw« Files, auch als raw devices oder Special Files bezeichnet, die einer
Magnetplattenpartition entsprechen, die kein Dateisystem enthält, oder die lediglich ein Gerät repräsentieren, das seitens des Betriebssystems »gekannt« wird. Diese Datenmedien, auch Devices oder (externe) Speichermedien genannt, werden in aller Regel über das SCSI-Interface angeschlossen. Die Adressierung der Medien erfolgt über so genannte Special Files. Diese folgen in ihrer Benennung einer so genannten CTL-Mimik. Ein Device, z.B. eine Magnetplatte, erhält eine Adresse, die im Wesentlichen aus drei Bestandteilen aufgebaut ist: 왘 dem Controller, über den die Platte ansprechbar ist. Bei diesem Controller
handelt es sich um einen Host-Bus-Adapter. Ein SCSI-Controller bietet bis zu acht Anschlussmöglichkeiten/Adressen (Ports) für Devices, wovon eine Adresse für den Controller selbst vorgesehen ist. 왘 Diese Ports bezeichnen das Target, an dem Devices, z.B. Magnetplatten
angeschlossen werden. FWD und UWD-Controller besitzen standardisiert vier Targets, an denen externe Geräte wie Storage-Systeme oder Magnetband-Bibliotheken (Tape Roboter) angeschlossen werden können. 왘 Die LUN (Logical Unit Number) bezeichnet das physikalische Gerät, das
an das Target angeschlossen ist. Die LUN wird – bei 0 beginnend – hochgezählt. In gängigen Implementierungen werden maximal acht physikalische Devices (Magnetplatten, LUNs) an ein SCSI-Target angeschlossen.
29
2 SAN – Grundlegende Basis-Technologien
Eine Magnetplatte kann also anhand Ihrer Adresse eindeutig lokalisiert werden. Die Magnetplatte mit der Adresse c0t2d4 ist gemäß der CLT-Mimik also die fünfte Platte (d4) am dritten Port oder Target (t2) des ersten SCSI-Controllers (c0) im Host. Die Position des Controllers wird durch den Slot am Backpanel des Hosts definiert, in den das Controller-Board gesteckt wird.
2.1.1.2
Das Konzept der Special Files
Folgendes Beispiel verdeutlicht das Konzept der Special Files unter Solaris. Es soll die erste Partition einer Magnetplatte beschreiben, die auf dem Target 3 des ersten SCSI-Busses liegt. Dateityp
Verzeichniseintrag
Kommando zum Erstellen des Special Files
symbolic link
/dev/sd0a zeigt auf
# /usr/ucb/ucblinks
symbolic link
/dev/dsk/c0t3d0s0 zeigt auf
# disks # tapes # ports # devlinks
Special File
/devices/sbus@1,f8000000/
# /drvconfig
esp@0,8f00000/sd@3,0:a Tab. 2.1: Das Konzept der Special Files
2.1.1.3
Special Files im Verzeichnissystem
Die Special Files stehen in den Hierarchieebenen unter dem Verzeichnis /devices. Die Hierarchie unterhalb des Verzeichnisses /devices reflektiert das Hardware-Layout des Solaris-Computers. Special Files werden während des Boot-Vorgangs angelegt, wenn ein Device zum ersten Male erkannt wird. Hierzu wird beim Boot ein SCSI-Scan durchgeführt. Der Boot-Prozess überprüft dabei sämtliche Controller-Slots, ob an diesen SCSI-Host-Bus-Adapter angeschlossen sind und ob an deren Targets Devices hängen. Ein solcher SCSI-Scan sieht dabei sämtliche hostintern angeschlossene Devices, jedoch auch sämtliche Devices, die über ein Target eines Host-Bus-Adapters an einen SCSI-Systemadapter eines externen Storage Arrays angeschlossen sind. Das Ergebnis eines solchen SCSI-Scans kann z.B. wie folgt aussehen:
30
Anschluss von Storage Devices über das SCSI-Protokoll Device --------------------Name --------------------/dev/rdsk/c0t0d0s2 /dev/rdsk/c0t1d0s2 /dev/rdsk/c0t2d0s2 /dev/rdsk/c1t0d0s2 /dev/rdsk/c1t1d0s2 /dev/rdsk/c1t2d0s2 /dev/rdsk/c2t17d0s2 /dev/rdsk/c2t17d1s2 /dev/rdsk/c2t17d2s2 /dev/rdsk/c2t17d3s2 /dev/rdsk/c2t17d4s2 /dev/rdsk/c2t17d5s2 /dev/rdsk/c2t17d6s2 /dev/rdsk/c2t17d7s2 /dev/rdsk/c2t17d8s2 /dev/rdsk/c2t17d9s2 /dev/rdsk/c2t17d10s2 /dev/rdsk/c2t17d11s2 /dev/rdsk/c2t17d12s2 /dev/rdsk/c2t17d13s2 /dev/rdsk/c2t17d14s2 /dev/rdsk/c2t17d15s2 /dev/rdsk/c2t17d16s2 /dev/rdsk/c2t17d17s2 /dev/rdsk/c2t17d18s2 /dev/rdsk/c2t17d19s2 /dev/rdsk/c2t17d240s2 /dev/rdsk/c2t17d241s2 /dev/rdsk/c3t18d0s2 /dev/rdsk/c3t18d1s2 /dev/rdsk/c3t18d2s2 /dev/rdsk/c3t18d3s2 /dev/rdsk/c3t18d4s2 /dev/rdsk/c3t18d5s2 /dev/rdsk/c3t18d6s2 /dev/rdsk/c3t18d7s2 /dev/rdsk/c3t18d8s2 /dev/rdsk/c3t18d9s2 /dev/rdsk/c3t18d10s2 /dev/rdsk/c3t18d11s2 /dev/rdsk/c3t18d12s2 /dev/rdsk/c3t18d13s2 /dev/rdsk/c3t18d14s2 /dev/rdsk/c3t18d15s2 /dev/rdsk/c3t18d16s2 /dev/rdsk/c3t18d17s2 /dev/rdsk/c3t18d18s2 /dev/rdsk/c3t18d19s2 /dev/rdsk/c3t18d240s2 /dev/rdsk/c3t18d241s2 /dev/rdsk/c4t33d0s2 /dev/rdsk/c4t33d1s2
Product -------Type -------SEAGATE SEAGATE FUJITSU FUJITSU FUJITSU SEAGATE R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 GK GK R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 GK GK R2 R2
--------------------Vendor ID --------------------ST318203L SUN18G ST318203L SUN18G MAG3182L SUN18G MAG3182L SUN18G MAG3182L SUN18G ST318203L SUN18G EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX EMC SYMMETRIX
Device -------------------------------Rev Ser Num Cap (KB) -------------------------------034A 0013E672 17689266 034A 0013E610 17689266 1111 00135481 17689266 1111 00135488 17689266 1111 00135488 17689266 034A 0013E718 17689266 5265 62009000 8838720 5265 6200A000 8838720 5265 6200B000 8838720 5265 6200C000 8838720 5265 6200D000 8838720 5265 6200E000 8838720 5265 62016000 8838720 5265 62017000 8838720 5265 62018000 8838720 5265 62019000 8838720 5265 6201A000 8838720 5265 6201B000 8838720 5265 6201C000 8838720 5265 6201D000 8838720 5265 6201E000 8838720 5265 6201F000 8838720 5265 62020000 8838720 5265 62021000 8838720 5265 62022000 8838720 5265 62023000 8838720 5265 62014000 2880 5265 62015000 2880 5265 62009000 8838720 5265 6200A000 8838720 5265 6200B000 8838720 5265 6200C000 8838720 5265 6200D000 8838720 5265 6200E000 8838720 5265 62016000 8838720 5265 62017000 8838720 5265 62018000 8838720 5265 62019000 8838720 5265 6201A000 8838720 5265 6201B000 8838720 5265 6201C000 8838720 5265 6201D000 8838720 5265 6201E000 8838720 5265 6201F000 8838720 5265 62020000 8838720 5265 62021000 8838720 5265 62022000 8838720 5265 62023000 8838720 5265 62014000 2880 5265 62015000 2880 5265 99009000 8838720 5265 9900A000 8838720
31
2 SAN – Grundlegende Basis-Technologien
Dabei stellen die ersten sechs angezeigten Magnetplatten die hostintern angeschlossenen Platten dar. Sämtliche anderen Platten befinden sich in einem Storage Array – hier einem Symmetrix-System des Herstellers EMC2, das im SAN verfügbar ist. Es gibt jedoch ebenfalls Kommandos, um ein Special File quasi manuell durch den Systemadministrator erstellen zu lassen. Um BSD- oder System V-Gewohnheiten eines Administrators gerecht zu werden, existieren im Verzeichnis /dev zwei symbolische Links auf jedes Special File. 왘 Ein Name für das Special File im BSD-Stil
Beispiel: /dev/sd0a
(symbolic link)
왘 Ein Name für das Special File im System V-Stil
Beispiel: /dev/dsk/c0t3d0s0
(symbolic link)
Beide symbolische Links zeigen auf das gleiche Special File /devices/sbus@1,f8000000/esp0,800000/sd@3,0:a
2.1.1.4
Manuelles Erstellen von Special Files
Mit dem Kommando # drvconfig
werden innerhalb der Verzeichnishierarchie unterhalb /devices die Special Files und die Verzeichnisstruktur für sämtliche erkannte Geräte erstellt. Beispiel: # drvconfig
2.1.1.5
Erstellen von symbolischen Links im Unix-System V-Stil
Abhängig von der Art des Gerätes können mit unterschiedlichen Kommandos symbolische Links auf die Special Files dieser Geräte im System V-Stil erstellt werden. Folgende Kommandos existieren dazu: # disks # tapes
32
Das Kommando # disks erstellt symbolische Links zu Special Files, die für den Zugriff auf Platten verwendet werden. Das Kommando # tapes erstellt symbolische Links zu Special Files, die für den Zugriff auf Bandlaufwerke verwendet werden.
Anschluss von Storage Devices über das SCSI-Protokoll
# ports # devlinks
2.1.1.6
Das Kommando # ports erstellt symbolische Links zu Special Files, die für den Zugriff auf Ports (IPC) verwendet werden. Das Kommando # devlinks erstellt symbolische Links zu sämtlichen anderen Special Files, die in der /etc/devlink.tab beschrieben und eingetragen sind.
Erstellen von symbolischen Links im BSD-Stil
Zur Unterstützung von zu SunOS 4.x kompatiblen Device-Namen werden mithilfe des Kommandos # ucblinks
symbolische Links im BSD-Stil auf die symbolischen Links im System V-Stil erzeugt. Beispiel: # /usr/ucb/ucblinks
Scanning /devices/ directory tree ... Scanning /dev/ directory tree ...
2.1.1.7
Erstellen von Special Files und symbolischen Links während des Boot-Vorgangs
Wird bei dem Boot-Kommando die Option -r verwendet, so werden für sämtliche vom Boot erkannten Geräte die Special Files und symbolischen Links erstellt. In einigen Fällen ist es nach diesem Re-Boot zur Rekonfiguration notwendig, zur Erstellung weiterer kompatibler Namen das Kommando # /usr/ucb/ucblinks
auszuführen. Beispiel: ok boot -r
Die Option -r rekonfiguriert das System. Dabei werden sämtliche angeschlossenen Geräte erkannt.
33
2 SAN – Grundlegende Basis-Technologien
2.1.1.8
SCSI-Namen der Special Files
Special Files für Magnetband-Laufwerke Bis zu sieben SCSI-Bandlaufwerke können an einen SCSI-Controller angeschlossen werden. Die Special Files und deren korrespondierende symbolische Links werden in einem der folgenden Wege erstellt: 왘 boot -r Rekonfigurations-Boot, nachdem das Bandlaufwerk installiert
wurde 왘 Durch die Kommandos # drvconfig und # tapes
Für das erste angeschlossene Bandlaufwerk (z.B. an SCSI Target vier angeschlossen) werden folgende Special Files und symbolische Links erstellt: 왘 Special Files
/devices/sbus@1,f8000000/esp@0,f800000 /st@4,0:[
][n] 왘 Symbolic Link
/dev/rmt/0[][n] Abhängig vom Namen, über den auf das Magnetband zugegriffen wird, werden unterschiedliche Densities verwendet. Folgende Densities sind verfügbar: Density (Abkürzung) l
Bedeutung LOW (niedrig)
m
MEDIUM (mittel)
h
HIGH (hoch)
Tab. 2.2: Magnetband-Densities unter Solaris
Wird keine Density angegeben, schreibt ein Bandlaufwerk in seiner »präferierten Density«. Die präferierte Density ist stets die höchste Density, die von dem Bandlaufwerk unterstützt wird. Soll ein Magnetband auf einer Bandstation gelesen werden, die eine andere Density unterstützt als die der Bandstation, auf der es erzeugt wird, so muss diese spezielle Density während des Schreibens des Bandes angegeben werden. Mit dem Buchstaben n am Ende der Datei (symbolischer Link), über die das Bandlaufwerk angesprochen wird, wird das Magnetband nach dem Beschreiben nicht zurückgespult ( n = No Rewind).
34
Anschluss von Storage Devices über das SCSI-Protokoll
Folgende Beispiele beschreiben, wie auf das erste Magnetband-Laufwerk, das am System angeschlossen ist, zugegriffen werden kann: /dev/rmt/0
Standard Density und Zurückspulen
/dev/rmt/0n
Standard Density und nicht Zurückspulen
/dev/rmt/0h
Hohe Density und Zurückspulen
/dev/rmt/0hn
Hohe Density und nicht Zurückspulen
Zur Verwaltung von Magnetband-Stationen kann das Tape-Control-Kommando # mt verwendet werden. Optionen zum mt-Kommando -f Angabe des Gerätenamens, auf den sich der mt-Befehl
beziehen soll eof, weof
Schreibt auf die aktuelle Position des Magnetbandes eine EOF-Marke (Dateiende)
eom
Vorspulen bis ans Ende des verwendeten Bereiches auf dem Magnetband, um hinter diesem Ende weitere Daten zu schreiben
erase
Löschen des gesamten Magnetband-Inhaltes
fsf
Vorspulen des Magnetbandes um die Dateien
offline
Auswerfen des Magnetbandes und Offline-Setzen des Magnetband-Laufwerkes nach Zurückspulen des Magnetbandes zur BOT-Marke
rewind
Zurückspulen des Magnetbandes zur BOT-Marke (Begin of Tape)
status
Anzeigen der Zustands-Informationen (Status) des Magnetband-Laufwerkes
Beispiel (Statusabfrage) # mt -f /dev/rmt/1 status
Archive DDS Data Cartridge tape drive: sense key(0x6)= unit attention residual= 0 file no= 0 block no= 0
2.1.1.9
retries= 0
Special Files für Floppy-Laufwerke
SPARC-Stations werden mit einem Floppy-Laufwerk ausgeliefert. Die folgenden Special Files und symbolischen Links werden für das Floppy-Laufwerk angelegt:
35
2 SAN – Grundlegende Basis-Technologien 왘 Special Files
Block Device: /devices/fd@1,f7200000:c Character Device: /devices/fd@1,f7200000:c,raw 왘 Symbolic Link
Zum Block Device: /dev/diskette Zum Character Device: /dev/rdiskette Zum Formatieren einer Floppy-Disk wird das Kommando # fdformat
verwendet. Disketten werden beim Formatieren standardmäßig auf 1,44 MByte Kapazität formatiert. Dabei wird die Oberfläche der Diskette auf Bad Blocks untersucht und diese ausgetragen. Auf der Diskette bereits vorhandene Daten gehen durch das Formatieren verloren. Optionen zum fdformat-Kommando
36
- D
(Simple Density) Es formatiert eine 3,5"-Diskette auf lediglich 720 KBytes Kapazität. Eine 5,25"-Diskette wird auf 320 KBytes formatiert.
- E
(Extended Density) Es formatiert eine Diskette auf 2,88 MByte Kapazität, wenn das Floppy-Laufwerk diese Density unterstützt.
- H
Es formatiert eine 3,5"-Diskette mit 1,44 MByte, auch wenn das Floppy-Laufwerk, in dem die Diskette liegt, eine extended density unterstützt.
- U
(Unmount) Es hängt die zu formatierende Diskette vor dem Formatieren aus dem Dateisystem aus.
- b
Hier wird ein Name (Label) für das Laufwerk vergeben. Wird eine Diskette für DOS formatiert (t-Option), darf das Label maximal acht Zeichen, für ufs-Dateisysteme lediglich elf Zeichen lang sein.
- e
(Eject) Die Diskette wird nach dem Formatieren aus dem Diskettenschacht ausgeworfen.
- f
(Force) Hier wird die Diskette sofort formatiert ohne Acknowledgement-Rückfrage.
- q
(Quit) Hier wird die Diskette ohne Ausgabe von Meldungen zum Formatierungsvorgang formatiert.
Anschluss von Storage Devices über das SCSI-Protokoll
- t dos
Die Diskette für MS-DOS wird formatiert.
- v
(Verbose) Ausführliche zusätzliche Oberflächenüberprüfung der Diskette nach Bad Blocks (Hardwarefehler).
- x
Lediglich Erstellung eines Labels für die Diskette, jedoch ohne diese zu formatieren.
Beispiel Kommando # fdformat # fdformat -Hvt dos
Formatting 1,44 MBytes in /vol/dev/rdiskette0/unlabeled Press return to start formatting floppy. ......................................................................................................................... # Durch dieses fdformat wird eine Diskette im Standard-Diskettenlaufwerk mit einer Kapazität von 1,44 MBytes formatiert, obwohl das Laufwerk die extended density von 2,88 MBytes unterstützen würde. Die Diskette wird für DOS formatiert und beim Formatieren einer zusätzlichen ausführlichen Oberflächenuntersuchung nach Bad Blocks unterzogen.
2.1.1.10
Special Files für Magnetplatten
Bis zu sieben SCSI-Disks können an einem SCSI-Controller angeschlossen werden. Die Special Files und die mit diesen korrespondierenden symbolischen Links für Magnetplatten können auf eine der folgenden Weisen erstellt werden: 왘 boot
-r Rekonfigurations-Boot, nachdem die Magnetplatte installiert wurde
왘 Durch die Kommandos # drvconfig und # disks
Für die erste Partition einer Platte (z.B. an SCSI Target 3 angeschlossen) werden folgende Special Files und symbolische Links erstellt: 왘 Special Files
Block Device: /devices/sbus@1,f8000000/esp@0,f800000 /sd@3,0:a Character Device: /devices/sbus@1,f8000000/esp@0,f800000 /sd@3,0:a,raw 왘 Symbolic Link
Zum Block Device: /dev/dsk/c0t3d0s0 Zum Character Device: /dev/rdsk/c0t3d0s0
37
2 SAN – Grundlegende Basis-Technologien
Dabei wird die Namenskonvention für die Benennung der MagnetplattenGeräte wie folgt definiert: c0
Controller Nummer: 0
t3
SCSI-Bus Target-Nummer: 3
d0
Nummer der Magnetplatte, die an das Target angeschlossen ist: 0
s0
Slice (Partition) Nummer: 0 (repräsentiert Partition »a« unter SunOS 4.x)
Zum Formatieren einer Magnetplatte wird das Formattool # format
verwendet.
Das Konzept des Partitioning Beim Formattool kann mit dem Kommando partition die Festplatte in logische Platten gegliedert werden. 왘 Eine Partition ist ein physikalischer und zusammenhängender Teil der
Magnetplatte. 왘 Eine Partition kann für Swap Space oder für ein Dateisystem verwendet
werden. 왘 Verwendete Partitions auf einer Platte dürfen sich nicht überlappen. 왘 Vorzüge des Partitioning sind: 왘 Performance 왘 Unterschiedliche Dateisysteme auf unterschiedlichen Partitions kön-
nen dedizierte Zugriffsschutzmechanismen und Datensicherungen ermöglichen. 왘 Sicherheit
Eine Partition kann verwendet werden für 왘 Ein Dateisystem 왘 Swap Space 왘 ein raw Device, das z.B. für Datenbanksysteme die Umgehung der Sola-
ris I/O-Mechanismen ermöglicht
38
Anschluss von Storage Devices über das SCSI-Protokoll
Regeln für das Partitioning 왘 Unter Solaris kann eine Magnetplatte in maximal acht Partitions unter-
gliedert werden. 왘 Einige Partitions können überlappen. Dennoch dürfen Partitions, die
verwendet werden, nicht überlappen. 왘 Standardmäßig überzieht eine Partition die komplette Platte. Diese kann
nur verwendet werden, wenn keine der anderen Partitions der Platte verwendet wird. Auf Partitions wird über Special Files zugegriffen. Je nach Art des Zugriffs wird in dem entsprechenden Kommando entweder das Special File oder das Character Device angesprochen. Verglichen mit Magnetplatten, auf denen die Partitions nicht genutzt werden, besitzt Partitioning folgende Vorteile: Performance Liegt ein Dateisystem lediglich auf einem zusammenhängenden (contiguous) Teil der Platte und nicht auf der gesamten Platte, liegen die Datenblöcke einer Datei näher beieinander und sind daher vom Controller schneller zu finden. Dedizierter Zugriff Jedes Dateisystem kann mit unterschiedlichen Zugriffsrechten eingehängt werden (mount-Kommando). Für unterschiedliche Dateisysteme können nun auch dedizierte Backup-Strategien entwickelt werden. Sicherheit Ein Software- oder Hardwarefehler betrifft lediglich das Dateisystem oder die Partition, auf dem/der er auftritt. Nachteile des Partitioning 왘 Limitierung des Dateisystems
Ein Dateisystem ist auf eine Partition limitiert. Unter Solaris ist die maximale Größe der Partition die Größe der gesamten Platte. Daher ist die maximale Größe eines Dateisystems auch die Größe einer Festplatte. 왘 Dateisystem ist nicht vergrößerbar/verkleinerbar
Die Größe eines Dateisystems kann nicht verändert werden.
39
2 SAN – Grundlegende Basis-Technologien
Default Partition-Tabelle von Solaris Bei einer Standalone-Installation ist das Standard-Partition-Layout wie folgt: /
/dev/dsk/c0t3d0s0
/usr
/dev/dsk/c0t3d0s6
<Swap>
/dev/dsk/c0t3d0s1
Backup
/dev/dsk/c0t3d0s2 (über die komplette Platte)
Die Partitions s3, s4, s5 und s7 sind standardmäßig nicht definiert.
Partitioning unter Solaris Entspricht die Standard-Partition-Tabelle nicht den Anforderungen einer Installation, so ist es erforderlich, die Größe und Lokation der Partitions auf der Platte zu verändern. Dafür müssen folgende Schritte unternommen werden: 1. # dmesg
Herausfinden, welche Magnetplatten an das System angeschlossen sind
2. # prtvtoc
Anzeige der aktuellen Partition-Tabelle der Platte, um zu entscheiden, wie diese geändert werden soll
3. # format
Veränderung der Lokation und der Größe von einer oder mehreren Partitions
Informationen über Magnetplatten – das dmesg-Kommando Um zu sehen, welche Magnetplatten am System angeschlossen sind, wird das Kommando # dmesg
verwendet. Es zeigt die Meldungen an, die das System zum Boot-Zeitpunkt angelegt hat (dmesg = display messages). Beispiel # dmesg: # dmesg
SunOS Release 5.5 Version Generic [Unix(R) System V Release 4.0] Copyright © 1983-1995, SUN Microsystems, Inc. mem = 32768K (0x2000000) avail mem = 30621696 Ethernet address = 8:0:20:f:fa:de root nexus ) SUNW, SUN 4-75 sbus0 at root: obio 0xf8000000 dma0 at sbus0: SBus slot 0 0x400000 esp0 at sbus0: SBus slot 0 0x800000 SBus level 3 sparc ipl 3 sd3 at esp0: target 3 lun 0
40
Anschluss von Storage Devices über das SCSI-Protokoll
sd3 is /sbus@1,f8000000/esp@0,800000/sd@3,0 <SUN0424 cyl 1151 alt zwei hd 9 sec 80> root on /sbus@1,f8000000/esp@0,800000/sd@3,0:a fstype ufs Swap on Swapfs fstype Swapfs size 27868K zs0 at root: obio 0xf1000000 sparc ipl 12 zs0 is /zs@1,f1000000 zs1 at root: obio 0xf0000000 sparc ipl 12 zs1 is /zs@1,f0000000 cgsix0 at sbus0: SBus slot zwei 0x0 SBus level 5 sparc ipl 7 cgsix0 is /sbus@1, f8000000/cgsix@2,0 cgsix0: screen 1280x1024, double buffered, vier M mappable, rev6 le0 at sbus0: SBus slot 0 0xc00000 SBus level vier sparc ipl 5 le0 is /sbus@1,f8000000/le@0,c00000 dump on /dev/dsk/c0t3d0s1 size 65868K audio0 at root: obio 0xf7201000 sparc ipl 13 audio0 is /audio@1,f7201000 fd0 at root: obio 0xf7200000 sparc ipl 11 fd0 is /fd@1, f7200000 sbusmem0 at sbus0: SBus slot 0 0x0 sbusmem0 is /sbus@1,f8000000/sbusmem@0,0 sbusmem1 at sbus0: SBus slot 1 0x0 sbusmem1 is /sbus@1,f8000000/sbusmem@1,0 sbusmem2 at sbus0: SBus slot zwei 0x0 sbusmem2 is /sbus@1,f8000000/sbusmem@2,0 sbusmem3 at sbus0: SBus slot 3 0x0 sbusmem3 is /sbus@1,f8000000/sbusmem@3,0
Anzeigen der Partition-Tabelle – Das prtvtoc-Kommando Als Entscheidungshilfe für die Änderungen der Partition-Tabelle kann mit dem Kommando # prtvtoc [ Name des raw Device ]
die aktuell verwendete Partition-Tabelle angezeigt werden. Dabei gibt die Option Name des Raw Devices den Character Special File der Platte an (Partiton 2), deren Partition-Tabelle angezeigt werden soll. Beispiel # prtvtoc # prtvtoc /dev/rdsk/c0t3d0s2
* /dev/rdsk/c0t3d0s2 partition map * * Dimensions: * 512 bytes/sector * 80 sectors/track * 9 tracks/cylinder * 720 sectors/cylinder * 2500 cylinders
41
2 SAN – Grundlegende Basis-Technologien
* 1151 accessible cylinders * * Flags: * 1: unmountable, read-write * 10: read-only * 00: mountable, read-write * * Unallocated space: * First Sector Last * Sector Count Sector * 828720 4294930576 791999 * * First Sector *Partition Tag Flags Sector 0 2 00 0 1 3 01 61920 2 5 00 0 3 6 00 193680 4 0 00 0 5 6 00 234720 6 4 00 357840 7 8 00 747360
Last Count 61920 131760 828720 41040 0 123120 389520
Mount Sector 61919 193679 828719 234719 0 357839 747359 81360
Directory /
/export /opt /usr 828719/ export/home
Die Konfiguration von Festplatten – Das Solaris-Formattool Das Solaris-Formattool erlaubt menügesteuert sämtliche Operationen, die für die Konfiguration von Festplatten durchgeführt werden müssen. Diese Operationen sind: 왘 Anzeigen einer existierenden Partition-Tabelle, Änderung einer Parti-
tion-Tabelle, Speicherung der Partition-Tabelle unter einem Namen 왘 Informationen zur ausgewählten Festplatte 왘 Formatieren der Festplatte 왘 Reparieren von entdeckten Bad Blocks 왘 Labeln einer Festplatte 왘 Anzeigen und Ändern der Bad Block-Liste einer Festplatte 왘 Überprüfen des Backup-Bereichs der Festplatte 왘 Überprüfen und Anzeige der Hardwaredaten einer Festplatte 왘 Sichern von Partition-Tabellen von Magnetplatten 왘 Ermittlung und Ausgabe des Herstellernamens und Typs einer Magnet-
platte 왘 Erstellen eines Volume-Namens
42
Anschluss von Storage Devices über das SCSI-Protokoll
Durch den Aufruf des Formattools werden alle systemweit bekannten Magnetplatten durchnummeriert angegeben. Durch Anwahl der Nummer kann die jeweilig zu bearbeitende Festplatte ausgewählt werden. Beispiel format-Kommando # format
Searching for disks...done c0t1d0: configured with capacity of 1.15GB AVAILABLE DISK SELECTIONS: 0. c0t1d0 /sbus@1,f8000000/esp@0,800000/sd@1,0 1. c0t1d1 <MAXTOR-MXT-1246X-X1.1 cyl 1876 alt zwei hd 15 sec 86 > /sbus@1,f8000000/esp@0,800000/sd@1,1 c0t3d0: configured with capacity 2.30 GB AVAILABLE DISK SELECTIONS: 2. c0t3d0 <MICROP-4130-10MA Mar1f0-TNOF cyl 3998 alt zwei hd 9 sec 228> /sbus@1, f8000000/esp@0,800000/sd@3,0 3. c0t3d1 <SUN0424 cyl 1151 alt zwei hd 9 sec 80> /sbus@1,f8000000/esp@0,800000/sd@3,1 Specify disk (enter ist number): 1 selecting c0t1d1 FORMAT MENU: disk - select a disk type - select (define) a disk type partition - select (define) a partition table current - describe the current disk format - format and analyze the disk repair - repair a defective sector label - write label to the disk analyze - surface analysis defect - defect list management backup - search for backup labels verify - read and display labels save - save new disk/partition definitions inquiry - show vendor, product and revision volname - set 8-character-Volume name quit Das Format-Menü wird nach Auswahl der zu bearbeitenden Platte angezeigt, kann jedoch während der Bearbeitung jederzeit wieder durch Eingabe des ? angezeigt werden.
43
2 SAN – Grundlegende Basis-Technologien
Menüpunkte des Format-Tools disk zeigt die Platten-Auswahlmaske an, die auch beim Aufruf des Formattools angezeigt wird. Es wird verwendet, um innerhalb des Formattools die zu bearbeitende Festplatte zu wechseln. Beispiel disk: disk
Searching for disks...done c0t1d0: configured with capacity of 1.15GB AVAILABLE DISK SELECTIONS: 0. c0t1d0 /sbus@1,f8000000/esp@0,800000/sd@1,0 1. c0t1d1 <MAXTOR-MXT-1246X-X1.1 cyl 1876 alt zwei hd 15 sec 86 > /sbus@1,f8000000/esp@0,800000/sd@1,1 c0t3d0: configured with capacity 2.30 GB AVAILABLE DISK SELECTIONS: 2. c0t3d0 <MICROP-4130-10MA Mar1f0-TNOF cyl 3998 alt zwei hd 9 sec 228> /sbus@1, f8000000/esp@0,800000/sd@3,0 3. c0t3d1 <SUN0424 cyl 1151 alt zwei hd 9 sec 80> /sbus@1,f8000000/esp@0,800000/sd@3,1 Specify disk (enter its number): 3 selecting c0t3d1 type Die Datei format.dat enthält Festplattenbeschreibungen. Mithilfe des Kommandos type können diese angezeigt, ausgewählt oder über den Punkt »other« neu von Hand eingegeben werden. Dafür sind ausführliche Festplatten-Konfigurations-Informationen notwendig. Handelt es sich bei der neu einzutragenden Platte um eine SCSI-2-Festplatte, so kann über den Punkt »Auto configure« eine automatische Konfiguration der Platte in der Datei format.dat erfolgen, die die Konfigurations-Informationen aus der Firmware der Festplatte in die format.dat einträgt. partition Mit dem Menüpunkt partition kann eine Festplatte in bis zu acht logische Platten aufgeteilt werden. Eine solche Solaris-Partition wird als slice bezeichnet. Die Slices werden von Slice 0 bis Slice 7 durchnummeriert. Die Standard-Verwendung der einzelnen Slices zeigt folgende Auflistung: slice 0 slice 1
44
Die Partition 0 enthält das root-Dateisystem. Dieses enthält die beim Boot benötigten Dateien. Partition 1 wird als Swap-Partition für die Verwendung durch Benutzer gesperrt. In diesen Plattenbereich werden Memorypages laufender Prozesse ausgelagert, falls die Hauptspeicheranforderungen der Prozesse den physikalischen Hauptspeicher übersteigen.
Anschluss von Storage Devices über das SCSI-Protokoll
slice 2
Diese Backup-Partition enthält kein Dateisystem. Als virtuelle Partition überspannt sie die komplette Festplatte. Slice zwei wird lediglich für die Systemsicherung verwendet.
slice 3
Diese Partition wird auf Server-Rechnern gern für das /export-Dateisystem verwendet, das die Dateien enthält, die für (diskless) Clients exportiert werden.
slice 4
Partition 4 wird auf Servern bevorzugt für die Swap-Area von diskless Clients verwendet und dann mit dem mountKommando in der Regel unter export/Swap eingehängt.
slice 5
Partition 5 enthält in der Regel das Dateisystem /opt, das optionale Software (z.B. Office-Software, Datenbank-Software etc.) enthält.
slice 6
Partition sechs wird üblicherweise für das Filesystem /usr verwendet, das wesentliche Betriebssystemdateien und systemnahe Software (z.B. vi, make etc.) enthält.
slice 7
Serverseitig wird Partition 7 häufig für das Dateisystem /export/home verwendet, das die initial working directories (Home-Verzeichnisse) der Anwender (auch der Anwender auf den Clients) enthält.
Diese Partitionierung ist nicht bindend. Vor allem muss nicht jede Platte eine Partition für root, Swap, besitzen. Eine neue Festplatte kann völlig von einer Partition ausgefüllt werden. Sämtliche andere Partitionen können dann auf 0 gesetzt werden. Es empfiehlt sich jedoch, dafür die Slices 0-3 nicht zu verwenden. Für die Partitionierung verzweigt das Formattool in ein eigenes Untermenü. partition format> PARTITION MENU: - change ‘0’ partition 0 - change ‘1’ partition 1 - change ‘2’ partition 2 - change ‘3’ partition 3 - change ‘4’ partition 4 - change ‘5’ partition 5 - change ‘6’ partition 6 - change ‘7’ partition 7 - select a predefined table select - modify a predefined partition table modify - name the current table name - display the current table print - write partition map and label to disk label quit partition> 0,1,2,3,4,5,6,7
45
2 SAN – Grundlegende Basis-Technologien
Durch Eingabe einer Partitionsnummer (0-7) kann eine Partition ausgewählt werden. Die momentane Konfiguration der Partition wird angezeigt und kann geändert werden. Die Partition-ID (Tag, vgl. prtvtoc-Kommando) muss ausgewählt werden. Sie enthält Kennzeichen für die Verwendung der Partition. Es stehen zur Auswahl: 왘 boot 왘 root 왘 Swap 왘 usr 왘 backup 왘 var 왘 home 왘 alternates 왘 unassigned
Eine Partition wird als unassigned angelegt, wenn sie mit keiner der anderen Verwendungen gefüllt werden soll. Das nun zu wählende Flag definiert die Zugriffsart auf die Partition. Folgende Zugriffsarten stehen zur Verfügung: Flag
Long-Name
Bedeutung
wm
write mountable
Kann mit mount-Kommando eingehängt werden, Schreib- und Lesezugriff
wu
write unmountable
Kann mit mount-Kommando nicht eingehängt werden, Schreib- und Lesezugriff
rm
read mountable
Kann mit mount-Kommando eingehängt werden, lediglich Lesezugriff
ru
read unmountable
Kann mit mount-Kommando nicht eingehängt werden, lediglich Lesezugriff.
Tab. 2.3: Partition-Zugriffsarten unter Solaris
Gewöhnlicherweise sollen auf Partitionen Dateisysteme angelegt werden. Diese Partitions werden in der Regel mit der Zugriffsart wm angelegt. Weiter geht es in der Konfiguration der Partition mit dem Zylinder, an dem die Partition beginnen soll und der Anzahl der Blöcke, Zylinder oder MegaBytes, die die Partition als Größe erhalten soll.
46
Anschluss von Storage Devices über das SCSI-Protokoll
Hierbei können die Partitions überlappen. Dieses führt bei verwendeten Partitions zu ungeahnten Fehlern. Partitions sollten so konfiguriert werden, dass sie nicht überlappen. Die weiteren Kommandos im Partitioning-Untermenü des Formattools sind: select
Anzeige vorhandener Partition-Tabellen zur Auswahl einer bestimmten gewünschten Tabelle.
modify
Nachdem mit dem select eine Partition-Tabelle ausgewählt wurde, wird diese hier verändert. Im Wahlpunkt Free Hog Partition wird die Nummer der Partition angegeben, der der überschüssige Plattenplatz hinzugefügt werden soll. Ansonsten wird die Größe der jeweiligen Partition angegeben. Mit der Angabe eines Namens der Partition-Tabelle kann diese modifizierte Tabelle als Datei gespeichert werden (und ist damit für ein weiteres select-Kommando verfügbar). Wird bei der Schlussabfrage Ready to label disk, continue ? die Antwort »y« gegeben, so wird die Festplatte gemäß dieser Partition-Tabelle aufgeteilt. Wird die Frage mit »n« verneint, so wird lediglich die Partition-Tabelle erzeugt.
name
speichert die aktuelle Partition-Tabelle unter dem Namen ab, der nach Aufruf des name-Kommandos eingegeben wird.
print
druckt die aktuelle Aufteilung der Festplatte auf StandardOutput aus.
print partition> Current partition table (original): Total disk cylinders available: 1876 + zwei (reserved cylinders) Part Tag Flag Cylinders Size 0 root wm 0 – 111 70.55MB 1 Swap wu 112 – 188 48.50MB 2 backup wm 0 – 1875 1.15GB 3 wm 189 – 268 50.39MB 4 wm 269 – 359 57.32MB 5 wm 360 – 1269 573.19MB 6 usr wm 1270 – 1746 300.45MB 7 home wm 1747 – 1874 80.62MB
Blocks (112/0/0) (77/0/0) (1876/0/0) (80/0/0) (91/0/0) (910/0/0) (477/0/0) (128/0/0)
label
Label teilt die Festplatte nach der konfigurierten PartitionTabelle auf.
quit
beendet das Partitioning-Untermenü des Formattools.
47
2 SAN – Grundlegende Basis-Technologien
Weitere Menüpunkte des Formattools analyze
untersucht die Festplatte auf Zuverlässigkeit (Bad Block Detection). Test-Möglichkeiten werden in einem Untermenü zur Auswahl angeboten.
backup
überprüft die Existenz der Backup-Partition. Diese stellt eine virtuelle Partition dar, die unter dem Namen backup auf Partition zwei angelegt wird und die komplette Festplatte überspannt.
current
gibt Informationen über die aktuell ausgewählte Festplatte, wie Hersteller, Hardwaredaten und Special File, über die die Platte angesprochen wird.
defect
zeigt an und ändert die Liste der bekannten Bad Blocks der Platte. Es wird ein eigenes defect-Untermenü angezeigt, über das mit der Funktion primary die Liste der vom HardwareFormat herstellerseitig bekannten Bad Blocks ausgewählt und über print angezeigt werden kann. In der Firmware neuerer Festplatten verwalten diese ihre Bad Blocks selbstständig.
format
überprüft die Oberfläche von Festplatten auf Bad Blocks, die seit der Hardwareformatierung durch Transport oder Verschleiß hinzugekommen sind. Danach wird beim Software-Formatieren der Platte diese mit einem Bitmuster beschrieben (entweder Low Values oder High Values). Die Funktion format des Formattools dient dieser Software-Formatierung der Festplatte. Da die Platte beim Formatieren komplett beschrieben wird, ist die Dauer des Formatierens abhängig von der Größe und Zugriffsgeschwindigkeit dieser Festplatte. Evtl. auf der Platte befindliche Daten werden durch das Formatieren gelöscht.
format> format Ready to format. Formatting cannot be interrupted. Continue? y Beginning format. The current time is April 19 17:30:12 1998 Formatting ... done Verifying media ... pass 0 – pattern = 0xc6dec6de 1875/14/2 pass 1 – pattern = 0x6db6db6d 1875/14/2 Total of 0 defective blocks repaired. format> Anschließend muss mit der Formattool-Funktion partition diese formatierte Platte partitioniert werden.
48
Anschluss von Storage Devices über das SCSI-Protokoll
inquiry
gibt Herstellername und Typ der ausgewählten Festplatte aus.
label
schreibt die Partition-Tabelle und sämtliche weitere mit dem Formattool durchgeführte Konfigurationsänderungen der Festplatte in das Platten-Label (VTOC). Dieses kann mit dem Kommando prtvtoc angezeigt werden.
quit
beendet das Solaris-Formattool.
repair
untersucht einen systemseitig entdeckten Bad Block und versucht diesen zu reparieren.
save
sichert eine Partition-Tabelle und die Konfigurationsdaten der aktuellen Festplatte in eine Datei.
volname
vergibt an die Platte einen achtstelligen Namen.
verify
zeigt die Partitionierung und die Hardwaredaten der Festplatte an.
format> verify Primary label contents: Volume name = ascii name = <MAXTOR-MXT-1680S-H2.4 cyl 1876 alt zwei hd 15 sec 86> pcyl = 1878 ncyl = 1876 acyl =2 nhead = 15 nsect = 86 Part Tag Flag Cylinders Size Blocks 0 root wm 0 – 111 70.55MB (112/0/0) 1 Swap wu 112 – 188 48.50MB (77/0/0) 2 backup wm 0 – 1875 1.15GB (1876/0/0) 3 wm 189 – 268 50.39MB (80/0/0) 4 wm 269 – 359 57.32MB (91/0/0) 5 wm 360 – 1269 573.19MB (910/0/0) 6 usr wm 1270 – 1746 300.45MB (477/0/0) 7 home wm 1747 – 1874 80.62MB (128/0/0) format> Beispiel # format Folgendes Beispiel des format-Kommandos zeigt, wie die Partition sechs der Platte c0t3d0 (c0t3d0s6) erweitert und die Partition sieben (c0t3d0s7) verkleinert wird. Dabei lässt sich z.B. die Plattenbezeichnung c0t3d0s7 wie folgt lesen: c0
esp0 (Controller)
t3
target number (Target 3 auf diesem SCSI-Controller)
d0
disk number (erste Festplatte auf diesem Target)
s7
Slice sieben (Partition Nummer 7)
49
2 SAN – Grundlegende Basis-Technologien
# format
Searching for disks ... done AVAILABLE DISK SELECTIONS: 0. c0t3d0 <SUN0424 cyl 1151 alt zwei hd 9 sec 80> /sbus@l,f8000000/ esp@O,800000/sd@3,0 Specify disk (enter its number): 0 selecting c0t3d0 [disk formatted] FORMAT MENU: disk - select a disk type - select (define) a disk type partition - select (define) a partition table current - describe the current disk format - format and analyze the disk repair - repair a defective sector label - write label to the disk analyze - surface analysis defect - defect list Management backup - search for backup labels verify - read and display labels save - save new disk/partition definitions inquiry - show vendor, product and revision volname - set 8-character -Volume name quit format> partition PARTITION MENU: 0 - change ‘0' partition 1 - change ‘1' partition 2 - change '2' partition 3 - change ‘3' partition 4 - change ‘4' partition 5 - change '5' partition 6 - change ‘6' partition 7 - change ‘7' partition select - select a predefined table modify - modify a predefined partition table name - name the current table print - display the current table label - write partition map and label to the disk quit partition> print Current partition table (original sd3): Total disk cylinders available: 1151 + zwei (reserved cylinders) Part Tag Flag Cylinders Size Blocks 0 root wm 0-85 30.23MB (86/0/0) 1 Swap wu 86-268 64.34MB (183/0/0) 2 backup wm 0- 1150 404.65MB (1151/0/0)
50
Anschluss von Storage Devices über das SCSI-Protokoll
3 wm 269-325 20.04MB 4 unassigned wm 0 0 5 wm 326-496 60.12MB 6 usr wm 497- 1037 190.20MB 7 home wm 1038- 1150 39.73MB partition> 6 Part Tag Flag Cylinders Size Blocks 6 usr wm 497 – 1037190.20MB (541/0/0) Enter partition id tag[usr]: ? Expecting one of the following: (abbreviations ok): unassigned boot root Swap usr backup var home alternates usr Enter partition id tag [usr]: Enter partition permision flags [wm]: ? Expecting one of the following: (abbreviations ok): wm - read-write, mountable wu - read-write, unmountable rm - read-only, mountable ru - read-only, unmountable Enter partition permission flags[wml:wm Enter new starting cyl[497]: 497 Enter partition size[389520b, 541c, 190.20mb]: 600c 7 partition> Part Tag Flag Cylinders Size 7 home wm 1038 – 1150 39.73MB Enter partition id tag [home]: home Enter partition permission flags[wml: wm Enter new starting cyl[10381: 1087 Enter partition size[81360b, 113c, 39.73mb]: 64c partition> print Current partition table (unnamed): Part Tag Flag Cylinders Size 0 root wm 0-85 30.23MB 1 Swap wu 86-268 64.34MB 2 backup wm 0-1150 404.65MB 3 wm 269-325 20.04MB 4 unassigned wm 0-0 0.00 MB 5 wm 326-496 60.12MB 6 usr wm 497-1086 214.53MB 7 home wm 1087-1150 22.50MB partition> label Ready to label disk, continue? y partition> quit format> quit
(57/0/0) (0/0/0) (171/0/0) (541/0/0) (113/0/0)
Blocks (113/0/0)
Blocks (86/0/0) (183/0/0) (1151/0/0) (57/0/0) (0/0/0) (171/0/0) (600/0/0) (64/0/0)
51
2 SAN – Grundlegende Basis-Technologien
2.2
Einführung in NetzwerkTechnologien
2.2.1
Standardisierungskomitees
왘 EIA – Electronic Industries Association (EIA), Organisation US-amerika-
nischer Hersteller aus der Elektronik-Industrie 왘 CCITT – Comité Consultatif International Télégraphique et Téléphoni-
que. Ein Komitee innerhalb der Internationalen TelekommunikationsUnion (ITU). Das CCITT besteht hauptsächlich aus Herstellern aus der Telekommunikationsbranche. 왘 ISO – International Standards Organization (ISO). Die ISO ist eine welt-
weit operierende (freiwillige) Vereinigung der führenden Standardisierungsorganisationen aller Mitgliedsländer (z.B. DIN, ANSI etc.). Die ISO vertritt die Anwenderinteressen. 왘 ANSI – Das American National Standards Institute (ANSI) ist vergleich-
bar mit der deutschen DIN. Es ist der Vertreter der USA in der ISO. 왘 FIPS – Federal Information Processing Standards (FIPS) sind Standards
der US-Regierungsbehörden. Das National Bureau of Standards (NBS) ist für FIPS zuständig. 왘 FTSC – Das Federal Telecommunications Standards Committee (FTSC)
entwickelt gemeinsam mit dem NBS Daten-Kommunikations-Standards für FIPS. Es steht in enger Kooperation mit CCITT, ANSI, ISO und EIA. 왘 IEEE – Das Institute of Electrical and Electronics Engineers (vergleichbar
mit der deutschen VDE) ist die US-amerikanische Vereinigung von Elektronik-Ingenieuren und -Handelsgesellschaften. Die Standardisierungs-Organisationen wurden in den sechziger und siebziger Jahren gegründet, um einheitliche elektronische/elektrische Verbindungen, die Terminologie, Protokolle und Methoden zur Vereinheitlichung verschiedener Hardware-Hersteller zu ermöglichen.
2.2.2
Netzwerk-Kommunikation
Die Kommunikation über Netzwerke besteht aus dem Senden von Daten vom Computer zum empfangenden Rechner. Dieser komplexe Prozess muss in diskrete Teilfunktionen untergliedert werden:
52
Einführung in Netzwerk-Technologien 왘 Erkennen der Daten 왘 Aufsplitten der Daten in verwaltbare Stücke 왘 Hinzufügen von Informationen zu jedem Stück hinsichtlich: 왘 Lokation der Daten, d.h. wohin gehört dieses Stück im Gesamtzusam-
menhang der übertragenen Daten 왘 Empfängererkennung, d.h. an wen werden diese Daten gesendet 왘 Hinzufügen von Informationen für zeitgerechtes Senden (Timing) und
Fehlererkennung und -behandlung 왘 Physikalisches Versenden und Übertragen der Daten auf einem physika-
lischen Netzwerk Das Netzwerk-Betriebssystem folgt strikt einem Set von Prozeduren, um jede dieser Teilfunktionen durchzuführen. Diese Verhaltensregeln werden als Protokoll bezeichnet. Daten-Kommunikations-Protokolle sind somit Standardprozeduren, die den Betrieb von Datenkommunikations-Endgeräten ermöglichen. Generell erfüllen Protokolle zwei Funktionen: 왘 Aufbau einer Verbindung zwischen Sender und Empfänger 왘 Zuverlässige Übertragung der Informationen
Es existiert heute eine Vielzahl von Protokollen, teilweise durch Standardisierungsgremien (z.B. IEEE 802.3, ISO/OSI), und teilweise durch Hersteller (z.B. IBM/SNA, IBM SNA/RJE) definiert. Zwischen den Kommunikations-Protokollen existieren eine Vielzahl von Unterschieden. So verwenden z.B. einige Protokolle lediglich ein einziges Zeichen zu Beginn einer Übertragung zur Synchronisation von Sender und Empfänger, andere wiederum eine Vielzahl von Synchronisationszeichen. Selbst bei gleicher Anzahl von Synchronisations-Zeichen verwenden doch einige Hersteller unterschiedliche Synchronisationszeichen. Im Unix-Umfeld existieren im Wesentlichen zwei Protokoll-Standards: 왘 Das ISO/OSI Referenz-Modell 왘 Das Projekt 802
Dabei stellt das Projekt 802 der IEEE eine Modifikation des ISO/OSI-Referenz-Modells dar. Beide Kommunikations-Protokoll-Familien benutzen diverse Ebenen oder Layer, die die unterschiedlichen Funktionen und Operationen definieren. Jede Ebene ist als unabhängig von den anderen Ebenen gestaltet, die Funktion einer Ebene ist jedoch auf den korrekten Ablauf der Operationen der vorausgehenden Ebene angewiesen.
53
2 SAN – Grundlegende Basis-Technologien
2.2.3 2.2.3.1
Das ISO/OSI-Referenz-Modell Hinführung
Das OSI-Referenz-Modell verfolgt die Kooperation zwischen Datenkommunikations-Systemen unterschiedlicher Architektur und unterschiedlicher Hersteller. Dies beinhaltet: 왘 Koordination von Aktivitäten wie Interprozess-Kommunikation 왘 Daten-Speicherung 왘 Prozess- und Ressourcen-Verwaltung 왘 Sicherheit und Integrität 왘 Unterstützung von Anwendungsprogrammen
Dabei definiert die OSI 1978 ein System als eine Menge von einem oder mehreren Rechneranlagen, der zu diesen gehörenden Software, den Peripheriegeräten, menschlichen Einflussfaktoren, Prozessen, Anforderungen an den InformationsTransfer usw., das ein atomares, autonomes Ganzes formt, das in der Lage ist, Informationsverarbeitung und -Transfer zu gewährleisten. Die Open System Interconnection (OSI) definiert somit: Das Netzwerk als System Ein »Open System« ist ein System, das die OSI-Standards in der Kommunikation zu anderen Systemen einhält. Ein Applikations-Prozess ist ein Element innerhalb eines Systems, das Informationsverarbeitung für eine bestimmte Benutzeranwendung betreibt. Dabei kann der Applikations-Prozess manuell (eine Verkäuferin an der Scanner-Kasse), maschinell (ein laufendes Programm auf einer Client-Workstation, das auf Daten einer Server-Datenbank zugreift) oder physikalisch (ein Prozesssteuerungs-Programm auf einem Prozessleitrechner in einem Kernkraftwerk) sein. Das OSI-Referenz-Modell ist unabhängig von der internen Verarbeitung eines jeden offenen Systems. Den Austausch von Informationen zwischen offenen Systemen regelt es jedoch restriktiv. Das Modell adressiert sowohl terrestrische Telekommunikations-Geräte als auch extraterrestrische Telekommunikations-Einrichtungen (Satellitenübertragungen). Das OSI-Modell hat sieben Schichten. Folgende Prinzipien haben zu der Siebenschichtigkeit geführt: 왘 Eine neue Schicht sollte dort entstehen, wo ein neuer Abstraktionsgrad
benötigt wird. 왘 Jede Schicht sollte eine genau definierte Funktion erfüllen.
54
Einführung in Netzwerk-Technologien 왘 Bei der Funktionswahl sollte man die Definition international genormter
Protokolle im Auge behalten. 왘 Die Grenzen zwischen den einzelnen Ebenen/Schichten sollten so ge-
wählt werden, dass der Informationsfluss über die Schnittstellen möglichst gering ist. 왘 Die Anzahl an Schichten sollte so groß sein, dass keine Notwendigkeit
dafür besteht, verschiedene Funktionen auf dieselbe Schicht zu packen, und so klein, dass die gesamte Architektur nicht unhandlich wird.1
2.2.3.2
Das Schichten-Konzept des OSI-ReferenzModells
Schichtenbildung ist die grundlegende Strukturmethode des OSI-ReferenzModells. Jedes System, das dem OSI-Modell entspricht, besteht aus einem geordneten Set von Subsystemen, mit gruppierten logisch definierten und zusammengehörigen Funktionen. Im OSI-Modell existieren sieben Ebenen: Ebene
Bedeutung(Funktion)
Ebene 1
Physikalische Ebene (Bitübertragungsschicht)
Ebene 2
Daten-Verbindungs-Ebene (Sicherungsschicht)
Ebene 3
Netzwerk-Ebene (Vermittlungsschicht)
Ebene 4
Transport-Ebene (Transportschicht)
Ebene 5
Sessions-Ebene (Sitzungsschicht)
Ebene 6
Präsentations-Ebene (Darstellungsschicht)
Ebene 7
Applikations-Ebene (Anwendungsschicht)
Tab. 2.4: Die Ebenen des ISO/OSI-Referenz-Modells
Die physikalische Ebene (Bitübertragungsschicht) Die Bitübertragungsschicht (physical layer) beschäftigt sich mit der Übertragung von rohen Bits über einen Kommunikationskanal. Entwicklungstechnisch muss hier sichergestellt werden, dass, wenn die eine Seite ein Bit mit der Wertigkeit 1 schickt, dieses Bit von der anderen Seite auch als Bit mit der Wertigkeit 1 empfangen wird und nicht als Bit mit der Wertigkeit 0. Typische Fragen, die hierbei auftauchen, sind: 왘 Wie viel Volt sollten einer logischen 1 entsprechen und wie viel einer 0? 왘 Wie viele Mikrosekunden Übertragungszeit soll ein Bit dauern? 왘 Soll die Übertragung in beide Richtungen gleichzeitig erfolgen? 왘 Wie kommt die Verbindung zustande?
1.
Tanenbaum, Andrew S., Computernetzwerke, 3. Aufl., München, 2000, S. 45.
55
2 SAN – Grundlegende Basis-Technologien 왘 Wie wird die Verbindung aufgelöst? 왘 Wie viele Pins hat die Endsystemverbindung und wofür werden diese
verwendet? Die Fragen der Entwicklung beschäftigen sich hier weitgehend mit mechanischen, elektrischen und durchführungstechnischen Schnittstellen und mit dem physikalischen Übertragungsmedium, das sich unterhalb der Bitübertragungsschicht befindet. Die Entwicklung dieser Schicht kann man ruhigen Gewissens als Aufgabe eines Elektroingenieurs bezeichnen. Die Bitübertragungsschicht wird hardwareseitig durch Netzwerk-Controller, Verbindungshardware (Transceiver) und Übertragungskabel bestimmt.2 Im LAN-Umfeld werden Ethernet-Umgebungen (IEEE 802.3 mit CarrierSense Multiple Access with Collision Detection CSMA/CD) oder Token Ring-Umgebungen (IEEE 802.5 mit Token Passing-Protokoll) eingesetzt. Im MAN-Umfeld (Metropolitan Area Network) werden typischerweise FDDI-Medien verwendet. WANs (Wide Area Networks) verwenden in der Regel öffentliche Netze der lokalen PTT-Gesellschaften (X.25, ISDN, ADSL, MODEM). Gängige Übertragungsmedien sind: 왘 Twisted Pair-Kabel (verdrilltes Leitungspaar, Telefonkabel) 왘 Basisband-Koaxialkabel 왘 Breitband-Koaxialkabel 왘 Lichtwellenleiter 왘 Mikrowellenübertragung 왘 Kommunikationssatelliten 왘 Ethernet-Controller 왘 Transceiver und Transceiver-Kabel
Die Daten-Verbindungs-Ebene (Sicherungsschicht) Die wichtigste Aufgabe der Sicherungsschicht (Data Link Layer) ist es, die übertragenen Rohdaten in eine Datenreihe zu verwandeln, die ohne Übertragungsfehler an die Vermittlungsschicht weitergegeben wird. Dies wird dadurch erreicht, dass der Sender die Eingangsdaten in Datenübertragungsrahmen (Data Frames) – typisch sind einige hundert Bytes – aufteilt, diese sequentiell überträgt und die vom Empfänger erzeugten Quittungsrahmen (acknowledgement frames) verarbeiten muss.
2.
56
Vgl. Tanenbaum, a.a.O., S. 46.
Einführung in Netzwerk-Technologien
Da die Bitübertragungsschicht lediglich einen Bit-Strom annimmt und absendet, ohne sich um die Bedeutung der Struktur der Bits zu scheren, ist es Sache der Sicherungsschicht, Rahmengrenzen einzufügen und zu erkennen. Dies kann dadurch erreicht werden, dass am Anfang und Ende eines Rahmens spezielle Bitmuster gesetzt werden. Es ist darauf zu achten, dass diese Bitmuster nicht auch unerkannt im Datenteil des Rahmens vorkommen und die Übertragung daher stören könnten. Eine Bündelstörung in der Übertragungsleitung kann einen Data Frame gänzlich zerstören. In diesem Fall muss die Software auf dem Data Link Layer der Quellmaschine veranlasst werden, den Datenrahmen erneut zu übertragen. Wird ein Rahmen mehrfach übertragen, besteht die Gefahr der Frame Duplication – eine Mehrfachübertragung des gleichen Rahmens. Ein Rahmenduplikat könnte zum Beispiel gesendet werden, wenn das Acknowledgement des Empfängers zerstört ist. Die Sicherungsschicht muss also beschädigte, verlorengegangene und duplizierte Data Frames erkennen und verwalten. Weiter muss die Sicherungsschicht auf die Datenüberschwemmung reagieren, falls ein Sender schneller ist als sein Empfänger. Daher benötigt die Sicherungsschicht eine Regelung, die dem Sender freie Pufferkapazitäten des Empfängers mitteilt. Diese Regelung des Datenflusses und eine Fehlerbehandlung im Fall der Datenüberschwemmung werden von der Sicherungsschicht übernommen. Wenn die Übertragungsleitung in beide Richtungen zu verwenden ist, muss der Quittungsrahmen des Empfängers mit dem Senderahmen des Senders um die Leitungskapazität der Bitübertragungsebene konkurrieren. Diese Problematik wird von der Sicherungsebene durch den Piggy Back-Transfer gelöst.3
Protokolle des Data Link Layers Der Data Link Layer wird von den Protokollen der MAC-Teilschicht im Netzwerk definiert. 왘 LAPB (Link Access Procedure Broadband für X.25) 왘 LAPD (Link Access Procedure Digital für ISDN) 왘 ETHERNET Version 2 왘 ETHERNET IEEE 802.3 왘 Token Ring IEEE 802.5 왘 Token Bus IEEE 802.4
3.
Vgl. Tanenbaum, a.a.O., S. 46 f.
57
2 SAN – Grundlegende Basis-Technologien
Das Protokoll der MAC-Teilschicht bei IEEE 802.3 Abbildung 2.2: Das Protokoll der MAC-Teilschicht bei IEEE 802.3
Präambel 7 Bytes
1
Zieladresse
Quelladresse
2
Daten
0-46 Prüfsumme
Bit 2 oder 6 Bytes 2 oder 6 Bytes Bits 0-1500 Bytes Bits 4 Bytes
Jeder Rahmen unter IEEE 802.3 beginnt mit einer Präambel von sieben Bytes, die jeweils die Bitfolge 10101010 enthalten. Die Manchester-Kodierung dieser Bitfolge erzeugt für die Dauer von 5,6 Mikrosekunden eine 10MHz-Schwingung, wodurch sich der Taktgeber des Empfängers mit dem des Senders synchronisieren kann. Als Nächstes folgt ein Byte zur Markierung des Rahmenstarts mit der Bitfolge 10101011, um den Anfang des Rahmens zu markieren. Die Norm lässt für Startadresse und Zieladresse zwei oder sechs Bytes Länge zu. Das Zehn-MHz-Breitband Thick Ethernet verwendet jedoch nur sechs Bytes lange Adressen. Das High Bit der Zieladresse (Bit 47) ist von der Wertigkeit 0 für normale Adressen und der Wertigkeit 1 für Gruppenadressen. Durch eine Gruppenadressierung können mehrere Ziele Daten von einer einzigen Adresse empfangen. Wird ein Data Frame an eine Gruppenadresse geschickt, so empfangen ihn alle Endgeräte der Gruppe. Das Senden an eine Gruppe von Endgeräten wird Multicasting genannt. Die Adresse, die nur aus Einsen besteht, ist für ein Senden an alle Endstationen reserviert, das Broadcasting. Ein Frame, der im Feld der Zieladresse lediglich Einsen enthält, wird an alle Stationen im Netzwerk geschickt und durch sämtliche Bridges weitergeleitet. Weiter kann Bit 46 zur Unterscheidung von lokalen und globalen Adressen verwendet werden. Lokale Adressen werden vom Netzwerk-Administrator vergeben und haben außerhalb des LAN keine Bedeutung. Globale Adressen hingegen werden von der IEEE vergeben, um sicherzustellen, dass nirgendwo auf der ganzen Erde zwei Stationen die gleiche globale Adresse haben (da 48-2 = 46 Bits zur Verfügung stehen, gibt es ungefähr 7x1013 Adressen). Dadurch kann eine Station jede andere Station exakt durch die richtige 48-Bit-Nummer adressieren. Das Finden des Ziels ist Aufgabe der Vermittlungsschicht. Das Feld Länge gibt an, wie viele Bytes das Datenfeld enthält, wobei dieser Wert zwischen 0 und 1.500 liegen kann. Ein Datenfeld von 0 Bytes Länge ist zwar legal, würde jedoch im Zusammenhang mit dem Trash-Management der Bitübertragungsebene zu einem Problem führen. Ein Transceiver schneidet nämlich stets den aktuellen Rahmen ab, wenn er eine Kollision auf dem Datenübertragungsmedium feststellt, weswegen dort häufig einzelne nicht terminierte Bitfolgen und Bruchteile von Rahmen übertragen werden. Um eine Unterscheidung zwischen diesem Müll und gültigen Data Frames zu ermöglichen, definiert IEEE 802.3, dass ein gültiger Rahmen von der Zieladresse bis zur Prüfsumme mindestens 64 Bytes lang sein muss.
58
Einführung in Netzwerk-Technologien
Falls der Datenteil eines Frames kleiner als 46 Bytes ist, füllt das PAD-Feld den Rahmen bis zum Minimum auf. Ein weiterer Grund für die minimale Rahmenlänge ist, zu verhindern, dass eine Station die Übertragung eines kurzen Rahmens beendet, bevor sein erstes Bit überhaupt das andere Ende des Kabels erreicht hat, wo er dann evtl. mit einem anderen Data Frame kollidiert. Das letzte Feld ist die Prüfsumme. Dabei handelt es sich um einen 32-BitHashcode der Daten. Ändern sich die Bits aufgrund von Problemen in der Bitübertragungsschicht, ist diese Prüfsumme höchstwahrscheinlich falsch, sodass der Fehler entdeckt wird. Beim Prüfsummenalgorithmus handelt es sich um eine zyklische Redundanzprüfung.4
Protokolle in lokalen Netzwerken5 왘 Persistentes (ständiges) CSMA 왘 Non-persistentes (unterbrochenes) CSMA 왘 p-ständiges CSMA 왘 CSMA mit Kollisionserkennung
Persistentes CSMA Protokolle, bei denen Stationen einen Träger (Carrier) abhören und je nach dessen Zustand handeln, heißen Trägererkennungs-Protokolle (carrier sense protocols). Das erste Trägererkennungs-Protokoll ist das 1-ständige CSMA (1-persistent Carrier Sense Multiple Access). Will ein Endgerät Daten übertragen, so hört es zunächst den Träger ab, ob bereits jemand überträgt. Ist der Kanal besetzt, wartet das Endgerät, bis er frei ist. Entdeckt das Endgerät einen freien Carrier, wird der Datenframe übertragen. Kommt es zu einer Kollision, wartet das Endgerät eine zufällige Zeitspanne und beginnt den Prozess von Neuem. Das Protokoll heißt 1-ständig, da das Endgerät mit einer Wahrscheinlichkeit von 1 sendet, wenn der Kanal frei ist. Unterbrochenes (Non-persistentes) CSMA Bei non-persistentem CSMA wird bewusst der Versuch unternommen, das Netzwerk auf Kosten der Geschwindigkeit bei der Einzelstation sozialer und geschwindigkeitsoptimiert für die Summe der Endgeräte des LAN zu nutzen. Vor dem Senden überprüft eine Station den Kanal. Wenn keine weitere Station sendet, beginnt das Endgerät mit dem Senden. Ist der Carrier jedoch bereits belegt, lauscht die Endstation nicht ununterbrochen auf den Carrier, 4. 5.
Vgl. Tanenbaum, a.a.O., S. 204 ff. Vgl. Tanenbaum, a.a.O., S. 268 ff.
59
2 SAN – Grundlegende Basis-Technologien
um das Ende des Sendens zu erwarten und danach sofort selbst zu senden, sondern wartet einen zufälligen Zeitraum und wiederholt dann den Vorgang. Dieser Algorithmus führt zu besserer Kanalauslastung und längeren Wartezeiten als das persistente CSMA. p-ständiges CSMA p-ständiges CSMA gehört zu den getakteten Kanal-Protokollen und überprüft den Carrier, wenn es senden will. Ist der Kanal frei, sendet das Endgerät mit einer Wahrscheinlichkeit von p. Mit einer Wahrscheinlichkeit von q = 1-p wartet die sendende Station auf den nächsten Slot. Ist auch dieser Slot frei, wird entweder gesendet oder gewartet, wiederum mit den Wahrscheinlichkeiten q und p. Dieser Vorgang wiederholt sich, bis der letzte Data Frame übertragen ist oder ein anderes Endgerät zu senden begonnen hat. Daraufhin wird wie bei einer Kollision reagiert, d.h. ein zufälliger Zeitraum wird gewartet, danach beginnt der Prozess von Neuem. CSMA mit Kollisionserkennung Die CSMA-Protokolle sind eine Verbesserung zuvor entwickelter ALOHAProtokolle, weil 왘 keine Station sendet, wenn der Kanal als belegt erkannt wird; 왘 die Übertragung abgebrochen wird, sobald eine Kollision erkannt wird.
Wenn zwei Endgeräte den Kanal als frei erkennen und gleichzeitig zu senden beginnen, erkennen beide nahezu sofort die Kollision. Statt nun die Übertragung der ohnehin zerstörten Data Frames zu beenden, sollten sie die Übertragung abbrechen, sobald eine Kollision entdeckt wurde. Eine solche sofortige Übertragungsbeendigung bei beschädigten Rahmen spart Zeit und Kanalauslastung. Dieses Protokoll Carrier Sense Multiple Access with Collision Detection (CSMA/CD) wird in den Ethernet-Implementierungen in der MAC-Teilschicht verwendet. CSMA/CD ist im Ethernet-Controller implementiert.
Die Vermittlungsschicht (Network Layer)6 Die wesentliche Funktion der Vermittlungsschicht ist die optimale Wegeplanung vom Sender zum Empfänger. Sie steuert den Subnet-Betrieb. Dabei ist die wichtigste Tätigkeit die Auswahl der Paketleitwege vom Ursprungszum Bestimmungsort. Die Leitwege können auf statischen Tabellen aufgebaut sein, die im Netzwerk fest verdrahtet sind und sich nur selten ändern. Sie können jedoch auch vor Beginn einer Übertragung dynamisch ermittelt werden. Letztlich könnten sie auch für jedes gesendete Paket hochdynamisch ermittelt werden, um so eine optimale Netzauslastung zu gewährleisten.
6.
60
Vgl. Tanenbaum, a.a.O., S. 47 f.
Einführung in Netzwerk-Technologien
Befinden sich zu viele Pakete gleichzeitig im Subnet, kommt es zu Engpässen. Der Network Layer muss auch solche Staus auflösen und steuern können. Die Vermittlungsschicht beinhaltet in der Regel auch eine Accounting-Funktion, um Kosten der Subnet-Nutzung abzurechnen. Es können auch Probleme entstehen, wenn ein Paket auf seinem Weg zum Bestimmungsort von einem Netzwerk zu einem anderen reisen muss. Es könnte zum Beispiel sein, dass die Adressierung beim zweiten Netzwerk anders ist als beim ersten. Das zweite Netzwerk könnte das Paket ablehnen, weil es z.B. zu groß ist. Weiter könnten die Protokolle der beiden Netzwerke verschieden sein. Sämtliche Probleme dieser Art müssen von der Vermittlungsschicht erkannt und behoben werden, um heterogene Netzwerke miteinander kommunizieren zu lassen. Bei Broadcasting-Netzwerken ist das Problem der Leitwegbestimmung einfach. Daher ist dort die Vermittlungsschicht lediglich leicht oder gar nicht implementiert. Wesentliche Protokolle der Netzwerkschicht sind: 왘 IP (Internet Protocol) vgl. Abschnitt TCP/IP 왘 IPX (Novell) 왘 CLNP (OSI)
Die Transportschicht (Transport Layer)7 Die Transportschicht übernimmt die Daten von der Sitzungsschicht, zerlegt sie, falls nötig, in kleinere Einheiten, gibt diese danach an die Vermittlungsschicht weiter und sorgt dafür, dass alle Teile richtig am anderen Ende ankommen. Dies muss effizient und so implementiert werden, dass die Sitzungsschicht transparent vor Änderungen der Hardware-Technologie verborgen und so geschützt wird. Normalerweise baut die Transportschicht für jede von der Sitzungsschicht benötigte Transportverbindung eine eigene Netzwerkverbindung auf. Wenn die Transportverbindung jedoch einen hohen Durchsatz erfordert, könnte die Transportschicht auch mehrere Netzwerkverbindungen aufbauen und die Daten zur Erhöhung des Durchsatzes auf diese Verbindungen verteilen. Die Transportschicht könnte auf der anderen Seite mehrere Transportverbindungen auf einer Netzwerkverbindung zusammenfassen, wenn der Aufbau oder die Aufrechterhaltung einer Netzwerkverbindung eine Kostenfrage darstellt. In jedem dieser Fälle ist die Transportschicht dafür verantwortlich, die Mehrfachnutzung für die Sitzungsschicht transparent zu machen.
7.
Vgl. Tanenbaum, a.a.O., S. 48.
61
2 SAN – Grundlegende Basis-Technologien
Die Transportschicht bestimmt ebenfalls die Art des Dienstes, der der Sitzungsschicht und damit letztendlich dem Netzwerkbenutzer zur Verfügung gestellt wird. Die gebräuchlichste Art der Transportverbindung ist eine fehlerfreie Standleitung (Point-to-Point-Channel), in der Nachrichten in der Sendereihenfolge übertragen werden. Die Art des Dienstes wird zum Zeitpunkt des Verbindungsaufbaus gewählt. Die Transportschicht ist eine echte Ende-Ende- oder Ursprung-zu-Ziel-Verbindung, d.h. die Transportschicht der Sendermaschine kommuniziert direkt mit der Transportschicht der Empfängermaschine. Dabei werden die Nachrichtenköpfe und Steuernachrichten der Transportschicht verwendet. In den niedrigeren Schichten bestehen diese Protokolle zwischen den unmittelbaren Nachbarn im Netz, jedoch nicht unbedingt zwischen Sender und Empfänger. So gibt es den Unterschied zwischen geketteten (pointered) Schichten (Schicht 1 bis 3) und den Ende-Ende-Schichten (Schicht 4 bis 7). Im Multiprogramming-Betrieb können viele Verbindungen zum und vom Server aufgebaut werden. Daher ist es notwendig zu identifizieren, zu welcher Verbindung welche Nachricht gehört. Dies erfolgt im Transport-Header, der den Daten der Transportschicht vorangestellt wird. Außer der Regel der Mehrfachnutzung eines Kanals durch mehrere Nachrichtenströme muss die Transportschicht sich auch noch um den Aufbau und die Auflösung von Verbindungen durch das Netzwerk kümmern. Eine Art Benennungsalgorithmus ist nötig, damit ein Prozess auf einer Maschine die Möglichkeit hat, zu beschreiben, mit wem er kommunizieren will. Weiter muss ein Regulativ für den Informationsfluss vorhanden sein, damit ein schneller Sender nicht einen langsamen Empfänger überholen kann. Als Protokolle der Transportschicht werden eingesetzt: 왘 TCP, UDP (vgl. TCP/IP-Abschnitt) 왘 SPX(Novell) 왘 TP-0 bis TP-4 (OSI)
Das Transmission Control Protocol (TCP) verwendet Dienste, die verbindungsorientiert arbeiten. Dabei wird jedes ankommende Paket quittiert. Durch das Acknowledgement weiß der Sender, welche Pakete beim Empfänger angekommen sind. Das User Datagram Protocol (UDP) verzichtet auf das Acknowledgement der empfangenen Pakete durch den Empfänger. Dadurch bezeichnet man UDP als unreliable service.
62
Einführung in Netzwerk-Technologien
Die Adressierung der Nachricht zur Verbindung an den Server im Transport-Header erfolgt über die Port-Nummer des Prozesses. Über solche Sockets kommunizieren wesentliche Client-/Server-Applikationen, z.B. Datenbank-Applikationen mit relationalen Datenbank-Management-Systemen wie CA-Ingres, Adaptive Server Enterprise (Sybase) oder Microsoft SQLServer. Die Port-Nummer und der verwendete Dienst werden unter Unix-Betriebssystemen in /etc/services eingetragen.
Die Sitzungsschicht (Session Layer)8 Der Session Layer ermöglicht es Anwendern verschiedener Computer, Sitzungen zu vereinbaren, in denen – wie auch bei der Transportschicht – normaler Datentransfer vonstatten gehen kann, jedoch auch zusätzliche Dienste angeboten werden, wie z.B. die Vermittlung zum Time-Sharing eines entfernten Rechners (virtuelles Terminal, virtueller Prozess, virtueller Prozeduraufruf). Einer der verwendeten Dienste ist die Dialogsteuerung. Es gibt Sitzungen, bei denen der Verkehr in beide Richtungen gleichzeitig möglich ist, und auch solche, bei denen der Verkehr lediglich in eine Richtung möglich ist. Bei einer unidirektionalen Sitzung definiert die Sichtungsschicht, wer der beiden Teilnehmer gerade mit seiner Sendung an der Reihe ist. Ein ähnlicher Dienst ist das Token-Management. Bei manchen Protokollen ist es von grundlegender Bedeutung, dass nicht beide Seiten gleichzeitig dieselbe Operation einleiten. Von der Sitzungsschicht bereitgestellte Tokens, die ausgetauscht werden können, regeln diese Problemstelle, denn nur die Seite, die gerade über das Token verfügt, darf die fragliche Operation ausführen. Ein weiterer Sitzungsdienst ist die Synchronisierung. Die Sitzungsschicht liefert dabei Checkpoints für lange Datenübertragungen, auf denen bei einem Absturz der Empfängerseite nach deren Wiederanlauf wiederaufgesetzt werden kann, statt die komplette Übertragung wiederholen zu müssen. In der Sitzungsschicht werden häufig Remote Procedure Calls zur Client-/ Server-Kommunikation verwendet. RPCs werden im Wesentlichen in physikalischen »remote«-Umgebungen eingesetzt, d.h. die Client-Anwendung läuft auf einem physikalisch anderen Rechner als die Server-Anwendung. Remote Procedure Calls sind gekennzeichnet durch: 왘 Aufruf der Serverfunktionen aus einer Client-Applikation 왘 Direkten Funktionsaufruf im Datenstrom 왘 Verwendung von Stubs
8.
Vgl. Tanenbaum, a.a.O., S. 49.
63
2 SAN – Grundlegende Basis-Technologien
Dabei ruft der RPC das remote Programm auf mit: 왘 Programmnummer 왘 Versionsnummer 왘 Prozedurnummer
Dies erfolgt im direkten Funktionsaufruf im Datenstrom, d.h. die Nachricht besteht aus dem Aufruf der remote-Funktion und der Übergabe sämtlicher benötigter Argumente. Die Sitzungsschicht des Servers wandelt die Ergebnisse in eine Nachricht um und übergibt sie der Sitzungsschicht des Clients. Stubs sind Runtime Libraries mit Methoden zur Erstellung von Nachrichten für das Netzwerk-Interface und den Server, die den Funktionsaufruf in den verständlichen Datenstrom umwandeln. Diese Datenbasis sowie das Mapping der Prozesse auf Ports übernimmt in der Sitzungsschicht der Portmapper. Dieser muss vor sämtlichen anderen RPC-Servern gestartet werden. Der Portmapper ist selbst ein RPC-Server mit der Port-ID 111. Sämtliche andere RPC-Server registrieren sich beim Portmapper mit ihrer eigenen Port-ID. RPC-Clients holen sich in der Datenbasis des Portmappers die Port-ID des Servers, mit dem sie kommunizieren wollen, und bauen dann eine Ende-Ende-Verbindung zu diesem RPC-Server auf. Dienste, die der Portmapper verfügbar macht, sind unter Unix mit dem Kommando rcpinfo abzufragen. Der Dienstname wird auf die Port-ID mit der Datei /etc/rpc gemapped. Diese Dienstnamen können beim RPC-Aufruf auch anstelle der Programmnummer verwendet werden. Beispiele für rcpinfo rpcinfo -p LUEGFIX
liefert für den Server LUEGFIX: program
Programmnummer jedes momentan registrierten Dienstes
vers
Versionsnummer jedes momentan registrierten Dienstes
proto
Protokollname (udp oder tcp) jedes momentan registrierten Dienstes
port
Port-ID eines jeden momentan registrierten Dienstes
service
Programmname jedes momentan registrierten Dienstes
Die Darstellungsschicht (Presentation Layer)9 Der Presentation Layer stellt im Wesentlichen bereits eine funktionale Schicht für Anwendungsfunktionen dar. Er führt diverse Funktionen durch, deren häufiges Auftreten eine standardisierte Lösung rechtfertigen, anstatt 9.
64
Vgl. Tanenbaum, a.a.O., S. 49 f.
Einführung in Netzwerk-Technologien
es dem Anwendungsentwickler zu überlassen, die funktionalen Probleme dieser Ebene zu lösen. Die bisher betrachteten fünf Ebenen des ISO/OSIModells sind auf die korrekte binäre Übertragung von Strings zu den jeweiligen Ebenen bedacht. Die Darstellungsschicht hat dagegen auch für die Syntax der übertragenen Informationen und die Semantik der übertragenen Informationen eine Schlüsselfunktion inne. Ein typisches Beispiel für Dienste der Präsentationsebene des ISO/OSIModells ist die standardisierte Kodierung der zu übertragenden Informationen. Anwenderprogramme tauschen keine Informationen in Form beliebiger Binär-Zeichenketten aus, sondern strukturierte Daten wie Namen, Orte, Zahlen, Gleitkommazahlen, Termindaten, Geldbeträge etc. Diese Attribute sind durch strukturierte Datentypen beschrieben, eben Zeichenketten, ganze Zahlen, Gleitkommazahlen oder zusammengesetzte abstrakte Datentypen, die ihrerseits aus weniger komplexen Datentypen zusammengesetzt sind. Weiter existieren von der Hardware-Architektur abhängige Unterschiede in der Kodierung von Zeichen und Zahlen, z.B. am weitesten verbreitet im PCUmfeld und im Bereich der mittleren Datentechnik der ASCII-Code oder im Mainframe-Umfeld der IBM-Welt der EBCDIC-Code. Um nun solch heterogene Hardware- und Code-Architekturen miteinander kommunizieren zu lassen, übernimmt die Darstellungsebene die Aufgabe, die auszutauschenden Informationen nochmals in einen für beide verständlichen Netzwerkcode XDR zu konvertieren. Hierbei werden die Code-Basisdatenstrukturen in XDR-Datenstrukturen und umgekehrt transferiert. Auf Basis von XDR oder RCP funktioniert z.B. NFS (Network-Filesystem) von SUN, das von nahezu jedem anderen Hersteller der Unix-Umgebung heute adaptiert wurde. Als zusätzliche Funktionen des Presentation Layer sind also zu nennen: 왘 Konvertierung heterogener Codetabellen (ASCII, EBCDIC) in eine Stan-
dard-Netz-Codetabelle durch XDR 왘 Durchführung von Datenkomprimierung 왘 Verschlüsselung und Kryptographie der zu übertragenden Informa-
tionen
Die Anwendungsschicht10 Der Application Layer, die Anwendungsebene der ISO/OSI-Netzwerkarchitektur, besteht aus »Myriaden« häufig benötigter Protokolle. Erwähnt seien hierbei allein die Hunderte von nicht kompatiblen Bildschirmarten. Zu erwähnen ist dabei die leidige Terminaleinstellung für die Verwendung von Anwendungsprogrammen und die Anwendung von Datenbankwerkzeugen unterschiedlicher Datenbankhersteller. Mit welchen Funktionstasten kann in welchem Werkzeug gelöscht, eingefügt, gespeichert oder das Dienstprogramm verlassen werden? 10. Vgl. Tanenbaum, a.a.O., S. 50.
65
2 SAN – Grundlegende Basis-Technologien
Diese Probleme können durch die Definition eines virtuellen Terminals im Netzwerk gelöst werden, das sämtliche Funktionen aller verfügbaren realen Terminals aufeinander mapped. Die Software für virtuelle Terminals befindet sich in der Anwendungsschicht. Weiter bedient die Anwendungsschicht den Dateitransfer, indem Inkompatibilitäten hinsichtlich Dateinamen, Textdarstellung etc. beseitigt werden. Ebenfalls werden in der Anwendungsschicht im Wesentlichen die Dienste der elektronischen Post, der Remote-Funktionsaufrufe (Remote Job Entry), der Abfrage entfernter Verzeichnisse etc. durchgeführt. Die von der Anwendungsschicht verwendeten/unterstützten Protokolle sind in Unix-Umgebungen im Wesentlichen: 왘 SMTP (Simple Mail Transfer Protocol) 왘 FTP (File Transfer Protocol) 왘 TELNET (Remote Terminal Protocol) 왘 NFS (Network File System) 왘 SNMP (Simple Network Management Protocol)
Somit stellt die Anwendungsschicht die von den Anwendern direkt aufzurufenden Dienste zur Verfügung. Dienste werden unterschieden in: RPC-Dienste
NIS, NIS+, rstatd (remote statistics), mount-demon, lock-manager
Nicht-RPC-Dienste
rlogin, rcp, rsh, mail, ftp, telnet, rwho, nfsd-demon
RPC-Dienste werden über feste Programm- und dynamische Port-Nummern identifiziert, nicht-RPC-Dienste verwenden lediglich eine feste PortNummer.
Die Datenübertragung im OSI-Modell11 Die Datenübertragung im ISO/OSI-Modell lässt sich wie folgt beschreiben. Der Senderprozess gibt die zu übertragenden Daten an die Anwendungsschicht, die den Daten den Anwendungs-Header (AH – Anwendungsnachrichten-Kopfdaten) hinzufügt. Der vorangestellte Anwendungs-Header und die zu übertragenden Daten werden nun als Einheit an die Darstellungsebene weitergegeben. Nach der Transformation inkompatibler Daten- und Codetypen stellt die Darstellungsebene der Einheit aus Anwendungs-Header und Daten noch den Presentation-Header (PH) voran und übergibt nun diese Einheit an die nächst niedrige Schicht, die Sitzungsschicht. Diese fügt nach Durchführung ihrer Funktionen den Session-Header (SH) vorne an und übergibt alles an die Transportebene. Diese führt ihre Aufgaben durch und fügt den Transport-Header (TH) hinzu. Die Vermittlungsschicht addiert den Network-Header (NH), die Sicherungsschicht fügt den Data11. Vgl. Tanenbaum, a.a.O., S. 50 ff.
66
Einführung in Netzwerk-Technologien
Link-Header (DH) an den Beginn der Einheit und den Data-Link-Trailer (DT) an das Ende der Einheit hinzu. Diese komplette Einheit wird vom Physical Layer, der Bitübertragungsschicht, an den Empfänger übertragen und dann von Ebene zu Ebene nach oben gereicht, wobei die jeweilige Empfängerebene die entsprechenden Trailer und Header der gleichen Senderebene liest und beachtet. So ist es implementiert, dass obwohl physikalisch die Kommunikation zwischen Sender und Empfänger stets vertikal über sämtliche Ebenen des Netzwerk-Modells erfolgt, scheinbar doch jede Ebene des Senders sich mit der ihr entsprechenden Ebene des Empfängers direkt austauscht.
2.2.4 2.2.4.1
Das Internet-Protokoll Einführung in das Internet-Protokoll
TCP/IP beinhaltet in aller Regel folgende kernel-basierende Protokolle: 왘 ARP – Address Resolution Protocol
Das ARP wird dazu verwendet, eine Internetadresse einer physikalischen Hardwareadresse (Ethernet-Adresse) zuzuordnen. 왘 RARP – Reverse Address Resolution Protocol
Das RARP wird von einem Diskless Client verwendet, um zum Systemstart seine Internetadresse zu erhalten. 왘 Ein Diskless Client sendet in das Netz eine Anforderung, die seine
eigene Ethernet-Adresse enthält. Der Server antwortet, indem er dem Client dessen Internetadresse an seine Ethernet-Adresse schickt. 왘 IP – Internet Protocol
Das Internet Protocol bietet den verbindungslosen Austausch von Datagrammen zwischen Hosts. Dabei bedeutet verbindungsloser Dienst, dass das Protokoll jedes Datagramm als eigenständige Einheit behandelt. Jedes IP-Datagramm enthält die Adresse seines Senders und die seines Empfängers, einige KontrollInformationen (Headers) sowie die zu übertragenden Daten. IP kann Pakete in falscher Reihenfolge schicken, Pakete verlieren und auch Pakete doppelt übertragen. IP definiert zwar ein exaktes Format der Daten, in dem diese durch das Netzwerk verschickt werden, garantiert jedoch nicht die akurate Auslieferung versendeter Daten. 왘 ICMP – Internet Control Message Protocol
Das ICMP betreibt in »Partnerschaft« mit IP die Fehlerbehandlung und das Versenden/Empfangen von Control-Messages. Gateways und Hosts verwenden ICMP, um sich gegenseitig Probleme beim Übertragen von Datagrammen mitzuteilen. ICMP ermöglicht weiter einem Host zu testen, ob ein Empfänger erreichbar ist und ob er antwortet.
67
2 SAN – Grundlegende Basis-Technologien 왘 TCP – Transmission Control Protocol
TCP definiert eine zuverlässige, am Datenstrom orientierte Prozess-zuProzess-Kommunikation. TCP ist ein verbindungsbasierendes Protokoll. Es benötigt eine Verbindung zwischen zwei Computern, bevor es Daten überträgt. Nachdem eine Verbindung aufgebaut wurde, bietet TCP einen Byte-Strom in beide Richtungen zwischen zwei kommunizierenden Prozessen. Die Nachrichten von TCPs enthalten eine Protokoll-Port-Nummer, die dem Sender ermöglicht, zwischen unterschiedlichen Protokollen auf dem entfernten Rechner zu unterscheiden. Weiter verwendet TCP einen Checksummen-Algorithmus, um sicherzustellen, dass die Daten korrekt beim Empfänger angekommen sind. TCP verwendet IP, um Informationen über ein Netzwerk zu verteilen. 왘 UDP – User Datagram Protocol
UDP definiert eine auf Datagrammen basierende Kommunikation zwischen einem Prozess auf einem sendenden Host und einem Prozess auf einem empfangenden Host. UDP ist ein verbindungsloses Transport-Protokoll. Seine Nachrichten beinhalten eine Protokoll-Port-Nummer, die dem Sender die Unterscheidung zwischen unterschiedlichen Programmen des Remote-Rechners erlaubt. UDP verwendet in der Regel ebenfalls einen ChecksummenAlgorithmus, um die korrekte Ablieferung gesendeter Datagramme zu gewährleisten. UDP verwendet ebenfalls IP, um Informationen über ein Netzwerk zu verschicken.
2.2.4.2
Internetadressen (IP-Adressen)
Internet Protocol-Adressen werden verwendet, um Computersysteme innerhalb von TCP/IP-Netzwerken zu adressieren. Daher muss jede IP-Adresse, die einem Computersystem zugewiesen wird, innerhalb des Netzwerks eindeutig sein, eine IP-Adresse besteht stets aus zwei Teilen: 왘 Netzwerk 왘 Host
Jeder der beiden Bestandteile der IP-Adresse eines Rechners kann unterschiedlich lang sein, die komplette IP-Adresse hat jedoch in der zurzeit gültigen Version 5 des Internet-Protokolls eine fixe Länge von vier Bytes. Da die Adressteile in ihrer Länge variieren können, werden die Netzwerk- und die Hostadresse durch die Konvention der Adressklassen identifiziert. CLASS A-Adressen: Class A verwendet das erste Byte als Netzwerkadresse, die folgenden drei Bytes als Hostadresse. Dabei wird das höchste Bit des ersten Bytes auf 0 gesetzt. Dadurch beschränkt sich der Adressbereich auf Werte zwischen 0 und 127. Beispiel einer CLASS A-Adresse: 119.110.2.3
68
Einführung in Netzwerk-Technologien
CLASS B-Adressen: Class B verwendet die ersten beiden Bytes für die Netzwerkadresse, die beiden hinteren Bytes als Hostadresse. Dabei werden die beiden höchsten Bits des ersten Bytes auf 1 und 0 gesetzt. Dies resultiert in einem Adressbereich von 128 bis 191. Beispiel einer CLASS B-Adresse: 190.100.2.3 CLASS C-Adressen: Class C verwendet die ersten drei Bytes als Netzwerkadresse, das letzte Byte als Hostadresse. Hier werden die beiden höchsten Bits des ersten Bytes jeweils auf 1 gesetzt, das dritthöchste Bit des ersten Bytes wird auf 0 gesetzt. Dies resultiert in einem Adressbereich von 192 bis 223. Beispiel einer CLASS C-Adresse: 221.31.3.1 Die maximale Anzahl von Netzwerken oder Rechnern innerhalb eines Netzwerks kann anhand der Adressklasse und damit anhand der IP-Adresse ermittelt werden. CLASS A:
Maximal 16.777.214 Rechner je Netzwerk bei maximal 127 Netzwerken
CLASS B:
Maximal 16.128 Netzwerke mit je maximal 65.534 Rechnern
CLASS C:
Maximal 2.015.775 Netzwerke mit je maximal 254 Rechnern
2.2.4.3
IP-Broadcast-Adressen
IP Broadcast-Adressen werden dazu verwendet, Mitteilungen an sämtliche Hosts eines Netzwerks zur gleichen Zeit zu versenden. Das Format einer IP Broadcast-Adresse besteht aus dem Netzwerk-Teil der IPAdresse gefolgt von lauter 1 (neuer Standard) oder lauter 0 (alter Standard). Verwendet ein Rechner z.B. die IP-Adresse 131.100.4.1 (CLASS B-Adresse), so lautet die Broadcast-Adresse entweder 131.100.255.255 (neuer Standard) oder 131.100.0.0 (alter Standard).
2.2.4.4
Subnetting
Subnets werden dazu verwendet, mehre physikalische Netzwerke zu einem logischen Netzwerk zusammenzufassen. Ein in Subnets untergliedertes Netzwerk wird durch eine Internet-Netzadresse adressiert. Innerhalb des aus Subnets zusammengesetzten Netzwerks definieren einige Bits der Hostadresse das individuelle Subnet. Dies bezeichnet man als die Netmask des Subnets. Je nachdem, wie die Netmask gesetzt ist, werden die Bits des Hostadressenteils der IP-Adresse in zwei Teile untergliedert:
69
2 SAN – Grundlegende Basis-Technologien 왘 Subnet 왘 Host
Verwendet ein Rechner beispielsweise die IP-Adresse 165.131.2.1 (CLASS BAdresse) und die Netmask 255.255.255.0, so wird die IP-Adresse wie folgt interpretiert: Netzwerkadresse:
165.131
Subnetadresse:
2
Rechneradresse:
1 (Hostadresse im Subnet)
Im Folgenden soll exemplarisch am Betriebssystem Solaris (2.x) von Sun das Setup von TCP/IP in Unix-Umgebungen dargestellt werden.
2.2.4.5
TCP/IP-Setup – Solaris 2.x
Auf Solaris-Systemen kann die TCP/IP-Konfiguration während der Systeminstallation systemunterstützt erfolgen oder nach der Installation des Systems »manuell«. Dazu müssen folgende Schritte (Aufgaben) durchgeführt werden: 왘 Falls der Hostname nicht bereits gesetzt ist, muss er mit dem Kommando
hostname gesetzt werden. 왘 Durch Editieren mit dem Texteditor vi oder mithilfe des admintool müs-
sen Hostname und IP-Adresse in /etc/hosts eingetragen werden. 왘 Mit ifconfig muss die Netzwerk-Schnittstelle konfiguriert werden.
Name des Ethernet-Controllers Für Sun-Systeme ist eine Vielzahl von Ethernet-Controllern verfügbar. Für Workstations sind LANCE Ethernet-Controller am häufigsten. Die Abkürzung des Devices für diesen Typ Ethernet-Controller ist le0 für den ersten Controller, le1 für den zweiten usw.
Kommandos für das TCP/IP-Setup # hostname
Das Kommando hostname wird verwendet, um den Rechnernamen anzuzeigen und zu setzen.
# ifconfig
Das Kommando ifconfig wird verwendet, um die IPAdresse, die IP-Broadcast-Adresse und die Netmask eines Ethernet-Controllers zu setzen.
Wird TCP/IP während des Boot-Prozesses konfiguriert, so werden diese beiden Kommandos in einem der Startup-Scripts ausgeführt (vgl. unten: Start von TCP/IP während des Boot-Prozesses). Das Kommando hostname wird verwendet, um den Rechnernamen des Systems anzuzeigen oder zu setzen:
70
Einführung in Netzwerk-Technologien
# hostname
maestria # hostname lucifer # hostname
lucifer Das Kommando ifconfig wird verwendet, um die Konfiguration einer Schnittstelle anzuzeigen oder eine Schnittstelle (Controller) komplett zu konfigurieren. Syntax: ifconfig interface [IP-Adresse netmask Subnet-Maske broadcast BroadcastAdresse if-Status] Dabei haben die Optionen des Kommandos folgende Bedeutung: interface
Name der Schnittstelle (in der Regel Ethernet-Controller), z.B. le0 für den ersten LANCE Ethernet-Controller.
IP-Adresse
IP-Adresse, die für die Schnittstelle eingetragen (konfiguriert) werden soll. Beispiel: 191.113.3.1
netmask
Netzmaske, die für die Schnittstelle verwendet werden soll. »+« Subnet-Maske bedeutet, dass der Wert für die Netmask aus der Datei /etc/netmasks genommen wird. Beispiel: 255.255.255.0
broadcast
Die für die Schnittstelle zu setzende Broadcast-Adresse. »+«Broadcast-bedeutet, dass der Wert für die Netmask aus der Datei /etc/netmasks Adresse genommen wird. Beispiel: 165.101.2.255
if-Status
Status des Interfaces (Schnittstelle). Es werden die beiden Status up und down unterstützt.
Beispiel für ifconfig: Setzen der IP-Adresse, der Netmask und der Broadcast-Adresse für den Ethernet-Controller le0 # ifconfig le0 173.173.2.1 netmask 255.255.255.0 broadcast 173.173.2.255 up
Anzeigen der aktuellen Konfiguration des Ethernet-Controllers le0 # ifconfig le0
le0: flags=863 mtu 1500 inet 173.173.2.1 netmask fffff00 broadcast 173.173.2.255 ether 7:0:19:d:da:de
71
2 SAN – Grundlegende Basis-Technologien
Relevante Dateien für das TCP/IP-Setup Folgende Dateien sind beim Setup von TCP/IP bedeutsam: /etc/hosts
Enthält die IP-Adressen und Hostnamen sämtlicher bekannter Hosts inklusive des Systems selbst.
/etc/networks
Enthält die Netzwerkadressen und Netzwerknamen sämtlicher bekannter Netzwerke inklusive des eigenen Netzwerks. Diese Einträge sind optional.
/etc/netmasks
Enthält die Netzwerkadresse und Subnet-Maske (netmask) des betrachteten Rechners. Diese Einträge sind optional. Ist eine Netmask in dieser Datei definiert, so kann sie bei dem Kommando ifconfig mit der Option netmask + verwendet werden. Weiter kann die Broadcast-Adresse, vergleichbar mit der Netmask, bei dem Kommando ifconfig mit der Option broadcast + verwendet werden.
/etc/hostname.le0 Enthält den Hostnamen des betrachteten Rechners. Dieser Eintrag wird vom Kommando hostname verwendet, um zum Boot-Zeitpunkt den Hostnamen des Rechners zu setzen. Die Datei /etc/hostname.lex muss für jeden EthernetController erstellt werden und sollte während des Boots konfiguriert werden. /etc/nodename
Enthält den »ersten« Hostnamen des Systems. Dieser Eintrag definiert den Knotennamen auf Rechnersystemen mit mehr als einer Schnittstelle (Controllern) und daher mehreren Hostnamen.
Beispiele: Einträge in /etc/hosts # cat /etc/hosts
127.0.0.1 173.173.2.1 173.173.2.2 173.173.3.1 173.173.3.2 173.173.4.1
localhost maestria troubadix miraculix automatix gutemine
Einträge in /etc/networks # cat /etc/networks
netz2 netz3 netz4
72
173.173.2 173.173.3 173.173.4
Einführung in Netzwerk-Technologien
Einträge in /etc/netmasks # cat /etc/netmasks
170.170.0.0
255.255.255.0
Einträge in /etc/hostname.le0 # cat /etc/hostname.le0
maestria
Start von TCP/IP während des Boot-Prozesses Die Kommandos hostname und ifconfig werden verwendet, um TCP/IP während des Boot-Prozesses zu starten. Um den korrekten Hostnamen, die IPAdresse und die Netzmaske zu erhalten, wird auf die Dateien etc/hostname.le0 etc/hosts etc/netmasks zugegriffen. Diese Funktionen werden in folgenden Startup-Scripts aufgerufen: /etc/rcS.d/S30rootusr.sh /etc/rc2.d/S72inetsvc
Der Internet-Daemon »inetd« inetd ist der Listener-Dienst für fast alle Internetdienste. Eine Listener-Prozess »horcht«, ob Dienste angefordert werden und reagiert auf diese Anforderung. Beim Start von inetd liest dieser die Konfigurationsdatei /etc/inetd.conf und öffnet ein Socket für jeden spezifizierten Service. Erhält inetd einen Connection Request auf einem dieser Sockets, gibt er den Request an den Server weiter, der in der Konfigurationsdatei für die Ausführung der Anforderung eingetragen ist.
2.2.5 2.2.5.1
Das Network File System – NFS Einführung
NFS ist ein TCP/IP-basierender Dienst in Unix-Umgebungen, um Dateien in heterogenen Hardware-, Betriebssystem- und Netzwerkumgebungen gemeinsam zu nutzen. Als solcher ist NFS wesentlicher Bestandteil eines Network Attached Storage (NAS)-Systems in Open Systems-Umgebungen. Die gemeinsame Nutzung wird dabei durch das Einhängen (mount) eines Dateisystems oder eines Verzeichnisses eines entfernten Rechners auf dem lokalen Rechner erreicht. Auf diesem lokalen Rechner können die Dateien nun gelesen und geschrieben werden, als ob sie lokale Dateien wären.
73
2 SAN – Grundlegende Basis-Technologien
Das entfernte Dateisystem oder Verzeichnis muss zuvor auf dem jeweiligen Rechner exportiert werden. NFS basiert auf einem Client-/Server-Architekturansatz. Ein Client montiert (mount) ein von einem Server exportiertes Dateisystem. Dieser Server kann eben das auch tun, sodass jeder Rechner im Netz gleichzeitig sowohl NFS-Client als auch NFS-Server sein kann.
2.2.5.2
NFS-Setup während der Installation
왘 Ein NFS-Client kann nach der Installation remote Dateisysteme oder Ver-
zeichnisse ohne weitere Aktivität einhängen (mount). 왘 Ein NFS-Server wird automatisch als solcher konfiguriert, wenn eine In-
stallation vom Typ »Server« durchgeführt wird.
2.2.5.3
NFS-Setup nach der Installation
Nach der Installation eines Rechners sind keine weiteren Schritte zu unternehmen, wenn dieser lediglich als NFS-Client funktionieren soll. Soll der Rechner jedoch ein NFS-Server werden, so sind folgende Schritte durchzuführen: # vi /etc/dfs/dfstab
Editieren der Datei /etc/dfs/dfstab. Eintragen der Verzeichnisse, die von diesem Server exportiert werden sollen # /etc/init.d/nfs.server start
Start der NFS-Server-Daemons mit dem Kommando /etc/init.d/nfs.server start. Existiert eine Datei /etc/dfs/dfstab mit Einträgen darin, müssen die NFSDaemons gestartet werden, um diese Verzeichnisse exportieren zu können.
2.2.5.4
NFS-Server Daemons
Folgende NFS-Server-Daemons müssen gestartet werden:
74
rpcbind
Der Daemon rpcbind wird für sämtliche auf Remote-ProcedureCall basierenden Dienstprogramme benötigt. Er mappt RPC-Programmnummern auf TCP- oder UDP-Port-Nummern.
mountd
Der Mount-Daemon mountd bearbeitet die Mount-Anforderungen der NFS-Clients an diesen NFS-Server.
nfsd
Der NFS-Daemon nfsd bearbeitet die Anforderungen von NFSClients an Dateien innerhalb eines gemounteten Dateisystems. Standardmäßig wird ein Daemon gestartet, der selbst wiederum bis zu 16 Threads via Respawn starten kann, um die einkommenden Anforderungen an das mounted Dateisystem zu erfüllen. Diese Daemons können udp- und tcp-Anforderungen bearbeiten (NFS-Protokoll-Versionen 2 und 3).
Einführung in Netzwerk-Technologien
2.2.5.5
Benötigte NFS-Server-Dateien
Auf dem NFS-Server werden zwei Dateien für den Export von Dateisystemen benötigt. Export-Tabelle
Die Datei /etc/dfs/dfstab wird als »Export-Tabelle« bezeichnet. Sie enthält share-Kommandos für jedes Dateisystem oder Verzeichnis, das exportiert werden soll. Zusätzlich enthält sie über Exportoptionen Zugriffsbeschränkungen oder Zugriffserweiterungen für die exportierten Dateisysteme.
Export-Protokoll
Die Datei /etc/dfs/sharetab wird als »Export-Protokoll« bezeichnet und enthält einen Eintrag je Dateisystem und Verzeichnis, das im aktuellen Zeitpunkt exportiert wurde.
2.2.5.6
Exportieren von Dateisystemen
Nur NFS-Server können Dateisysteme exportieren. Um ein Dateisystem zu exportieren, müssen folgende Schritte gemacht werden: 왘 Eintragen der neu zu exportierenden Dateisysteme in die Datei /etc/dfs/
dfstab 왘 Ausführen des Kommandos shareall. Dieses Kommando trägt die neu
zu exportierenden Dateisysteme in das Export-Protokoll /etc/dfs/sharetab ein. Beispiel: # vi /etc/dfs/dfstab
... share -F nfs -o rw=sun2 /home # shareall
2.2.5.7
Löschen einer Export-Instruktion
Um eine Export-Instruktion zu löschen, also ein Dateisystem oder ein Verzeichnis aus der Liste der zu exportierenden Dateisysteme/Verzeichnisse zu entfernen, sind folgende Schritte einzuhalten: 왘 Löschen des betreffenden Dateisystems in der Datei /etc/dfs/dfstab 왘 Ausführen des Kommandos # unshare -F nfs . Dieses
Kommando löscht das Dateisystem aus dem Export-Protokoll /etc/dfs/ sharetab. Im folgenden Beispiel sollen Export-Instruktionen für das Dateisystem /home gelöscht werden:
75
2 SAN – Grundlegende Basis-Technologien
# vi /etc/dfs/dfstab
... share -F nfs -o rw=sun2 /home (Löschen dieses Eintrags) # unshare -F nfs /home
2.2.5.8
Client-Dateien
Auf einem NFS-Client werden zwei Dateien für das Einhängen von Dateisystemen verwendet: Mount-Tabelle
Die Datei /etc/vfstab wird als »Mount-Tabelle« bezeichnet. Sie enthält für jedes Dateisystem oder Verzeichnis, das eingehängt werden soll, je einen Eintrag. Es können auch die Mount-Optionen verwendet werden.
Mount-Protokoll Die Datei /etc/mnttab wird als »Mount-Protokoll« bezeichnet. Sie enthält für jedes Dateisystem und jedes Verzeichnis, das aktuell eingehängt ist, einen Eintrag.
2.2.5.9
Einhängen von Verzeichnissen
Um ein Dateisystem oder ein Verzeichnis auf einem Client einzuhängen (mount), ist wie folgt vorzugehen: 왘 Eintragen des zu mountenden Dateisystems und des Mountpoints in die
Datei /etc/vfstab 왘 Erstellen des Mountpoints 왘 Ausführen des Kommandos # mountall. Ist der Mount erfolgreich, wird
durch dieses Kommando das Dateisystem in das Mount-Protokoll /etc/ mnttab eingetragen. Folgendes Beispiel zeigt, wie das Dateisystem /home des NFS-Servers fridolin als /home-fridolin auf dem lokalen NFS-Client eingehängt wird. # vi /etc/vfstab
#device device mount FS fsck mount mount #to mount to fsck point type pass at boot options ... fridolin:/home -/home-fridolin nfs -yes rw # mkdir /home-fridolin # mountall
76
Einführung in die Fibre Channel-Technologie
2.2.5.10
Anzeigen von Export- und MountInformationen
Mit dem Kommando # showmount -e <System> können Informationen über die exportierten Dateisysteme des Systems angezeigt werden. Mit dem Kommando # mount können Informationen über die im lokalen System eingehängten Dateisysteme angezeigt werden.
2.3
Einführung in die Fibre Channel-Technologie
2.3.1
Überblick und Anwendung
Fibre Channel stellt eine serielle Datentransfer-Schnittstelle dar, die über Glasfaser und/oder über Kupferkabel operiert. Dabei gewährleistet Fibre Channel eine Datenübertragungsrate von bis zu 100 MB pro Sek. pro Port. Weiter bietet Fibre Channel eine logische Punkt-zu-Punkt-Verbindung zwischen einem Hostcomputer und einem Storage Device. Fibre Channel ist ein von der ANSI Fibre Channel Group standardisierter Protokoll-Stack, der mit der Zielsetzung entwickelt wurde, dass Kanäle und Netzwerke in der Lage sein sollen, das gleiche Kabel zu verwenden. Diese Zielsetzung ist vor allem vor dem Hintergrund sinnvoll, dass IT-Systeme beständig zwei oder mehr Schnittstellen unterstützen. Es sollte gelingen, Port und Medien zu teilen und dadurch Hardwarekosten und Größe des IT-Systems einzusparen, da Schnittstellenkomponenten wegfallen können. Der Fibre Channel Standard Stack standardisiert ausgesprochen ambitionierte Zielsetzungen: 왘 Übertragungsperformance von 133 Megabits/Sek. bis vier Gigabits/Sek. 왘 Unterstützung von Entfernungen bis zu zehn Kilometern zwischen den
Fibre Channel Devices 왘 Verwendung kleiner Konnektoren 왘 Distanzunabhängiger hoher Ausnutzungsgrad der Übertragungsband-
breite 왘 Einfachere Connectivity als mit existierenden Multidrop-Kabeln 왘 Breit angelegte Verfügbarkeit insbesondere der Standardkomponenten
77
2 SAN – Grundlegende Basis-Technologien 왘 Unterstützung multipler Preis-/Leistungs-Modelle für die Implementie-
rung in kleinen bis hin zu Supercomputern 왘 Fähigkeit zur gleichzeitigen Nutzung multipler Interface Command Sets
wie IP (Internet Protokoll), SCSI, IPI, HiPPI-FP und Audio/Video Netzwerk- und I/O-Protokolle, wie z.B. SCSI-Kommandos werden auf die ihnen entsprechenden Konstrukte der Fibre Channel-Umgebung gemapped und dann, wie in layered Netzwerken gewohnt, gekapselt und in Fibre Channel-Frames transportiert. Dabei ist Fibre Channel ein Channel-/Netzwerk-Standard, durch den die geforderten Netzwerkfeatures der Connectivity, der höheren Distanz und des Protokoll-Multiplexing erfüllt werden. Dadurch ist ein Hochgeschwindigkeitstransfer multipler Protokolle über das gleiche Kabel möglich. Eine Kommunikation von bis zu 1.062,5 MegaBaud im Full-Duplex-Modus ist heute realistisch. Weiter unterstützt Fibre Channel traditionelle Kanalfunktionalitäten wie Einfachheit, wiederholbare Performance und garantierte Sicherheit bei der Übertragung. Fibre Channel arbeitet darüber hinaus als generischer Transportmechanismus. Die physikalischen Verbindungen zwischen zwei Fibre Channel Devices (z.B. Host via Host-Bus-Adapter und Storage Device über Host-Adapter oder ChannelAdapter, siehe zur Erläuterung die entsprechenden Abschnitte in Kapitel 4 dieses Buches) werden über ein Multi-Mode-Glasfaserkabel aufgebaut. Dieses erlaubt einen Abstand von bis zu 500 m zwischen den beiden Devices. Abbildung 2.3 zeigt den Querschnitt eines Glasfaserkabels und dessen Aufbau. Abbildung 2.3: Fibre Channel-Kabel
Dämpfungsmaterial Kern 9/50/62,5 µm Durchmesser
Mantel 125 µm Durchmesser Schutzhülle 2,5 mm Durchmesser
Umhüllung 250 µm Durchmesser
Wellenlängen: Kurzwelle 780-850 nm Langwelle 1300-1550 nm sichtbares Licht 490-750 nm
78
Einführung in die Fibre Channel-Technologie
Die Fibre Channel-Architektur repräsentiert eine wahrhafte Channel-/Netzwerk-Integration mit einer aktiven, intelligenten Verbindung zwischen Devices. Die Übertragung ist vom Kontroll-Protokoll isoliert, sodass die von den ANSI Fibre Channel-Standards definierten drei Topologien zur Verbindung von Fibre Channel Devices Point-to-Point, Arbitrated Loop und Switched Fabric verwendet werden können, um die bestimmten Anforderungen einer Unternehmens-Anwendung zu realisieren. Diese Topologien werden im Folgenden kurz, in Kapitel 3 dieses Buches in Detail, beschrieben. Point-to-Point-Topologien stellen eine einfache Verbindung zwischen zwei Devices dar. Dabei wird z.B. ein Host über einen Fibre Channel-Host-BusAdapter an einen Fibre Channel-Host-Adapter eines Storage Arrays angeschlossen. Dieser Host sieht nun sämtliche Platten innerhalb des Storage Arrays, die über diesen Host-Adapter sichtbar sind. In der Point-to-PointTopologie ist jedoch das Storage Array nur an diesen einen Host angeschlossen. Die Point-to-Point-Topologie implementiert damit lediglich klassische SCSI-Anschlusstechniken von Storage Devices über Fibre Channel-Technologien. Vorteil der Point-to-Point-Topologie gegenüber der SCSI-Anschlusstechnik ist die gesteigerte Bandbreite und die gesteigerte Distanz der Glasfaser-Technologie gegenüber SCSI. Fibre Channel Arbitrated Loop (FC-AL) ist ursprünglich eine »Daisy Chain« von zwei bis 126 Fibre Channel-Geräten in einer Loop-Konfiguration, die über so genannte L-Ports miteinander verbunden werden. FC-AL ist eine kostengünstige Lösung, da keine Switching Devices benötigt werden. FCAL ist eine gute Wahl für kleine bis mittelgroße Konfigurationen. Die FC-AL Loop kann an eine Switched Fabric angeschlossen werden, sodass auch das Hineinwachsen in eine Switched Fabric-Umgebung möglich ist. Problematisch ist bei der Implementierung der Arbitrated Loop als »Daisy Chain«, dass bei Ausfall eines Geräts innerhalb der Loop die Devices der Loop nicht mehr verfügbar sind. Werden I/O-Requests von einem Host an ein Storage Device gesendet, so wandert der Fibre Channel-Frame dieses I/Os durch die komplette Loop. Dies bewirkt, dass die komplette Bandbreite der Fibre Channel Loop nur von diesem Host genutzt wird. De facto stellt dies eine Teilung der Bandbreite der Fibre Channel-Ports der Loop durch die Anzahl der angeschlossenen Devices dar. Weiter führt die Erweiterung der Loop um zusätzliche Devices zu einer chaotischen Verkabelung, d.h. sowohl seitens der Verkabelung als auch der Konfigurations- und Verwaltungsaufgaben ist die Arbitrated Loop ausgesprochen anspruchsvoll. Effizienz und physikalischer Aufbau der Loop können dadurch verbessert werden, indem ein oder mehrere Fibre Channel-Hubs in die Loop integriert werden. Die Probleme der »Daisy Chain« bei Ausfall eines Hubs sind dann lediglich auf die Devices beschränkt, die an diesen Hub angeschlossen sind. Ebenfalls gewinnt die physikalische Verkabelung über Hubs deutlich an Übersichtlichkeit.
79
2 SAN – Grundlegende Basis-Technologien
Die Fibre Channel Switched Fabric (FC-SW) Topologie verwendet ein oder mehrere Switching Devices, über die mehrere Knoten dynamisch miteinander verbunden werden können. Die Knoten der Fabric sind auch hier z.B. wieder Hosts und Storage Arrays. Abbildung 2.4: Fibre ChannelTopologien
•
Punkt-zu-Punkt – einzelne Verbindung
•
Arbitrated Loop – Begrenzte Skalierbarkeit – Geteilte Bandbreite – Möglichkeit eines „single point of failure”
•
Switched Fabric
Hub
S witche d Fa bric
– „Dynamic Virtual Circuits” – Redundante Komponenten, „auto failover” – „Hot plugable, upgradeable”
Die Fibre Channel-Standards verwenden den Begriff des »Knotens«, um jedes Gerät zu charakterisieren, das über Fibre Channel an ein oder mehrere andere Geräte angeschlossen ist. Jedes Fibre Channel-Gerät besitzt zumindest einen Port, über den dieses Gerät an einen Port eines anderen Knoten verbunden wird. Die Fabric ist als allein stehendes Gerät selbst zu verwalten. Die einzelnen Knoten bedürfen keines Managements, sie werden seitens des Switches verwaltet. Dies vereinfacht die Implementierung einer Fabric erheblich. Innerhalb eines Fibre Channel Storage Area Network existieren folgende Ports, die das jeweilige Device an die Fibre Channel-Umgebung anschließt. Port
Funktion und Verwendung
N-Port
Port eines Knotens außerhalb einer »Fabric«
F-Port
Port an einem »Switch«, der eine Punkt-zu-Punkt-Verbindung zu einem N-Port herstellen kann
NL-Port
Port, der an einer »Arbitrated Loop« betrieben werden kann (mit einem Fabric Login)
Tab. 2.5: Fibre Channel-Ports im SAN
80
Einführung in die Fibre Channel-Technologie
Port
Funktion und Verwendung
FL-Port
Port an einem »Switch«, der in einer »Arbitrated Loop« betrieben werden kann
E-Port
Stellt die Verbindung zu einem anderen »Switch« her
G-Port
Kann als F-Port oder E-Port eingesetzt werden
GL-Port
Kann als F-Port, FL-Port oder E-Port eingesetzt werden
Private Loop
Es wird nur das unterste Byte der Adresse verwendet. Kann in einer »Quick Loop« am Switch verwendet werden.
Public Loop
Loop mit einem Anschluss an eine »Switched Fabric«
Tab. 2.5: Fibre Channel-Ports im SAN (Forts.)
Die Verbindung der Devices innerhalb eines SANs anhand dieser Ports kann man sich wie in Abbildung 2.5 vorstellen. Abbildung 2.5: Fibre Channel-Ports im SAN
E-Port
Host E-Port
F-Port N-Port
Switch
Host
FL-Port
Switch
Hub
F-Port Public Loop
Hub
NL-Ports N-Port
Host Private Loop
NL
Host
Host
Storage Array Die Interoperabilität in Fibre Channel-Umgebungen wird durch zwei unabhängige Laboratorien gewährleistet. Das Interoperability Laboratory (IOL) an der University of New Hampshire entwickelt Test Suites für HardwareHersteller, um die Übereinstimmung der Produkte mit den Fibre ChannelStandards sicherzustellen. Das Computational Science and Engineering Laboratory an der University of Minnesota ist auf die Entwicklung der Funktionalität und der Ausweitung von Fibre Channel-basierten Applikationen fokussiert. Für Speichermedien ist Fibre Channel die Anschluss-Technologie der Zukunft. Als solche wurde Fibre Channel von den führenden Computerund Speicherherstellern angenommen und für unternehmensweite Speicher-
81
2 SAN – Grundlegende Basis-Technologien
architekturen implementiert. Fibre Channel eliminiert die Entfernungs-, Bandbreiten-, Skalierbarkeits- und Zuverlässigkeitsgrenzen eines herkömmlichen SCSI-Anschlusses. Fibre Channel wird schon heute als Standard-Magnetplatten-Schnittstelle angeboten. Führende RAID-Anbieter (Redundant Array of Inexpensive Disks) liefern heute schon voll in Fibre Channel-Technologie ausgelegte Storage Arrays. In Zukunft wird kein RAID-Hersteller als ernsthafter Anbieter in Auswahlverfahren involviert werden, wenn er keine Fibre Channel-Technologie anbietet. In SANs als Speichernetzwerk hinter den Serversystemen werden ein oder mehrere Server mit einem oder mehreren dieser Speichersysteme verbunden. Jedes dieser Speichersysteme kann ein RAID Storage Array, ein Magnetband-Datensicherungssystem, eine Magnetbandbibliothek, eine CDROM-Bibliothek oder ein JBOD-System (Just a Bunch Of Disks) sein. Fibre Channel-Netzwerke sind robust und zuverlässig. Die Vorzüge eines auf Fibre Channel-Produkten basierenden SAN sind: 왘 Zwischen den Servern geteilte Speicherkapazität 왘 Unabhängige Skalierbarkeit von Server- und Speicherkapazitäten 왘 Hohe Performance 왘 Robuste Datenintegrität und -zuverlässigkeit 왘 Schneller Datenzugriff und schnelle Datensicherung
In einem Fibre Channel-Netzwerk können auch herkömmliche Speichersysteme mithilfe einer Fibre-Channel-to-SCSI-Bridge eingebunden werden. Das Internet-Protokoll IP wird für die Server-to-Server- und die Client-to-Server-Kommunikation verwendet. Speichernetzwerke arbeiten sowohl mit Speicher- (SCSI) als auch mit Netzwerk (IP)-Protokollen. Server und Arbeitsplatzrechner verwenden das Fibre Channel-Netzwerk für einen geteilten Zugriff auf das gleiche Speichersystem oder sogar das gleiche Speichergerät (die gleiche Magnetplatte). Fibre Channel-Produkte ermöglichen in der unternehmensweiten Datenverarbeitung eine neue Performance-Ebene mit einer zuverlässigen ÜbertragungsBandbreite von über 90 MB/Sek. für Filetransfers und über 10.000 I/Os pro Sek. für geschäftskritische Datenbank-Applikationsumgebungen. Diese Vorzüge machen Fibre Channel zum führenden Connectivity-Standard für den Zugriff auf Speichersysteme. Jedoch nicht nur für die Schnittstelle zum Speichersystem, sondern auch für die Netzwerk-Technologie bietet Fibre Channel den Unternehmen erweiterte Performance und Zuverlässigkeit. Die Vielzahl von Netzwerkapplikationen für die Verwendung der Fibre Channel-Technologie umfasst (vgl. hierzu das Kapitel »SAN- und NAS-Anwendungen«): 왘 Unternehmensweites »Rund-um-die-Uhr« Backbone 왘 Hochperformantes CAD/CAE-Netzwerk (Computer Aided Design/Com-
puter Aided Engineering)
82
Einführung in die Fibre Channel-Technologie 왘 Filmanimation und Post-Production-Projekte 왘 Hochperformantes Netzwerk für bildverarbeitende Applikationen
Fibre Channel wurde von der Computerindustrie für IT-Anwendungen entwickelt. Seine Entwicklung zielte auf die Beseitigung der Performance-Barrieren herkömmlicher LANs. Zu den Performance steigernden Eigenschaften von Fibre Channel gegenüber LAN-Technologien zählen: 왘 Bestätigte Ankunft von Frames. Dadurch wird die Zuverlässigkeit des
Protokollstacks erhöht. Es bietet sich jedoch auch die Möglichkeit, den Protokollstack zu umgehen und damit die Performance der Übertragung zu steigern. 왘 Vollständige Unterstützung der »Self Discovery« traditioneller Netz-
werke. Fibre Channel unterstützt ARP, RARP und weitere Protokolle für das »Self Discovery«. 왘 Unterstützung dedizierter Punkt-zu-Punkt-Verbindungen mit fester, ga-
rantierter Bandbreite. Weiter werden auch Loops mit geteilter Bandbreite sowie Switches mit skalierbarer Bandbreite unterstützt. 왘 Unterstützung verbindungsorientierter virtueller Netzwerke mit einem
vollständigen Connection-Service oder einer fraktionierten Bandbreite. Dadurch wird die benötigte Zuverlässigkeit der Verbindung für unternehmenskritische Datensicherungen oder andere relevante Anwendungen garantiert. 왘 Optionale Nutzung virtueller oder realer Netzwerke 왘 Augenblicklicher Aufbau der Verbindung. Der Verbindungsaufbau dau-
ert dank Verwendung des Fibre Channel-Protokolls in dafür verbesserter Hardware lediglich Mikrosekunden. 왘 Verbindungsorientierte und verbindungslose Dienste mit extrem niedri-
gen Latenzzeiten. 왘 Automatisches »Self Discovery« und Selbst-Konfiguration der Fibre
Channel-Topologien. 왘 Unterstützung für zeitsynchrone Anwendungen wie Video durch Ver-
wendung von virtuellen Circuits mit fraktionaler Bandbreite. 왘 Durch die Verwendung von Frames variabler Länge von 0-2 KB werden
effiziente Transfers mit niedriger Latenz und hoher Bandbreite gewährleistet. Fibre Channel ist effizient bei Protokollframes von weniger als 100 Bytes wie auch bei Massentransfers mit maximalen Framegrößen. Heutige IT-Umgebungen sind geprägt von intensiver Netzwerknutzung. Diese Netzwerke müssen standardbasiert die heterogenen proprietären Hardwareumgebungen eines Unternehmens miteinander verbinden. Aus verteilter Datenverarbeitung und aus Parallelprozessing resultieren eine ansteigende Prozess-zu-Prozess-Kommunikation und gesteigerte Speicheranforderungen.
83
2 SAN – Grundlegende Basis-Technologien
Die verarbeiteten und zu speichernden Daten müssen schnell zwischen den unterschiedlichen Systemen transportiert und von diesen geteilt werden. Dies ist die Ursache für die Forderung nach hoher Bandbreite und geringer Latenz, die durch Fibre Channel bedient werden kann. Fibre Channel ist für vernetzte IT-Umgebungen interessant, da seine standardbasierte Ausrichtung auf Open Systems die Endanwender von proprietären, vertikal integrierten Lösungen eines alleinigen Anbieters »befreien« kann. Mittels Fibre Channel können diese Anwender heute die jeweils beste Lösung auf dem Markt nahtlos in ihr IT-Netz integrieren. Fibre Channel ist als Netzwerk-Technologie die Lösung für die technologischen und kaufmännischen Anforderungen moderner Client-/Server-Implementierungen. Nur Fibre Channel bietet die Zuverlässigkeit, die Skalierbarkeit, den hohen Durchsatz und die niedrigen Latenzzeiten, die die in der heutigen IT benötigte große Bandbreite der technologischen und kaufmännischen Anforderungen abdeckt.
2.3.2
Technologievergleich
Fibre Channel wurde entwickelt, um die Performance-Grenzen existierender produktiver LANs und Kanäle zu durchbrechen. Die LAN-Technologie bietet heute zwar eine mehr oder weniger skalierbare Gigabit-Transfer-Technologie. Fibre Channel implementiert hingegen zusätzlich dazu eine Flow Control, eine einfache Verwaltung und eine herausragende Zuverlässigkeit, wie man sie bisher nur von Kanälen kannte. Damit ist Fibre Channel von der Computerindustrie daraufhin ausgerichtet, die Vorteile von Netzwerken und Kanälen miteinander zu verbinden. Gigabit Ethernet ist eine Erweiterung existierender LAN-Fähigkeiten für einen Transport großer Bandbreite. Es ermöglicht einen gemeinsamen Rahmen vom Arbeitsplatzrechner bis zum Backbone. Hier unterscheidet sich Fibre Channel jedoch, indem es den Gigabit-Transportservice unabhängig von den gängigen Netzwerk-Protokollen anbietet. Dabei geht Fibre Channel also über die Möglichkeiten des Gigabit-Ethernet hinaus, indem es in einer Technologie den gemeinsamen Rahmen für Speicher, Netzwerk, Audio und Video und den puren Transfer großer Datenmengen bietet. ATM wurde als Wide Area Network mit der Möglichkeit für Dienste mit fraktionaler Bandbreite geschaffen, um den gewohnten Netzwerk-Service anzubieten. Das Feature der fraktionalen Bandbreite mit garantiertem Service (Zuverlässigkeit) ist insbesondere für Audioübertragungen und Videoon-Demand unabdingbar. Für diese Anwendungen bietet ein Class 4 Fibre Channel jedoch nicht nur die fraktionale Bandbreite mit garantierter Auslieferung der Frames, sondern auch noch den Gigabit-Transfer. Fraktionale Bandbreite mit höherer Performance ist der Vorteil von Class 4 Fibre Channel gegenüber ATM-Netzen.
84
Einführung in die Fibre Channel-Technologie
Channel Hohe Leistung Kurze Distanz Verbindung innerhalb eines Systems Statische Konfiguration Geringer ProtokollOverhead
Fibre Channel Hohe Leistung Große Distanz Verbindung mehrerer Systeme Dynamische Konfiguration Geringer Protokoll-Overhead
Netzwerk Geringe Leistung Große Distanz Verbindung mehrerer Systeme Dynamische Konfiguration Großer ProtokollOverhead
Abbildung 2.6: Vergleich Channel : Fibre Channel : Netzwerk
Aus kommerzieller Sicht bietet Fibre Channel gegenüber allen vergleichbaren Technologien eine interessante Alternative, da es sowohl für Netzwerkfunktionalitäten, als auch für klassische Kanalfunktionalitäten wie den Anschluss von Speicher eingesetzt werden kann. Folgende Tabelle stellt nochmals die Alternativen Fibre Channel, Gigabit-Ethernet und ATM gegenüber. Parameter
Fibre Channel
Gigabit Ethernet ATM
Technologie, Anwendung
Massenspeicher, Netzwerk, Video, Cluster
Netzwerk
Netzwerk, Video
Topologien
Punkt-zu-Punkt, Arbitrated Loop/ Hub, Switched
Punkt-zu-Punkt, Hub, Switched
Switched
Baud-Rate
1,06 Gb/Sek
1,25 Gb/Sek
622 Mb/Sek
Skalierbarkeit zu höheren BaudRaten
2,12 Gb/Sek, 4,24 Gb/Sek
Nicht definiert
2,48 Gb/Sek
Garantierte Übertragung
Ja
Nein
Nein
Möglicher KonsistenzDaten-Verlust
Nur bei Class 3-Services
Ja
Ja
Framegröße
Variabel, 0-2 Kb
Variabel, 0-1,5 Kb Fix, 53 Bytes
Flow Control
Credit Based
Rate Based
Rate Based
Tab. 2.6: Technologievergleich Fibre Channel, Gigabit-Ethernet, ATM
85
2 SAN – Grundlegende Basis-Technologien
Parameter
Fibre Channel
Gigabit Ethernet ATM
Physikalisches Übertragungsmedium
Kupferkabel, Glasfaser
Kupferkabel, Glasfaser
Kupferkabel, Glasfaser
Unterstützte Protokolle
Netzwerk, SCSI, Video
Netzwerk
Netzwerk, Video
Tab. 2.6: Technologievergleich Fibre Channel, Gigabit-Ethernet, ATM (Forts.)
2.3.3
Fibre Channel-Ebenen
Fibre Channel ist in voneinander unabhängige Ebenen strukturiert. Die in Abbildung 2.7 dargestellten Ebenen definieren das physikalische Übertragungsmedium und die Übertragungsraten, das Kodierungsschema, das Framing-Protokoll und die Flow Control, die allgemeinen Dienste sowie die Protokollschnittstellen zu den Anwendungen der oberen Ebene.
2.3.3.1 Abbildung 2.7: Die Fibre ChannelEbenen
FC-4
Die physikalischen Fibre Channel-Ebenen Multimedia Audio Video
Channels IPI SCSI HiPPI SBCCS
Networks IP 802.2
Signaling Layer FC-3
Common Services
FC-2
Framing Protocol/Flow Control
FC-1
Encode/Decode 10/20 bit media independent interface Serializer/Deserializer Serializer/Deserializer Serial media independent interface
FC-0
Multi Mode fiber - Single Mode fiber - Copper 133 Mbps 266 Mbps 531 Mbps 1,06 Gbps 2,12 Gbps 4,25 Gbps
Physical Layer
86
Einführung in die Fibre Channel-Technologie
Die drei Fibre Channel-Ebenen der physikalischen Ebene beschreiben wir folgendermaßen: FC-0
deckt die physikalischen Charakteristika der Schnittstellen und Medien ab, wie Kabel, Konnektoren, Treiber (ECL, LEDs, Kurzwellen-Laser, Langwellen-Laser), Transmitter und Receiver.
FC-1
definiert das acht-Bit/10-Bit-Kodierungs-/Dekodierungs- und Übertragungs-Protokoll, das zur Integration der Daten in die Clock-Informationen dient, die für serielle Übertragungstechniken erforderlich sind.
FC-2
definiert die Regeln für das Signal-Protokoll und beschreibt die Übertragung von Daten-Frames, Frame-Folgen und Datenaustausch.
Die drei unteren Ebenen der Fibre Channel-Architektur, auch als FC-PH bezeichnet, wurden erstmals im Januar 1993 der Öffentlichkeit vorgestellt. Der zweite öffentliche Ausblick begann im Oktober 1993, der Standard wurde im November 1994 festgeschrieben.
Fibre Channel physical layer – Ebene FC-0 Auf der untersten Ebene, FC-0, wird die physikalische Verbindung (physical link) des Kanals spezifiziert. Fibre Channel operiert über verschiedene physikalische Medien und mit unterschiedlichen Datenübertragungsraten. Der Impetus von Fibre Channel, unterschiedliche Verkabelungs- und Protokollwelten verbinden zu wollen, um der Verbindungs-Standard der Zukunft zu werden, bewirkt, dass ein Maximum an Flexibilität auf der untersten Ebene der physikalischen Übertragung erreicht wird. Existierende Verkabelungen und eine Vielzahl existierender Technologien können verwendet werden, um die Anforderungen z.B. eines Storage Area Networks erfüllen zu können. Beispielsweise könnte mit einem Single Mode-Glasfaserkabel die Distanz zwischen zwei Lokationen eines Unternehmens überwunden werden. Innerhalb der Gebäude könnte via Multi Mode-Glasfaser die vertikale Verteilung erfolgen, über die mit einer Kupfer-Drop-Verkabelung die einzelnen Arbeitsplatzsysteme einer Client-/Server-Umgebung angeschlossen sein könnten. Für kurze Entfernungen kann Fibre Channel auch Twinax-Kupferkabel verwenden. Eine effektive Übertragungsrate von 100 MB/Sek. bei einer Leitungsgeschwindigkeit von 1,0625 Gbaud ist gewährleistet. Steigerungen der Leitungsgeschwindigkeit über Glasfaserkabel bis zu 2,125 und 4,25 Gbaud sind bereits freigegeben. Tabelle 2.7 gibt mögliche Übertragungsgeschwindigkeiten, Übertragungsmedien, Übertragungsdistanzen und Transmitter wieder. Aus diesen ergibt sich die Nomenklatur für die Bezeichnung der gängigen Übertragungsmedien in einem Fibre ChannelNetzwerk.
87
2 SAN – Grundlegende Basis-Technologien
Kriterium ÜbertragungsGeschwindigkeit
ÜbertragungsMedium
ÜbertragungsDistanz
Transmitter
Bezeichnung
Bedeutung
400
400 MB/Sek.
200
200 MB/Sek.
100
100 MB/Sek.
50
50 MB/Sek.
25
25 MB/Sek.
12,5
12,5 MB/Sek.
SM
Single Mode-Glasfaserkabel
M5
50/125 Multi Mode-Glasfaserkabel
M6
62,5/125 Multi-Mode-Glasfaserkabel
MI
Miniatur-Kabel, Kupferkabel
TV
Video Kabel, Kupferkabel
TP
Twisted Pair, Kupferkabel
TW
Twinax, Kupferkabel
L
Long: Entfernungen > zwei km
I
Intermediate: Entfernungen von 100 m – zwei km
S
Short: Entfernungen < 100 m
LL
Long Wave Laser (Langwellenlaser) (1.300 bis 1.550 ηm)
SL
Short Wave Laser (Kurzwellenlaser) (780 bis 850 ηm)
SN
Short Wave Laser (Kurzwellenlaser ohne Open Fibre Control) (780 bis 850 ηm)
LE
Long Wave LED (Langwellen-LED) (1.300 bis 1.550 ηm)
EL
Electrical
Tab. 2.7: Nomenklatur-Parameter in der physikalischen Ebene von Fibre Channel
88
Einführung in die Fibre Channel-Technologie
Aus der Kombination der Kriterienbezeichnungen, jeweils durch Bindestrich getrennt, ergibt sich die Benennung der Implementierungen der physikalischen Ebene FC-0 im Fibre Channel-Netz. Als Beispiel mögen die beiden gängigsten Implementierungen dienen: 100-TW-S-EL:
100 MB/Sek. (Übertragungsgeschwindigkeit) – TW (TwinaxKupferkabel Übertragungsmedium) – S (Short Übertragungsdistanz) – EL (Electrical Transmitter)
100-M5-I-SL:
100 MB/Sek. (Übertragungsgeschwindigkeit) – M5 (50/125 Multi Mode-Glasfaserkabel Übertragungsmedium) – I (Intermediate Übertragungsdistanz) – SL (KurzwellenLaser-Transmitter)
Es existieren drei Konnektor-Typen. Glasfaser-Konnektoren sind in aller Regel zweifache SC-Stecker. Kupfer-Steckverbindungen werden mit Standard-DB-9-Konnektoren oder den neueren HSSDC-Konnektoren realisiert. Fibre Channel-Produkte können eine on-board-Kupfer- oder GlasfaserSchnittstelle oder ein medienunabhängiges Interface besitzen. Folgende medienunabhängige Schnittstellen sind verfügbar: Abbildung 2.8: Fibre ChannelKonnectoren
Kupfer DB9-Stecker
Gigabit Interface Converter
Kupfer HSSC-Stecker
Gigabaud Link Module
Zweifach SC FibreOptic-Stecker
Media Interface-Adapter
왘 Gigabaud Link Module (GLM) beinhalten die Serializer-/Deserializer-
Funktion (SERDES) und bieten eine 20-Bit-Parallelschnittstelle zur Fibre Channel-Kodierung/-Dekodierung- und Kontrolllogik. Gigabaud-LinkModule werden vor allem zur Vorkonfiguration der Fibre Channel-Produkte vor der Auslieferung an den Kunden verwendet. Sie sind jedoch auch beim Kunden austauschbar und erweiterbar.
89
2 SAN – Grundlegende Basis-Technologien 왘 Gigabit Interface Konverter (GBIC) bieten eine serielle Schnittstelle zur
SERDES-Funktion. Gigabit Interface Konverter können im laufenden Betrieb von Fibre Channel-Geräten ein- und ausgebaut werden (hot repair). Damit werden sie insbesondere in Multi-Port-Geräten wie Switches und Hubs (vgl. Abschnitt SAN-Hardware) verwendet, indem einzelne Ports ausgetauscht und rekonfiguriert werden, ohne den Betrieb der anderen Ports einzuschränken. 왘 Media Interface Adapter (MIA) ermöglichen die Konvertierung von Kup-
fer-DB-9-Konnectoren zu Multi Mode-Glasfaser. Die Fähigkeit, optische Transceiver zu unterstützen, wird durch definierte Stecker-Pins in der DB-9-Schnittstelle realisiert.
Fibre Channel physical layer – Ebene FC-1 Die Fibre Channel-Ebene FC-1 stellt das Übertragungs-Protokoll (Transmission Protocol) der Fibre Channel-Architektur dar. In FC-1 werden die herausragenden Übertragungscharakteristika eines DC-balancierten 8Bit/10BitKodierungsschemas für Clock Recovery, Byte-Synchronisation und Kodierung/Dekodierung verwendet. Abbildung 2.9: Fibre ChannelTransmissionProtokoll
Byte Clock
Control-Byte
Paralleles Datenbyte
A
B
C
D
E
F
G
5 Bytes/6 Bytes-Funktionen
H
K
3 Bytes/4 Bytes-Funktionen
Disparity Control
a
b
c
d
e
i
f
g
h
j
10-Bit Byte zum Serializer oder zum Schnittstellenmodul des Übertragungsmediums
Dieser balancierte Code wurde von IBM entwickelt, bietet eine ausreichende Übertragungsdichte für ein einfaches Clock Recovery und erlaubt ein kostengünstiges Komponentendesign. Ein benanntes eindeutiges Sonderzeichen (Kommazeichen) gewährleistet eine korrekte Byte- und Wortaus-
90
Einführung in die Fibre Channel-Technologie
richtung. Weitere Vorzüge dieses Codes sind seine praktische Möglichkeit der Fehlererkennung und seine einfache, logische Implementierung für die Kodierung und Dekodierung. In diesem Code-Schema werden acht interne Bits (also ein Byte) als eine 10-Bit-Gruppe übertragen. Obige Abbildung visualisiert das 8Bit/10Bit-Fibre Channel-Übertragungs-Protokoll.
Fibre Channel physical layer – Ebene FC-2 Die Fibre Channel-Ebene FC-2 definiert das Framing-Protokoll und die Flow Control. Durch das Framing- und Signaling-Protokoll der Ebene FC-2 wird die zuverlässige Kommunikation über Fibre Channel gewährleistet. Dabei definiert FC-2 einen Datentransport-Mechanismus, der unabhängig von den Protokollen der oberen Ebenen der Fibre Channel-Architektur ist. Fibre Channel FC-2 ist eigenständig konfigurierbar und unterstützt Punkt-zuPunkt-, Arbitrated Loop- und Switched Fabric-Geräteumgebungen. Geräte werden über Ports in ein Fibre Channel-Netzwerk – z.B. ein SAN – eingebunden. Ein Endgerät im Fibre Channel-Netzwerk wird als Knoten (Node) bezeichnet. Ein N-Port ist ein Port auf einem Knoten, also einem Server, einer Workstation oder einem Storage Array. Ist der Port an eine Arbitrated Loop angeschlossen, so wird er zum NL-Port. Die Datenkommunikation zwischen zwei Knoten erfolgt über einen Fibre Channel-Link durch die miteinander verbundenen Ports der Knoten. Jeder Knoten enthält ein ASIC (Link Controller) mit einer on board Fibre Channel Link Control Facility. Diese überwacht und steuert die logische und physische Kontrolle über den Link. Die Link Control Facility bietet eine logische Schnittstelle zum Rest des Endgeräts. Sie bietet die komplette Verarbeitung des Fibre Channel-Protokolls. Jeder Fibre Channel-Port kann als Urheber (Quell-Port) oder Responder (ZielPort) oder beides agieren und enthält daher sowohl einen Transmitter als auch einen Receiver. Jeder Port im Fibre Channel besitzt einen eindeutigen Namen, der ihn als N-Port oder NL-Port identifiziert. Dank dieser bidirektionalen Konstruktion eines Ports verdoppelt ein Full Duplex-Datenfluss die Bandbreite von Fibre Channel. FC-2 bietet einen kompletten Funktionssatz zusätzlich zur Definition der Framing-Struktur. Diese Funktionen sind: 왘 Ein robuster 32-Bit-CRC (Cyclic Redundancy Check) dient der Entde-
ckung von Übertragungsfehlern. Über diesen CRC wird die Datenintegrität der Fibre Channel-Kommunikation gewährleistet. 왘 Unterschiedliche Dienstklassen bieten und verwalten das Circuit Swit-
ching, Frame Switching, die Datagram Services und virtuelle Circuits fraktionaler Bandbreite innerhalb einer Switched Fabric-Umgebung. Class 1 ist dabei eine wahre Circuit Switched-Verbindung; Class 2 ist ein verbindungsloser Frame Switched Link, der jedoch eine garantierte Auslieferung eines Frames beim Empfänger sowie die Empfangsbestätigung vom Empfänger bietet. Dagegen ist Class 3 ein verbindungsloser Dienst,
91
2 SAN – Grundlegende Basis-Technologien
der nicht auf eine Empfangsbestätigung wartet und daher auch einen Datenverlust beinhalten kann, wenn die Verbindung zwischen Quell- und Ziel-Port unterbrochen wird. Ein Intermix erlaubt simultan verbindungslosen und Class 1 Circuit Switched-Verbindungs-Kommunikationsverkehr. Class 4 unterstützt virtuelle Circuits mit fraktionaler Bandbreite. Class 6 stellt einen Simplex-Verbindungsdienst dar mit Multicast und Preemption. Die Service-Klassen von FC-2 werden später noch detailliert dargestellt. 왘 Angebot von Konstrukten zur Unterstützung effizienten Multiplexings
für Operationen. 왘 Ein Flow Control-Schema mit der Fähigkeit einer garantierten Ausliefe-
rung der Frames an den Empfängerport. Die Flow Control ist Buffer-toBuffer und/oder Node-to-Node für verbindungslose Dienste sowie Nodeto-Node für an Class 1, Class 4 und Class 6 verbindungsorientierte Dienste. 왘 Eine Menge generischer Funktionen, die von mehreren Protokollen der
oberen Ebenen der Fibre Channel-Architektur gemeinsam genutzt werden. 왘 Ein integriertes Protokoll zur Unterstützung der Verwaltung und Über-
wachung der Verbindung, Kontrolle der Fibre Channel-Konfiguration, Wiederherstellung der Betriebsfunktionalität nach einem Fehlerfall und zur Wiederherstellung der Link- und Port-Status-Informationen. 왘 Optionale Header, die für Netzwerk-Routing über Fibre Channel ver-
wendet werden können. 왘 Integration von Kontroll-Informationen im Header, um Hardware-Rou-
ting unterstützen zu können. 왘 Implementierung eines Prozesses zur Segmentierung und Reassemblie-
rung von Daten. Die nachfolgende Abbildung stellt die Struktur des Fibre Channel Framings, Sequencings und des Austausches von Frames über FC-2 dar. Die Struktur des Framing- und Signaling-Protokolls von FC-2 wird durch vier Bausteine definiert: 1. Ordered Set: Der Ordered Set besteht aus vier Zeichen à zehn Bit. Er stellt eine Kombination aus Datenzeichen und Sonderzeichen dar, die für diverse Low Level Link-Funktionen wie Frame-Begrenzung und Signalsteuerung zwischen den zwei Enden eines Links verwendet werden. Diese Signalsteuerung ist für die Reinitialisierung des Links nach einem Stromausfall und für diverse Basis-Recovery-Aktionen verantwortlich.
92
Einführung in die Fibre Channel-Technologie
4 Bytes Start des Frame
24 Bytes Header
2.112 Bytes Nutzdaten 64 Bytes optionaler Header
2.048 Bytes Nutzdaten
4 Bytes 4 Bytes CRC Ende des FehlerFrames Check
Fibre Channel Frame
Frame Frame
...
Frame Frame Frame Frame
...
Frame Frame
S E Q U E N Z S E Q U E N Z
Abbildung 2.10: Fibre Channel Framing, Sequencing und Exchange
E X C H A N G E
2. Frame: Ein Frame ist die kleinste, unteilbare Einheit, also das atomare Datenpaket, das über den Link versendet wird. Das Framing-Protokoll und die Frame-Struktur sind in Abbildung 2.10 dargestellt. Die Adressierung des Frames erfolgt über den Frame-Header. Frames sind für die Protokolle der oberen Ebenen des Fibre Channel-Protokoll-Stacks nicht sichtbar und bestehen aus folgenden Feldern: 왘 Start des Frames. Dieser Delimiter eines Frames ist ein Ordered Set. 왘 Frame Header (definiert durch FC-2) 왘 Optionale Header (definiert durch FC-2) 왘 Nutzdaten variabler Länge, die Anwendungsdaten der oberen Ebe-
nen der Fibre Channel-Architektur enthalten (Länge zwischen 0 und 2.112 Bytes) 왘 32-Bit-CRC (Cyclic Redundancy Check) zur Fehlererkennung 왘 End of Frame. Auch dieser Frame Delimiter ist ein Ordered Set.
Jeder Frame oder jede Gruppe von Frames kann als Teil des Flow Control-Schemas vom Empfänger bestätigt werden. Zusätzlich sind noch die Meldungen »Link Busy« und »Delivery Reject« definiert, die benötigt werden, wenn eine Übertragung eines Frames nicht erfolgreich durchgeführt werden konnte.
93
2 SAN – Grundlegende Basis-Technologien
3. Sequenz: In Fibre Channel werden keine Begrenzungen der Größe von Transfers zwischen Applikationen definiert (in LANs ist die Netzwerk-Software sensitiv für die maximale Frame- oder Paketgröße, die übertragen werden kann). Framegrößen sind für die Anwendungen, die Fibre Channel verwenden, transparent, da die Übertragungseinheit, die Anwendungen kennen, eine Datenstruktur einer oberen Ebene des Fibre Channel-Protokoll-Stacks darstellt. Diese Datenstruktur ist die Sequenz. Eine Sequenz wird aus mehreren logisch zusammenhängenden Frames einer Operation aufgebaut, die in die gleiche Richtung des Links fließen. Es ist die Aufgabe der Ebene FC-2, die Sequenzen in die Framegrößen aufzubrechen, die zwischen den kommunizierenden Ports und zwischen den Ports und der Fabric definiert wurden. So wird beispielsweise eine logische Einheit von Daten, die durch ein Protokoll der oberen Ebenen generiert wurde, in eine einzige Sequenz, bestehend aus einem oder mehreren Frames, zusammengefasst und auf der Empfängerseite als solche disassembliert. Daher stellt die Sequenz auch die kleinste Einheit dar, die im Falle des Verbindungsverlustes nach dem Re-Start des Links wiederhergestellt werden kann. Wird ein Übertragungsfehler festgestellt, so identifiziert Fibre Channel die Sequenz als fehlerhaft und erlaubt es, dass diese Sequenz und die auf die defekte Sequenz folgenden Sequenzen erneut übertragen werden können. Jede Sequenz wird von dem Initiator der Sequenz (Anwendung der oberen Fibre Channel-Ebene) eindeutig über den Sequenz-Identifier (SEQ-ID) identifiziert. Auch wird jeder Frame der Sequenz eindeutig mit einem Sequence Count (SEQ-CNT) durchnummeriert. 4. Exchange: Ein Exchange wird aus einer oder mehreren nicht unbedingt direkt aufeinander folgenden Sequenzen einer einzelnen Operation innerhalb einer Anwendung einer höheren Fibre Channel-Protokollebene aufgebaut. So kann eine Operation beispielsweise aus mehreren Phasen bestehen – das erste Kommando soll einige Daten lesen, die ihm direkt folgen und abgeschlossen wird die Operation durch den Completion-Status, also den Zustand, der festhält, ob die Daten erfolgreich gelesen wurden oder nicht. Jede Phase der Operation – Kommando, Daten und Completion-Status – stellt eine eigenständige Sequenz dar, kann jedoch zu einem Exchange zusammengefasst werden. Innerhalb eines Exchange kann zu einem gegebenen Zeitpunkt auf dem Link jeweils nur eine Sequenz fließen – Sequenzen unterschiedlicher Exchanges können dagegen gleichzeitig über den Link fließen. Dies stellt eine Art des Multiplexings dar, die von Fibre Channel unterstützt wird. Der Exchange wird eindeutig von jedem partizipierenden N-Port identifiziert.
94
Einführung in die Fibre Channel-Technologie
Abhängig von der Fibre Channel-Implementierung wird dem Exchange durch den die Übertragung über den Link initiierenden N-Port (Initiator der ersten Sequenz) eine Originator Exchange ID (OX-ID) zugewiesen. Der empfangende N-Port (Adressat der ersten Sequenz) weist dem Exchange eine ebenfalls implementierungsabhängige Resender Exchange ID (RX-ID) zu. Die Exchange IDs werden im Frame Header übertragen und von den N-Ports lokal für die Administration des Exchanges verwendet.
Die oberen Fibre Channel-Ebenen Fibre Channel stellt einen Transport-Service zur schnellen und zuverlässigen Übertragung von Daten dar. Dabei ist er so skalierbar, dass die Transferanforderungen nahezu jeder Anwendung erfüllt werden können. Die generischen Dienste der Fibre Channel-Ebene FC-3 erweitern mit dem ULP-Mapping (Upper Layer Protocol) der Fibre Channel-Ebene FC-4 die Funktionalität von Fibre Channel und bieten die allen Anwendungen gemeinen Implementierungen für deren Interoperabilität.
Fibre Channel upper layer – Ebene FC-3 Die Fibre Channel-Ebene FC-3 definiert die generischen Dienste des Fibre Channel-Protokoll-Stacks. Einige der Services sind unverzichtbar für die Fibre Channel-Protokolle, andere sind optionale Erweiterungen der grundlegenden Protokolle. Fibre Channel Services werden im Wesentlichen in switched Fibre Channel-Topologien benötigt. Die Verwaltungsfunktionen der Fibre Channel-Endgeräte werden durch dedizierte Server innerhalb eines Switches gehandhabt und müssen daher nicht auf jedem Knoten administriert und initiiert werden. Dies resultiert in einem einfacheren, leichter zu administrierenden System. Mehrere Switches können über ihre E-Ports (Expansion Port) zu einer Fabric zusammengeschaltet werden. Die Server-Funktionen der Fabric können zentralisiert auf einem Switch der Fabric oder dezentralisiert (verteilt) über sämtliche Switches der Fabric angeboten werden. Jeder Server wird über eine Fabric-weit bekannte, eindeutige, von Fibre Channel reservierte Adresse identifiziert. Während die Server extern als N-Port-Adressen erscheinen, können sie Fabric-intern implementiert sein. Das Protokoll sämtlicher Dienste ist das Fibre Channel Common Transport Protocol (FC-CT). Dieses ist für Fabric-Typ und -Topologie transparent. Die Server unterstützen sämtliche Service-Klassen. Die Fibre Channel-Dienste und deren Funktionen werden in Tabelle 2.8 kurz dargestellt und im Folgenden erläutert:
95
2 SAN – Grundlegende Basis-Technologien
Dienst
Funktion
Login-Server (essentiell erforderlich)
왘 Erkennen der für den Betrieb erforderlichen
Fabric/Switch-Controller (essentiell erforderlich)
왘 Unterstützt Initialisierung und Konfiguration
Charakteristika/Parameter der beteiligten Knoten 왘 N-Port-Adresszuweisung (via WWN – World Wide Name) des Switches/der Fabric 왘 Administration des Routings 왘 Von der Fabric optional unterstützte Dienste
Name-Server (optional)
왘 Übersetzungsdienst für die N-Ports (über-
Management-Server (optional)
왘 Konfigurations-Management 왘 Performance-Management Fehlerbehand-
setzt IDs von – weltweit eindeutigen IEEE-Adressen – IP-Adressen – symbolischen Namen)
lung 왘 Benutzerdefinierte Diagnosen 왘 Accounting
Time-Server (optional)
왘 Management von Expiration Timern 왘 Zeit-Synchronisation
Alias-Server (optional)
왘 Hunt Group-Management 왘 Multicast Group-Management
Quality of Service-Server (optional)
왘 Management des Class 4 Quality of Service
Class 6 Multicast-Server (optional)
왘 Management der Class 6 Multicast Group
Tab. 2.8: Fibre-Channel-Dienste/Server-Funktionen
Login-Server Der Login-Server ist eine Switch-interne logische Einheit, die die LoginRequests an den Switch empfängt und auf sie reagiert. Weiter weist der Login-Server dem N-Port des Knotens, der das Login initiiert, seine Adresse zu oder bestätigt diesem seine Adresse. Weiter kann der Login-Server einen Proxy-Agent darstellen, um einen Name-Server mit den Login-Attributen des N-Ports zu versorgen. Fabric/Switch-Controller Ein Fabric/Switch-Controller bietet sowohl unabdingbar erforderliche als auch optionale Dienste. Obligatorische Dienste sind die Initialisierung, die Konfiguration und das Routing-Management. Optionale Dienste sind Dienste, bei denen die Fabric assistiert. Name-Server Die primäre Funktion des Name-Servers besteht darin, sämtlichen Knoten, die an die Fabric angeschlossen sind, die Möglichkeit zu eröffnen, andere Knoten, deren Attribute und N-Port Identifier zu erkennen. Ein Knoten96
Einführung in die Fibre Channel-Technologie
name ist eine acht Byte lange (64-Bit) weltweit eindeutige IEEE-Adresse (WWN – World Wide Name, vergleichbar einer MAC-Adresse). Er kann jedoch auch lokal vergeben werden. Die N-Port Identifier werden vom Name-Server zugewiesen (optional auch vom Login-Server), sobald ein Knoten sich beim Login-Server der Fabric anmeldet.
Server
Storage
Storage
Workstation
Workstation
Abbildung 2.11: Der Name-Server als Verzeichnisdienst eines Fibre Channel-Netzwerks
Server
FC-AL Hub
Arbitrated Loop
Fabric
Server
Workstation
Storage
Server
Nach diesem Zeitpunkt kann ein Knoten (oder sein N-Port) die Beziehung zwischen dem Knoten und seinen zugewiesenen N-Ports registrieren. Weiter bietet der Name-Server die Übersetzung für IP-Adressen, die Protokolle der oberen Ebenen sowie die Dienstklassen, die unterstützt werden. Der Name-Server funktioniert also als Directory-Service des Fibre ChannelNetzwerks für die Attribute: 왘 Native Port Identifier, 왘 Port-Typ, 왘 Port-Name, 왘 Knoten-Name, 왘 Serviceklassen.
Management-Server Fibre Channel hat das in der DV-Industrie allgemein akzeptierte Simple Network Management Protocol (SNMP) für seinen Management-Service adaptiert. Die Daten der Management Information Base (MIB) werden jedem Fibre Channel-Knoten, FC-AL-Hub und jeder FC-SW Fabric zugeordnet.
97
2 SAN – Grundlegende Basis-Technologien
SNMP wird verwendet, diese MIB-Daten zu überwachen und zu modifizieren. Als Transportmechanismus kann SNMP über FC-PH das IP-Protokoll verwenden (konventionelle Anwendung von SNMP). Eine generische Lösung wird ebenfalls angewendet, in der SNMP den FC-CT über FC-PH als Transportmechanismus verwendet, wodurch auf IP verzichtet werden kann (Performance-Aspekte, vor allem für Anschluss von Storage Devices in SAN und remote SAN-Hochverfügbarkeits-Umgebungen). Dies ermöglicht eine konsolidierte Verwaltung von Fibre Channel-Netzwerken, die aus Computersystemen und deren Peripherie bestehen. Time-Server Der Time-Server verwaltet sämtliche Timer (Taktgeber) innerhalb des Fibre Channel-Systems. Er übernimmt die Takt-Synchronisation aller Switch-Elemente und versieht sämtliche Messages zwischen den Komponenten mit Zeitstempeln. Alias-Server Der Alias-Server wird zum Aufbau von Hunt Groups und Multicast Groups verwendet. Als Hunt Group bezeichnet man eine Gruppierung mehrerer Server über jeweils einen N-Port eines ihrer Host-Bus-Adapters (z.B. FC-Adapter) zu nur einem F-Port in der Fibre Channel-Fabric. Der Fibre Channel-Switch »begibt sich auf die Jagd« nach dem ersten freien Port auf dem Switch, wenn andere Clients oder Server mit dem betreffenden Server verbunden werden. Dies ist vergleichbar mit dem Auffinden des ersten verfügbaren Auskunftsplatzes beim Anruf einer Telefonauskunft. Das Ergebnis der Hunt Group ist eine bessere Serverauslastung und ein ausgeglicheneres Antwortzeitverhalten für die Clients. Der Alias-Server verwaltet die Registrierung und Deregistrierung von Aliasen. Die Weitervermittlung (Routing) der Frames ist Aufgabe der Fabric. Eine Multicast Group ist eine Gruppe von N-Ports, die Frames eines N-Ports erhalten, der zur gleichen Gruppe gehört. Der Frame des sendenden NPorts wird an sämtliche andere N-Ports der Multicast Group repliziert. Dabei wird der Class 3-Service verwendet. Jede Multicast Group besitzt ihre eigene Alias-Identifikation (MG-ID). Ein einzelner N-Port kann sich simultan bei mehreren Multicast Groups registrieren, ein N-Port kann also eine Liste von N-Ports als Mitglied einer oder mehrerer Multicast Groups registrieren. Eine Hunt Group ist eine Gruppe von N-Ports unter einer alleinigen Kontrolleinheit. Jede Hunt Group wird mit einer Alias-Identifikation (HG-ID) assoziiert. Eine Hunt Group verwendet für sämtliche Mitglieder der Gruppe daher nur eine Alias-Adresse. Die Fabric adressiert den ersten verfügbaren N-Port innerhalb der Hunt Group als Empfänger für die Serviceklasse. In der Serviceklasse Class 1 ermöglichen die Hunt Groups die Auswahl genau eines verfügbaren N-Ports für eine dedizierte Verbindung. In Class 2 oder Class 3 können Hunt Group-Mitglieder über mehrere verfügbare Ports verteilt werden. Dadurch wird die Übertragungsbandbreite erhöht und/oder die Latenzzeiten verringert. 98
Einführung in die Fibre Channel-Technologie Abbildung 2.12: Alias-Server Hunt Group
Server
N-Port F-Port
Server
N-Port
Server
N-Port
Server
Switch (Fabric) N-Port
Quality of Service-Server Der Quality of Service-Server wird verwendet, um die gewünschte Dienstqualität der Class 4-Services über virtuelle Kanäle aufzubauen. Der Quality of Service-Server ist ein Modul der Fabric zum Aufbau und zur Aufrechterhaltung der Parameter der Dienstqualität aktiver und ruhender virtueller Kanäle (VC, Virtual Circuits). Er ist unabdingbar für Class 4-Services. Quality of Service-Parameter sind: 왘 garantierte minimale Übertragungsbandbreite eines Virtual Circuits, 왘 garantierte maximale Übertragungs-Verzögerung zwischen beiden End-
punkten eines Virtual Circuits. Außer Aufbau und Aufrechterhaltung der Quality of Service-Parameter ist der Quality of Service-Server verantwortlich für die Administration des Auf- und Abbaus einer Class 4-Kanalverbindung. Er stellt basierend auf den verfügbaren Ressourcen und der aktuellen Auslastung sicher, dass die angeforderte Quality of Service gewährleistet ist. Ist sie dies nicht, kommt keine Verbindung über den virtuellen Kanal zustande.
99
2 SAN – Grundlegende Basis-Technologien
Multicast-Server Der Multicast-Server ist ein optionaler Bestandteil einer Fabric, der die Antworten sämtlicher Empfänger-N-Ports einer Class 6-Multicast-Gruppe verwaltet. Nachdem alle Antworten der Empfänger-N-Ports beim Multicast-Server eingegangen sind, sendet dieser ein einziges Acknowledge an den Sender-N-Port in der Multicast-Gruppe. Class 6 Multicasting bietet ein zuverlässiges dienstbasiertes Multicasting über dedizierte Verbindungen. Der zu replizierende Frame wird an den Multicast-Server gesendet. Dieser führt die Replikation und Versendung an die N-Ports der Zielgeräte über separate, dedizierte Verbindungen durch die Fabric aus. Die Fabric ist für die Auslieferung dieser Frames an die N-Ports der Zielgeräte verantwortlich. Der Frame Header eines jeden Frames enthält daher die N-Port IDs sämtlicher Mitglieder der Multicast-Gruppe. Diese wird vom Class 6 Multicast-Server für Replikation und Verteilung der Frames verwendet. Ein NPort wird Mitglied der Multicast-Gruppe, sobald die Verbindung aufgebaut wird. Nach Abbruch der Verbindung wird dem N-Port die Mitgliedschaft in der Multicast-Gruppe entzogen. Abbildung 2.13 gibt die Nutzung der Dienste der Fibre Channel-Ebene FC-3 in der Reihenfolge ihrer Involvierung wieder. Abbildung 2.13: Switch-Initialisierung mit FC-3-Services
4. Process Login über SCSI
2. F-Login WWN und FC-4 Typ (SCSI)
Login-Server
HBA WWN Host
1. LIP Loop Initialisation Process
3. Name-Server Login Host erhält Liste der verfügbaren Empfänger-Ports
Name-Server
Switched Fabric Host erhält Devices, die für ihn bestimmt sind
FA WWN
Login History Table Storage Device
Die Switched Fabric implementiert über die Fibre Channel-Ebene FC-3 einen Login-Serverdienst und einen Name-Serverdienst. Beide besitzen eine Adresse, die allen Knoten bekannt ist (FF FF FC und FF FF FE), die über ihre N-Ports an einen F-Port der Fabric angeschlossen werden.
100
Einführung in die Fibre Channel-Technologie
Beim Login an den Switch respektive zum Login-Server der Fabric, werden die WWN und das Übertragungs-Protokoll (Protokoll der Fibre ChannelEbene FC-4, in diesem Falle SCSI) übermittelt. Der Login-Server vergibt für den Knoten eine ID, die bei allen zukünftigen Übertragungen als Adresse verwendet wird. Beim Login an den Switch respektive zum Name-Server der Fabric, erhält der Einwahlknoten die für ihn zur Verfügung stehenden Empfängerports. Zum Storage Device, z.B. einem hochverfügbaren Disk Array oder einem Bandroboter, wird über einen N-Port eines Fibre Channel-Adapters (FA) des Storage Devices ein Process Login über das SCSI-Protokoll durchgeführt. Der Host-Bus-Adapter (HBA) wird in die »Login History Table« eingetragen und erhält die für ihn zur Verfügung stehenden Devices. Die Verwendung der Login History Table zur selektiven Maskierung/Demaskierung für den Host über die WWN/den Port des Switches sichtbarer Devices stellt keine Implementierung eines Standarddienstes von FC-3 dar. Hierbei handelt es sich um einen optionalen, von der Fabric unterstützten Service des Fabric/ Switch-Controller-Dienstes. Wie insbesondere der Zugriff auf Storage Devices über ein Fibre Channel-Switch/eine Switched Fabric administriert und reglementiert werden kann, wird in einem späteren Abschnitt dieses Buches detailliert erläutert.
Fibre Channel upper layer – Ebene FC-4 Die Fibre Channel-Ebene FC-4 dient dem Upper Layer Protocol Mapping (ULP Mapping). FC-4 definiert damit die Fibre Channel-InteroperabilitätsImplementierung für Standard-Protokoll, Audio/Video oder Applikationen wie Real-Time Computing. Jede Fibre Channel-Implementierung wird in einem eigenständigen FC-4-Dokument spezifiziert. Fibre Channel erlaubt es, sowohl Netzwerk- als auch Kanal-Protokolle aufeinander folgend über dieselbe physikalische Schnittstelle zu transportieren. Folgende Protokolle sind als FC-4-Protokolle zurzeit spezifiziert oder vorgesehen: 왘 Small Computer System Interface (SCSI) 왘 Internet Protocol (IP) 왘 Intelligent Peripheral Interface (IPI) 왘 High Performance Parallel Interface (HiPPI) Framing Protocol 왘 Link Encapsulation (FC-LE) unter Verwendung des International Stan-
dards IS8802.2 (entspricht IEEE 802.2) 왘 Single Byte Command Set Mapping (SBCS) zur Implementierung von
ESCON (Enterprise Systems Connection) und Block-MultiplexingSchnittstellen 왘 Audio Video Fast File Transfer und Real Time Stream Transfer 왘 Real-Time, embedded Avionics
101
2 SAN – Grundlegende Basis-Technologien
FC-4 mapped diese Protokolle auf den physikalischen FC-PH-Standard und den Signalstandard. Über die Mapping-Regeln beschreibt ein spezifisches FC-4-Protokoll, wie ULP-Prozesse vom gleichen FC-4-Typ untereinander operieren. Ein Netzwerkbeispiel eines aktiven ULP-Prozesses ist der Transfer eines IEEE-Datenpaketes 802.2 von einem Fibre Channel-Knoten zum anderen. Ein Channel-Beispiel eines aktiven ULP-Prozesses ist eine SCSIOperation zwischen einem Kanal und einem Magnetplattenlaufwerk auf einem Storage Device. Die Fibre Channel-Implementierung erfolgt hardwareseitig, um einen größeren Durchsatz zu erreichen. Typischerweise folgen Kanal-Protokolle einem Kommando-Daten-Status-Paradigma. Jede dieser Informationskategorien besitzt unterschiedliche Attribute und erfordert eine Verarbeitung, die getrennt von der jeweils anderer Informationskategorien vollzogen wird. Dennoch ist die Verarbeitung jeder Kategorie einheitlich für sämtliche Protokolltypen. Die einheitliche Definition dieser Informationskategorien erlaubt auch eine einheitliche Implementierung in der Hardware. Dank der Hardware-Implementierung des ULP-Mappings werden CPU-Zyklen für die I/O-Verarbeitung eingespart, wodurch Server, Workstations und Speichersysteme effizienter genutzt werden.
2.3.4
Fibre Channel-Serviceklassen und -Topologien
Fibre Channel bietet fünf unterschiedliche Serviceklassen: 왘 Class 1 – Acknowledged Connection-Dienst 왘 Class 2 – Acknowledged Connectionless-Dienst 왘 Class 3 – Unacknowledged Connectionless-Dienst 왘 Class 4 – Fractional Bandwith Connection-Oriented-Dienst 왘 Class 5 – Uni-Directional Connection-Dienst
Fibre Channel verbindet Knoten über drei physikalische Topologien, die Varianten besitzen können. Diese Topologien sind: 왘 Point-to-Point 왘 Loop 왘 Switched
Eine Punkt-zu-Punkt-Topologie verbindet lediglich zwei Endgeräte über Fibre Channel, z.B. einen Fibre Channel-Host-Bus-Adapter (HBA) mit einem Fibre Channel Systemadapter eines Storage Arrays. Diese Topologie unterscheidet sich lediglich im Anschlussmedium von klassischerweise über SCSI angeschlossenen Speichergeräten.
102
Einführung in die Fibre Channel-Technologie
Host
Storage Array
Abbildung 2.14: Fibre ChannelPoint-to-PointTopologie
Da eine Punkt-zu-Punkt-Verbindung keine Fabric involviert, wird auch kein Fabric-Port benötigt. Auf beiden Knoten wird jeweils über einen N-Port (HBA und Fibre Channel-Systemadapter) die Verbindung aufgebaut. Die Point-To-Point-Topologie stellt also eine Verbindung zweier N-Ports mit einer dedizierten Bandbreite dar. Loops, die an ein unternehmensweites Fibre Channel SAN angeschlossen sind, bezeichnet man als Public Loops. Eine isolierte Fibre Channel Arbitrated Loop bezeichnet man als Private Loop. Eine Loop kann als Daisy Chain von zwei bis 127 Knoten konfiguriert werden, in aller Regel werden jedoch Fibre Channel-Hubs für den Anschluss der Knoten an die Loop eingesetzt. Den Baustein, der die Verbindung multipler N-Ports ermöglicht, bezeichnet man als eine Fabric. Diese wird von einem oder mehreren Fibre ChannelSwitches gebildet. Die Fibre Channel Arbitrated Loop-Topologie wird als FC-AL, die Topologie mit Fabric Switches als FC-SW bezeichnet. Durch die Kombination der Fibre Channel-Serviceklassen mit den unterschiedlichen Möglichkeiten dieser physikalischen Topologien eröffnen sich eine Vielzahl von Konfigurationsund Tuning-Varianten, die insbesondere für SAN- und NAS-Umgebungen mit bisher über SCSI, ESCON, IPI oder HiPPI angeschlossenen Speichersystemen Performance- und Handlings-Verbesserungen der Größenordnungen ermöglichen.
103
2 SAN – Grundlegende Basis-Technologien
2.3.4.1
Fibre Channel-Switched Fabric (FC-SW)
Die primäre Funktion eines Switches ist das Empfangen und Weiterleiten (Routing) von (Data-) Frames eines Quellknotens zu einem Zielknoten. Abbildung 2.15: Fibre ChannelSwitched Fabric (FC-SW)
Hosts
Storage Arrays
Switch (Fabric) Jeder Knoten besitzt eine eindeutige Fibre Channel-Adresse, seinen World Wide Name (WWN). Über diese WWN oder über die Port-IDs wird das Routing durchgeführt (vgl. dazu den Abschnitt Fibre Channel-Switches in Kapitel 4). Für die einzelnen Knoten ist die komplette Topologie, die interne Struktur des Switches sowie die Auswahl des Routing-Pfads innerhalb des Switches transparent. Der Switch ermöglicht eine unkomplizierte Administration der kompletten Topologie. Jeder Knoten der Topologie muss lediglich eine Point-to-Point-Verbindung zum Switch administrieren. Die Administration der kompletten Topologie, des Routings und der möglichen Verbindungen erfolgt zentral in dem Switch. Dabei werden einfachste RoutingAlgorithmen verwendet. Jeder Knoten stellt die WWN des Zielknotens in den Header des Frames, direkt vor die zu übertragenden Nutzdaten. Wird beim Fabric Login diese WWN als »falsch« erkannt, so weist der Switch das Login zurück. Kann der Switch aus irgendeinem Grunde einen Datenframe nicht an der Empfänger-WWN platzieren, so gibt er dem Sender ein »Busy«Acknowledgement, sodass dieser den Frame einfach wiederholen muss. Fibre Channel-Switches erscheinen gegenüber den Knoten eines Fibre Channel-Netzes als die individuelle Verbindungseinheit des jeweiligen Knotens, d.h. die Ports des Switches werden von den Knoten als die Stellen gesehen,
104
Einführung in die Fibre Channel-Technologie
an denen die einzelnen Knoten physikalisch miteinander verbunden werden können. Dies bedeutet, dass die Punkt-zu-Punkt-Verbindung zwischen einem N-Port des Knotens und einem F-Port des Switches aufgebaut werden muss. Die Kommunikation der Knoten untereinander über den Switch ist nach Fibre Channel-Standards aufgebaut. Während der Initialisierung meldet sich der Knoten beim Login-Server an, erkennt über diesen automatisch die Topologie, über die er an das Fibre Channel-Netzwerk angeschlossen ist und operiert gemäß dieser Topologie. Der Switch ist dafür verantwortlich, dass die Frames gemäß der gewählten Serviceklasse übertragen werden. Abbildung 2.16: Fibre Channel-Ports in einer FC-SWTopologie
E-Port
Host E-Port
F-Port N-Port
Switch
Host
FL-Port
Switch
Hub
F-Port
Public Loop
Hub
NL-Ports N-Port
Host Private Loop
NL
Host
Host
Storage Array Abbildung 2.16 der Fibre Channel-Ports in der FC-SW-Topologie zeigt, dass die einzige etwas komplexere Aktivität bei der Administration der Topologie darin besteht, die geeignete Art des Ports für die Punkt-zu-Punkt-Verbindung eines Knotens an den Switch zu definieren. Dabei werden sämtliche Beschränkungen, wie z.B. Einschränkungen der Distanz zwischen mehreren Knoten, durch die Wahl der geeigneten Medien und Komponenten des FCSW-Netzwerks überwunden, sodass die Anforderung einer jeden Applikation erfüllt wird. Externe, nicht zu einer Arbitrated Loop zusammengefasste, Fibre ChannelGeräte werden mit jeweils einem N-Port an einen F-Port des Switches angeschlossen. Arbitrated Loops werden über einen NL-Port an einen FL-Port des Switches verbunden. Switches werden untereinander über jeweils einen E-Port zu einer Fabric zusammengebunden. Jede Verbindung zwischen einem N-Port/NL-Port und einem F-Port/FL-Port stellt eine Full DuplexVerbindung zur garantierten Fibre Channel-Bandbreite von 100 MB/Sek. dar. Dank der Möglichkeit der Erweiterung eines Switches zu einer Fabric ist eine FC-SW-Topologie absolut skalierbar. Müssen weitere Knoten angeschlossen werden und ist kein weiterer freier Port am Switch vorhanden,
105
2 SAN – Grundlegende Basis-Technologien
wird die Fabric lediglich um einen Switch erweitert. Die hinzugekommenen Knoten werden mit garantierter Bandbreite über die entsprechenden Ports der erweiterten Fabric bedient. Während der Initialisierung des neuen Switches werden die Pfade und die Adresszuweisung zwischen den Switches in der Fabric automatisch determiniert. Zu jedem Zeitpunkt können Knoten an den Switch angeschlossen oder aus dem Switch entfernt werden. Bei Anschluss eines Knotens meldet sich dieser automatisch beim Switch an und tauscht mit diesem die Operations-Parameter aus. Während des Logins erben die N-Ports die Adresse des korrespondierenden F-Ports beim Switch. NL-Ports erben die oberen 16 Bits des korrespondierenden FL-Ports beim Switch und können bis zu 126 Adressen für die Loop-Mitglieder zuweisen. Dafür werden die unteren acht Bits der Fibre Channel-Adresse des FL-Ports verwendet. Fibre Channel-Switches, die sowohl connectionless als auch verbindungsorientiertes Switching anbieten, sind tatsächlich zwei separate Switches in einem Gerät. Serviceklasse 1 und 6 werden durch einen Circuit Switch realisiert, die Serviceklassen 2, 3 und 4 werden durch einen Frame Switch implementiert. Durch diese einzigartige Fibre Channel-Eigenschaft werden Applikationen die Features beider Switching-Technologien zur Auswahl angeboten. Die Verwendung beider Switch-Technologien ist nicht erforderlich. Es gibt dedizierte Circuit Switches oder dedizierte Frame Switches. Im Frame-Switching Modus wird die Bandbreite dynamisch auf einer Link-fürLink-Basis verteilt. Basierend auf einem adaptiven Routing innerhalb des Switches werden die individuellen Frames zwischen den Switch-Ports unabhängig voneinander geswitched. Während des Frame-Switchings wird Speicherkapazität des Switches benötigt, um eine Link-Level-Kontrolle zwischen dem Switch und dem angeschlossenen N-Port, dem NL-Port oder dem E-Port zu gewährleisten. Zukünftig können über Inter Working Units (IWU) E-Ports an ein WAN angeschlossen werden. Dies ist das Ergebnis eines Joint-Ventures der USamerikanischen und japanischen Fibre Channel-Industrien in den vergangenen Jahren.
2.3.4.2
Fibre Channel-Arbitrated Loop (FC-AL)
Unter der gemeinsamen Bezeichnung FC-AL fasst man die klassischen Loop- und Hub-Topologien zusammen. Die Fibre Channel-Loop bietet eine Möglichkeit, mit der mehrere Devices mit überschaubaren Kosten eine Fibre Channel-Gigabit-Bandbreite teilen können. Die Knoten teilen sich den Zugriff auf die Loop, besitzen jedoch die volle Gigabit-Bandbreite von Fibre Channel zu dem Zeitpunkt, zu dem sie untereinander eine logische Punkt-zu-Punkt-Verbindung aufbauen. Wie oben bereits erwähnt verbindet die Loop-Topologie bis zu 127 Fibre Chan-
106
Einführung in die Fibre Channel-Technologie
nel-Ports in einem Daisy-Chain-Mechanismus. Von den maximal 127 Ports kann lediglich einer dazu verwendet werden, die komplette Loop an einen Switch anzuschließen. Abbildung 2.17: Fibre Channel-LoopTopologie
B
B Bypass Mode
I
T
Initiator (HostComputer)
Target (Storage Subsystem)
B Private Loop Direct Attach
B 126 Node Maximum
Das Arbitration Schema von FC-AL wird wie folgt definiert: Die Knoten einer Loop fordern die Control der Loop durch ein Fibre Channel-Signal an. Dieses wird als primitive bezeichnet. Wird dieses Signal von der Loop mit der Adresse des sendenden Knotens zurückgegeben, so besitzt dieser Knoten die Kontrolle über die Loop. Fordern zu einem gegebenen Zeitpunkt zwei oder mehr Knoten oder der Switch-NL-Port die Kontrolle über die Loop an, so wird die Loop-Control an die niedrigste der beteiligten Knotenadressen vergeben. Besitzt ein Knoten oder Switch-Port die Loop-Control, öffnet er eine Full Duplex-, eine Punkt-zu-Punkt-Verbindung zu einem zweiten Knoten oder den FL-Port an einem Switch. Jede Fibre Channel-Serviceklasse kann zur Kommunikation verwendet werden, die meisten Loop-Applikationen verwenden jedoch einen Class 3-Service. Wird die Loop-Control freigegeben, findet ein erneuter Arbitration-Zyklus statt. Innerhalb der Loop wird Fairness dadurch garantiert, dass jeder Knoten gleiche Zugriffsrechte auf die Loop besitzt. Die Loop ist selbstkonfigurierend und kann ohne oder mit einem Switch operieren. Jeder Knoten oder Switch-Port in der Loop erkennt selbstständig seine Umgebung und bedarf zum Betrieb in der Fibre Channel-Umgebung keiner eingreifenden externen Administration. Eine isolierte, nicht über
107
2 SAN – Grundlegende Basis-Technologien
einen NL-Port an einen FL-Port eines Switches angeschlossene, Loop wird als Private Loop bezeichnet. Ist eine Loop via NL-Port/FL-Port an einen Switch angeschlossen, wird sie als Public Loop bezeichnet. Ein Knoten gibt ähnlich einem Token Passing-Netzwerk Frames automatisch an den nächsten Knoten der Loop weiter. Sobald jedoch dieser Knoten eine temporäre Verbindung zu einem anderen Knoten nach dem oben beschriebenen Arbitration-Schema aufgebaut hat, wird der nicht auslieferungsfähige Frame vom Vorgängerknoten so lange für den Zielknoten reserviert, bis zu diesem eine Verbindung aufgebaut werden konnte. Die Knoten der Loop überwachen die Inbound-Line auf Primitive-Signale, die an den jeweiligen Knoten adressiert sind. Wird ein solches Primitive erhalten, das den Aufbau der Verbindung zu einem anderen Knoten ermöglicht, werden sämtliche empfangenen Frames als für diesen anderen Knoten »reserviert« betrachtet und intern an diesen Knoten weitergeleitet. Dieser Mechanismus bietet eine einfache und zuverlässige Kommunikation innerhalb einer Loop. Die Loop kann durch eine Knoten-zu-Knoten-Verkabelung aufgebaut werden. Dies führt dazu, dass jeder einzelne Knoten ein Single Point of Failure für die komplette Loop sein kann. Fällt ein Knoten aus oder wird er auch nur geregelt heruntergefahren, hinterlässt er die komplette Loop als inoperabel. Dies wird durch Port-Bypass-Schaltkreise (PBCs) zum physikalischen Anschluss eines Gerätes an die Loop eingeschränkt. Fibre Channel (FC-AL)Storage Arrays haben auf ihrer Backplane eine Loop implementiert. Die PBCs werden entweder in das Backplane eines Fibre Channel-SpeicherDevices integriert oder über ein externes Device – den Hub – angeschlossen. Dies definiert die Fibre Channel-Hub-Topologie. Abbildung 2.18: Fibre Channel-HubTopologie
Host
Storage Array
Hub (Loop) 108
Einführung in die Fibre Channel-Technologie
Der PBC erkennt automatisch das Vorhandensein eines Knotens und fügt diesen in die Loop ein. Ähnlich verhält es sich bei der Entdeckung und Behandlung eines Knotens, der entweder ausgefallen ist oder gezielt heruntergefahren wurde. Der PBC erkennt den ausgefallenen Knoten automatisch als »ausgefallen« und entfernt ihn aus der Loop. Der PBC öffnet die Loop, um entweder einen aktiven Knoten in sie einzubinden, oder er schließt die Loop, sobald ein aktiver Knoten ausfällt oder heruntergefahren wird. Hubs bieten somit auch die Möglichkeit, Knoten während des aktiven Betriebs der Loop in diese zu integrieren oder aus ihr zu entfernen. In FC-AL Storage Arrays können Festplatten im laufenden Betrieb aus den Arrays aus- und eingebaut werden. Diese Hot-Swap-Features machen Fibre Channel-Storage-Management zu einer tragenden Technologie für Storage Area Networks und Network Attached Storage. Fibre Channel (FC-AL) wird in der Zukunft wahrscheinlich SCSI als Standard-Magnetplattenschnittstelle ablösen. Hubs implementieren eine physikalische Sternverkabelung der Fibre Channel Devices der Loop. Diese ist vergleichbar der strukturierten Verkabelung für LANs. Hubs können miteinander verbunden (stacked) werden. Dadurch können auch mit Hubs Loops von bis zu 127 Geräten gebildet werden. Eine Loop stellt ein Netzwerk mit einer geteilten Bandbreite dar. Die einzelnen NL-Ports der Loop verwenden das Arbitration-Schema, um den Zugriff und die Kontrolle auf den Knoten zu erhalten. Nachdem ein NL-Port die Loop-Control erhalten hat, baut er eine logische Punkt-zu-Punkt-Verbindung zu einem anderen NL-Port auf. Daher ist zu einem gegebenen Zeitpunkt stets nur eine Bandbreite von 100 MB/Sek. in der gesamten Loop verfügbar, da es zu diesem Zeitpunkt nur eine logische Punkt-zu-Punkt-Verbindung zwischen zwei NL-Ports geben kann, unabhängig von der tatsächlichen Anzahl der Geräte in der Loop.
2.3.4.3
Fibre Channel-Serviceklassen
Fibre Channel deckt über eine oder mehrere Serviceklassen in Switches und einzelnen Knoten die Anforderungen einer breiten Anzahl von Applikationen ab. Für das Aufsetzen und die Administration der Serviceklassen ist kein manueller Eingriff eines Administrators notwendig, da die Serviceklassen beim Fibre Channel-Login in die Switches und Knoten determiniert werden, die zwischen dem jeweiligen Sender- und Empfängerknoten verwendet werden können. Folgende Serviceklassen werden von Fibre Channel unterstützt:
109
2 SAN – Grundlegende Basis-Technologien
Credit-Based Flow Control
Auslieferung der Frames
Geeignet für welche Applikationen
Class 1 Acknowledged Connection Service
Knoten-zu-Kno- Zuverlässig ten nach Aufund dediziert bau der Verbindung
Große Dateien und Dienste, die die komplette Übertragungsbandbreite benötigen (Full Bandwidth Service)
Class 2 Acknowledged Connection Service
Buffer-to-Buffer Zuverlässig und Knoten-zu- und MultiKnoten plexed
Cluster, Netzwerkapplikationen, Online Transaction Processing (OLTP)
Class 3 Unacknowledged Connection Service
Buffer-to-Buffer Datagramm und Multiplexed
Speichersysteme, Netzwerksysteme, Rundfunk (Broadcast), Multicast
Class 4 Fractional Band-width ConnectionOriented Service
Buffer-to-Buffer Zuverlässig mit und Knoten-zu- garantierter Knoten Servicequalität
Real-Time-Systeme (z.B. Luftraumüberwachung, Prozesssteuerungssysteme) und Real-Time Audio und Video (Audio on Demand, Video on Demand)
Class 6 Uni-Directional Connection Service
Knoten-zu-Knoten nach Aufbau der Verbindung
Zuverlässig und dediziert, unterstützt von MulticastServern
Videoverteilung (One to Many), Datenreplikationen
Tab. 2.9: Fibre Channel-Serviceklassen
Class 1: Acknowledged Connection Service Class 1 bietet einen wirklich verbindungsorientierten Dienst. Dies resultiert in Circuit Switched-Verbindungen mit einer dedizierten Übertragungsbandbreite. Der Vorteil von Fibre Channel Class 1 gegenüber verbindungsorientierten Netzwerkdiensten besteht in der Geschwindigkeit des Verbindungsauf- und -abbaus binnen Mikrosekunden. Beim Verbindungsaufbau wird durch einen Switch ein End-to-End-Pfad zwischen den kommunizierenden Geräten (Fibre Channel-Knoten) aufgebaut. Der einzige Overhead, den Class 1 erfordert, ist der Auf- und Abbau von Verbindungen. Daher eignet sich Class 1 insbesondere zum Datentransfer großer Datenmengen. Der Dienst des Fibre Channel Class 1 bietet eine Empfangsbestätigung des Empfängerknotens zur Gewährleistung der garantierten Auslieferung von Fibre Channel-Frames an den Empfänger. Weiter bietet Fibre Channel Class 1 ebenfalls eine garantierte Auslieferung bei voll ausgenutzter Übertragungs-
110
Einführung in die Fibre Channel-Technologie
bandbreite für Anwendungen wie Datensicherung und -wiederherstellung von über Fibre Channel angeschlossenen Speichermedien oder auch Übertragung von Bilddateien aus Speichermedien. Hosts und Workstations
Switch
Storage Arrays und Tape Libraries
Abbildung 2.19: Fibre Channel Class 1 – Service mit dedizierter Bandbreite
Einige Anwendungen verwenden die Eigenschaft der garantierten Auslieferung, um Daten schnell und zuverlässig ohne den Overhead eines Netzwerkes übertragen zu können. »Camp on« ist eine Fähigkeit der Class 1-Services, die es einem Switch ermöglicht, einen aktiven Port zu überwachen und – so dieser Port für eine weitere Verbindung benötigt wird – in einer Warteschlange für noch aufzubauende Verbindungen zu halten. Sobald der aktive Port frei wird, baut der Switch die in der Warteschlange ruhende Verbindung zu diesem Port auf. Durch diesen Dienst eines Switches wird die Dauer des Verbindungsaufbaus reduziert, da der Sender-N-Port nicht ein »Busy« vom Switch geschickt bekommt und sich daher nicht um eine Wiederholung des Verbindungsaufbaus bemühen muss. »Stacked Connect« ermöglicht einem Sender-N-Port, bei einem Switch eine Anzahl aufeinander folgender Verbindungsanforderungen in einer Warteschlange zu platzieren. Auch durch dieses Feature wird der Overhead des Verbindungsaufbaus reduziert und damit der Service des Switches effizienter genutzt. Eine Variation des Class 1-Services ist der so genannte Buffered Service. Dieser wird dazu verwendet, zwei Fibre Channel-Ports zu verbinden, die mit unterschiedlicher Geschwindigkeit operieren.
111
2 SAN – Grundlegende Basis-Technologien
Eine weitere Form des Class 1-Services ist der Dedicated Simplex Service. Normalerweise sind Class 1-Verbindungen stets bidirektional. Im Falle des Dedicated Simplex Service erfolgt die Kommunikation jedoch dediziert in nur eine Richtung. Durch diese Variante wird eine Trennung von sendendem und empfangendem Switching ermöglicht. Dies wird für Applikationen genutzt, bei denen ein Knoten simultan Daten zu einem zweiten Knoten überträgt und Übertragungen eines dritten Knoten empfängt.
Class 2: Acknowledged Connectionless Service Class 2 ist ein verbindungsunabhängiger Dienst. Jeder Fibre Channel-Frame wird unabhängig von einem anderen geswitched. Auch hier wird der Empfang dadurch garantiert, dass der sendende Knoten dem Empfang vom Empfänger durch ein Acknowledgement bestätigt bekommt. Abbildung 2.20: Der Service Fibre Channel Class 2 – niedrige Latenzzeiten bei garantierter Auslieferung
Host
Loop
Switch
Hub
Der Pfad zwischen den beiden miteinander verbundenen Endgeräten ist nicht dediziert. Der Switch multiplexed den Übertragungsverkehr zwischen den N-Ports und den NL-Ports, ohne einen dedizierten Pfad durch den Switch vorzugeben. Die Credit-Based Flow-Control des Class 2-Services eliminiert die Übertragungsengpässe, die in vielen verbindungsunabhängigen Netzwerken vorgefunden werden. Wird ein Zielport als »belegt« vorgefunden, so wird an den sendenden N-Port ein »Busy« zurückgesendet. Dieser kann dann seinen Frame nochmals versenden. Auf diesem Wege kann im Arbitration-Zyklus keine Übertragung verloren gehen, nur weil zu einem gegebenen Zeitpunkt der Switch mit der Übertragung eines anderen Frames
112
Einführung in die Fibre Channel-Technologie
beschäftigt war. Die sehr niedrigen Frame-Latenzzeiten machen Class 2-Services geeignet für kürzere Datentransfers, wie sie in den meisten kaufmännischen Applikationen verwendet werden.
Class 3: Unacknowledged Connectionless Service Class 3 stellt – ähnlich wie Class 2 – einen verbindungsunabhängigen Dienst dar. Der entscheidende Unterschied zum Service Class 2 ist, dass die Empfangsbestätigung für einen übertragenen Frame nicht erfolgt. Dieser unacknowledged Transfer wird im Wesentlichen für Broadcasting und Multicasting in Netzwerken und für Massenspeicher-Interfaces in Fibre Channel Arbitrated Loops verwendet. Die Transfersicherheit wird hier von der Arbitrated Loop gewährleistet, die eine logische Punkt-zu-Punkt-Verbindung zwischen den beteiligten Knoten aufbaut und darüber zuverlässig die Daten von und zu den Storage-Systemen überträgt.
Host
Loop Public Loop NL-Port Attach
B
B Bypass Mode
B
T
Initiator (HostComputer)
B Private Loop Direct Attach
Abbildung 2.21: Der Service Fibre Channel Class 3 – Unacknowledged Service für Networking und FC-AL Storage-Systeme
B
Target (Storage Subsystem)
126 Node Maximum
Switch
Die Class 3 Arbitrated Loop-Transfers werden ebenfalls für IP-Netzwerke verwendet. Einige Netzwerkapplikationen verwenden hier die logischen Punkt-zu-Punkt-Verbindungen ohne Einbeziehung des Overheads eines Netzwerk-Protokolls. Dies geschieht, um den Vorteil der garantierten Auslieferung der Frames durch Fibre Channel zu nutzen.
113
2 SAN – Grundlegende Basis-Technologien
Class 4: Fractional Bandwidth Acknowledged ConnectionOriented Service Class 4 stellt einen verbindungsorientierten Dienst mit geteilter Bandbreite dar. Für eine vorhersehbare Dienstqualität (QoS) werden virtuelle Verbindungen mit Bandbreitenreservierung aufgebaut. Eine Class 4-Verbindung ist bidirektional. In jede Übertragungsrichtung ist ein Virtual Circuit (VC) operational. Die bidirektionale Verbindung unterstützt für jeden VC einen unterschiedlichen Set von QoS-Parametern. Abbildung 2.22: Der Service Fibre Channel Class 4 – Unterstützung von Real-TimeAnwendungen
LuftraumÜberwachung
VideoServer
Video-DistributionNetzwerk
Host Switch (Fabric) Diese Quality-of-Service-Parameter beinhalten eine garantierte Übertragungsbandbreite und – abhängig von dieser – eine garantierte Delay-Zeit von Übertragungsbeginn und Übertragungsende. Im Switch ist die QoSFacilitator-Funktion (QoSF) implementiert, die den benötigten QoS für jeden VC verwaltet und aufrechterhält. Ein Knoten kann bis zu 256 gleichzeitige Class 4-Verbindungen reservieren. Das Aufsetzen der QoS-Parameter und der Verbindungsaufbau sind separate Funktionen des Class 4-Dienstes. Ist eine Class 4-Verbindung aktiv, betreibt der Switch ein »Frame Pacing« vom Quellknoten zum Zielknoten. »Pacing« stellt dabei den Mechanismus dar, mit dem der Switch die verfügbare Bandbreite pro VC reguliert. Die Kontrolle auf dieser Ebene sorgt dafür, dass der Switch für den gleichzeitigen Übertragungsbetrieb der Knoten verantwortlich ist, und sie garantiert jedem sendenden Knoten, dass der Empfängerknoten für ihn verfügbar ist.
114
Einführung in die Fibre Channel-Technologie
Der Switch multiplexed Frames unterschiedlicher VCs zwischen gleichen und unterschiedlichen Knotenpaaren einer Verbindung. Daher muss Class 4 sicherstellen, dass die Frames beim korrekten Empfängerknoten in der richtigen Reihenfolge ankommen. Die Flow-Control des Class 4-Services ist daher eine End-to-End-Flow-Control mit garantierter Auslieferung der Frames. Der Class 4-Service ist daher die geeignete Wahl für zeitkritische RealTime-Applikationen und Applikationen wie Video-on-Demand.
Class 6: Uni-Directional Connection Service With Multicast And Preemption Class 6 vergleichbar mit dem Dienst Fibre Channel Class 1 und bietet einen verbindungsorientierten, uni-direktionalen Dienst mit zuverlässigem Multicasting und Preemption. Dadurch ist der Class 6-Service geeignet für VideoBroadcating- und Real-Time-Applikationen mit hohem Datentransferbedarf. LuftraumÜberwachung
VideoServer
Abbildung 2.23: Fibre Channel Class 6 – Dedizierte One-to-ManyDienste
Netz von Radar-Bildschirmen
Video-DistributionNetzwerk
Real Time Sensor, bspw. Radar
Switch (Fabric)
Fibre Channel unterstützt einen optionalen Intermix-Modus. Intermix erlaubt die Reservierung einer kompletten Fibre Channel-Übertragungsbandbreite für eine dedizierte Class 1-Verbindung. Weiter erlaubt der Intermix-Modus einen verbindungslosen Verkehr innerhalb des Switches während inaktiver Class 1-Übertragungen, um die Verbindung (den Link) dieser Übertragung mit anderen Übertragungen zu teilen. Eine ideale Anwendung für den Intermix-Modus ist das Verbinden multipler großer Dateitransfers während Komplett-Datensicherungen. Während eines laufenden Class 1-Dateitransfers kann eine Class 2- oder Class 3-Message an den Backup-Server verschickt
115
2 SAN – Grundlegende Basis-Technologien
werden, um den nächsten Transfer anzustoßen. Nach Abschluss des ersten Transfers kann dann der zweite automatisch beginnen. Dadurch wird die Effizienz eines Fibre Channel Backup-Systems besser ausgenutzt. Die in diesem Kapitel dargestellten Basis-Technologien stellen die Grundlage der heutigen SAN- und NAS-Implementierungen dar. Im folgenden Kapitel sollen – basierend auf diesen Basis-Technologien – die typischen SAN-Topologien und deren Verwendung dargestellt werden.
116
3
SAN ConnectivityTopologien
Die gemeinsame Nutzung von Speicherkapazitäten durch unterschiedliche Rechner folgt den Anforderungen dedizierter Kundenanwendungen. Diese dedizierten Anwendungen führten dazu, dass SAN-Lösungen in speziellen Topologien realisiert wurden, die Storage Area Networks charakterisieren. Die Reinformen dieser Topologien lösen folgende Anforderungen: 왘 Erweiterung der Speicherkapazität einzelner Server 왘 Zusammenführen der Speicherkapazität mehrerer Server 왘 Zentrale Speicherverwaltung an einem anderen Ort als dem Standort ei-
nes oder mehrerer Server Zur Erweiterung der Speicherkapazität wurde die KapazitätserweiterungsTopologie implementiert. Diese dient dazu, einem Server mehr Magnetplattenspeicher zur Verfügung zu stellen, als technisch serverintern anschließbar ist. Abbildung 3.1: SAN-KapazitätserweiterungsTopologie
Fibre ChannelSwitch
Storage Array 1 NT-Server
Storage Array 2
Storage Array 3
Storage Array 4
117
3 SAN Connectivity-Topologien
Die Kapazitätserweiterungs-Topologie ist sowohl in herkömmlichen Device-Connectivity-Technologien (z.B. SCSI), als auch in der Fibre Channel-Technologie via FC-AL oder FC-SW wie im Beispiel der Abbildung 3.1 realisierbar. Weiter kann die Kapazitätserweiterung auch durch eine gemischte Anschluss-Technologie realisiert werden. Die Zusammenführung der Speicherkapazität mehrerer Server wird durch die Storage-Konsolidierungs-Topologie realisiert. Diese Topologie wurde basierend auf Rezentralisierungsanforderungen entwickelt, mit denen zumindest der Massenspeicher zentral administriert werden kann, wenn auch die Serverleistungen weiterhin dezentral zur Verfügung gestellt werden. Abbildung 3.2: Speicher-Konsolidierungs-Topologie
Fibre ChannelSwitch
NT-Server 1
Sun-Server 2
Storage Array HP-Server 3
IBM-Server 4
Auch für die Speicher-Konsolidierungs-Topologie können herkömmliche Anschluss-Techniken, die Fibre Channel-Technologie und gemischte Technologien eingesetzt werden. Hierbei ist zu beachten, dass die Speicher-Konsolidierungs-Topologie auch dazu verwendet werden kann, heterogene Serverlandschaften mit heterogenen Betriebssystemen und Unterstützung ebenso heterogener Dateisysteme an ein und dasselbe Speicher-Gerät anzuschließen. Dies deutet schon auf eine wesentliche Eigenschaft eines intelligenten Storage Arrays hin – die Unterstützung unterschiedlicher Dateisysteme. Die zentrale Speicherverwaltung an einem anderen Ort als dem Standort eines oder mehrerer Server definiert auf den ersten Blick eine klassische FileServer-Funktionalität. Ein oder mehrere Server teilen sich ihren Massenspeicher und stellen die von ihnen verwalteten Dateien über ein Netzwerk zur Verfügung. Dies ist eine klassische Network Attached Storage (NAS)-Anwendung und soll erst in einem späteren Abschnitt erläutert werden.
118
In SAN-Umgebungen, die als Alternative des Direct Attached Storage-Speichersysteme über das Storage Area Network an ihre Server anschließt, definiert die zentrale Speicherverwaltung an einem anderen Ort als dem Standort eines oder mehrerer Server die Verwendung von Fibre Channel als Anschluss-Technologie. Jede herkömmliche Anschlusstechnik scheitert hier an der Barriere der Verkabelungsdistanz. Wie bereits in Abschnitt 2.1. dargestellt, sind sämtliche herkömmlichen Anschlusstechniken auf Kabellängen von wenigen Metern beschränkt. Lediglich Fibre Channel kann hier größere Distanzen von bis zu 60 km zwischen Server und Massenspeicher (über Nutzung von Telefon-Protokollen auch darüber hinaus) überwinden. Die Distanz-Topologie ist die Topologie der Wahl, wenn die Anwendung Hochverfügbarkeitsanforderungen an die Speichersysteme stellt.
Seite A Server Aktiver Zugriffspfad
Seite B Server
Storage Array 1
Remote Spiegel
Recovery Zugriffspfad
Aktiver Zugriffspfad
Recovery Zugriffspfad
Lokaler Lokale Spiegel Quelle
Abbildung 3.3: Distanz-Topologie
Privates Fibre Channel
Storage Array 2
Lokaler Lokale Spiegel Quelle
Remote Spiegel
Klassisches Identifizierungsmuster einer solchen Distanz-Topologie sind die bereits optisch erkennbaren Hochverfügbarkeitsmerkmale, die sich aus der Redundanz der eingesetzten Systembausteine ergeben. Auf beiden Seiten der Distanz-Topologie befinden sind (gleichartig dimensionierte) Server. Diese sind aus dem Hochverfügbarkeitsaspekt über zwei Pfade mit jeweils einem lokalen Storage Array verbunden. Von den beiden Pfaden ist jeweils einer aktiv, der zweite stellt lediglich ein Recovery dar, auf das zurückgegriffen wird, wenn der aktive Zugriffspfad ausfällt. Intelligente Connectivity-Software und Hardware kann hier über beide Zugriffspfade einen Lastausgleich erzielen. Die Storage Arrays können über Fibre Channel-Adapter oder auch herkömmlich, z.B. über SCSI-Adapter, an die Server angeschlossen werden. Die gestrichelte Linie (- - -) stellt eine Verbindung eines Servers mit dem
119
3 SAN Connectivity-Topologien
jeweils anderen Storage Array dar. Diese geschieht sinnvollerweise über einen Fibre Channel-Adapter und dient dazu, dass der jeweilige Server auf die remote Spiegel »seiner« lokalen Quellplatten zugreifen kann, falls sein »lokales« Storage Array im Katastrophenfall komplett ausfällt. Innerhalb der Storage Arrays wird eine lokale Quellplatte auf eine lokale Spiegelplatte kopiert, die im Falle des Ausfalls der lokalen Quelle an deren Stelle tritt. Zusätzlich existiert für die lokale Quelle im jeweils anderen Storage Array ein remote Spiegel, ebenfalls eine 1:1-Kopie der lokalen Quellplatte. Über entsprechende Controller der beiden Storage Arrays werden diese remote Spiegel idealerweise ohne Ausnutzung der I/O-Kanäle der angeschlossenen Server gepflegt. Eine solche Topologie für einen Katastrophenfall in einer hochverfügbaren Systemumgebung lässt sich sinnvollerweise nur über Distanzen realisieren, die über die herkömmlicher Anschlusstechniken hinausgehen.
3.1
Die KapazitätserweiterungsTopologie
Die Kapazitätserweiterungs-Topologie soll im Folgenden sowohl unter Einsatz klassischer Anschlusstechniken als auch unter Verwendung der Fibre Channel-Technologie dargestellt werden. Letztlich kann eine Kapazitätserweiterung eines Servers auch durch einen Mix von Connectivity-Technologien erreicht werden. Dieser Aspekt wird ebenfalls behandelt.
3.1.1
Kapazitätserweiterungs-Topologie in Non Fibre Channel-Umgebungen
Ein Non Fibre Channel-Anschluss von Speichersystemen erfolgt über die klassischen Anschlusstechniken des Parallelanschlusses (z.B. über Centronics-Parallelschnittstellen), SCSI (Small Computer Systems Interface) oder ESCON (Enterprise Storage Connectivity). Dabei werden Speichersysteme über entsprechende Adapter mit dem Server verbunden. Der klassische Ansatz für eine Kapazitätserweiterung durch Anschluss mehrerer externer Storage Arrays soll am Beispiel eines Anschlusses über SCSI erläutert werden: Am Serverrechner können über vier Ports eines Standard-SCSI-Host-BusAdapters (SCSI-HBA) maximal vier externe SCSI-Devices angeschlossen werden. Um ein Storage Array an einen HBA-Port anschließen zu können, muss das Storage Array ebenfalls über einen SCSI-Front-End-Controller verfügen. SCSI-Systemadapter (SA) besitzen ebenfalls vier Ports, über die jeweils eine direkte Verbindung zu einem SCSI-HBA-Port eines Serversystems geführt werden kann. In der dargestellten Kapazitätserweiterung (vgl. Abb. 3.4) werden die vier HBA-Ports des Servers mit je einem SA-Port von
120
Die Kapazitätserweiterungs-Topologie
vier Storage Arrays verbunden. Der dargestellte NT-Server kann nun sämtliche Magnetplatten sehen und nutzen, die über den jeweiligen SA des Storage Arrays zugreifbar sind (zum Aufbau hochverfügbarer Storage Arrays vgl. Kapitel 4.2.).
S A
Storage Array 1
S A
Storage Array 2
S A
Storage Array 3
S A
Storage Array 4
Abbildung 3.4: Kapazitätserweiterung – Direct Attached SCSI
Port A
NT-Server
S C S I H B A
Port B
Port C
Port D
Hochverfügbar wird eine solche Direct Attached SCSI-Kapazitätserweiterungskonfiguration dadurch, dass sowohl auf Serverseite als auch bei den Storage Arrays die Komponentenredundanz eingeführt wird. Bei Verwendung zweier Host-Bus-Adapter und zweier Systemadapter je Storage Array ist es möglich, jedes Storage Array und damit auch jede für den Server sichtbare Magnetplatte im Storage Array über zwei Pfade anzusprechen. Dieses Dual Pathing oder Dual Porting der Storage Devices ist jedoch mit einigen Problemen verbunden. Dazu soll noch einmal auf die Controller-Target-LUN-Mimik (vgl. Kapitel 2.1.) der Benennung von SCSIDevices zurückgekommen werden. In unserem obigen Beispiel erreichen wir jede Platte in den Storage Arrays über zwei Controller. Sei der obere Host-Bus-Adapter der Controller 0, der untere Controller 1, weiter sei Port A das jeweilige Target 0, Port B das Target 1, Port C das Target 2 und Port D das Target 3 des jeweiligen Controllers, so sind die Magnetplatten der Storage Arrays unter folgenden physikalischen Devicenamen für das Serversystem sichtbar (vgl. Tab. 3.1).
121
3 SAN Connectivity-Topologien Abbildung 3.5: Kapazitätserweiterung – Hochverfügbares Direct Attached SCSI
S A
Storage Array 1
Port A S C S I H B A
S A
Port B Port C
S A
Storage Array 2 Port D
S A
Port A
S A
NT-Server
S C S I H B A
Storage Array 3
Port B S A
Port C S A
Port D
Storage Array 4 S A
HBA
Port
Storage Array
Physikalische Devicenamen
Oben
A
1
c0t0d0 c0t0d1 c0t0d2 ... c0t0d(n-1) c0t0dn
B
2
c0t1d0 c0t1d1 c0t1d2 ... c0t1d(n-1) c0t1dn
C
3
c0t2d0 c0t2d1 c0t2d2 ... c0t2d(n-1) c0t2dn
Tab. 3.1: Hochverfügbares Direct Attached SCSI – Physikalische Devicenamen
122
Die Kapazitätserweiterungs-Topologie
HBA
Unten
Port
Storage Array
Physikalische Devicenamen
D
4
c0t3d0 c0t3d1 c0t3d2 ... c0t3d(n-1) c0t3dn
A
1
c1t0d0 c1t0d1 c1t0d2 ... c1t0d(n-1) c1t0dn
B
2
c1t1d0 c1t1d1 c1t1d2 ... c1t1d(n-1) c1t1dn
C
3
c1t2d0 c1t2d1 c1t2d2 ... c1t2d(n-1) c1t2dn
D
4
c1t3d0 c1t3d1 c1t3d2 ... c1t3d(n-1) c1t3dn
Tab. 3.1: Hochverfügbares Direct Attached SCSI – Physikalische Devicenamen (Forts.)
Werden die Magnetplatten über Volume-Management-Software nun zu Devicegruppen zusammengeführt, muss sichergestellt werden, dass zum Boot-Zeitpunkt stets über korrekte Pfade zugegriffen wird. Weiter muss darauf geachtet werden, dass jeglicher Anwendung beide Zugriffspfade bekannt gemacht werden, da sonst trotz hardwareseitiger Redundanz im Falle eines HBA- oder SA-Ausfalls die Software den zweiten Pfad nicht nutzen kann. Zu diesem Zweck wurde Storage Management-Software wie z.B. DMP (dynamic multipathing) von Veritas oder Powerpath von EMC2 entwickelt, die die Nutzung beider Pfade durch die Anwendungen gewährleistet (vgl. Kapitel 5).
123
3 SAN Connectivity-Topologien
3.1.2
Kapazitätserweiterungs-Topologie in Fibre Channel-Umgebungen
Die Kapazitätserweiterungs-Topologie in Fibre Channel-Umgebungen entspricht der in Non Fibre Channel-Umgebungen insoweit, als auch hier über einen einzigen Fibre Channel-Host-Bus-Adapter eine Vielzahl von Storage Arrays über entsprechende Fibre Channel-System-Adapter angeschlossen werden können. Die Kapazitätserweiterung in Fibre Channel-Umgebungen kann sowohl über Arbitrated Loop als auch über Switched Fabric realisiert werden.
3.1.2.1
Kapazitätserweiterung in FC-AL-Umgebungen
Abbildung 3.6 zeigt die typische Kapazitätserweiterungs-Topologie in einer Fibre Channel Arbitrated Loop (FC-AL)-Umgebung. Der Fibre ChannelHost-Bus-Adapter (FC-HBA) eines Servers ist über einen seiner beiden Fibre Channel-N-Ports an einen NL-Port eines FC-AL-Hubs angeschlossen. Abbildung 3.6: Kapazitätserweiterung in FC-ALUmgebungen
F A
Storage Array 1
F A
Storage Array 2
F A
Storage Array 3
F A
Storage Array 4
Port A
NT-Server
F C H B A
FC-AL HUB
Port B
Dieser ist wiederum über einen oder mehrere NL-Ports an jeweils einen von zwei N-Ports eines Fibre Channel-Systemadapters (FA) der Storage Arrays angeschlossen. In der Topologie der Abbildung 3.6 sieht der Host nun über seinen Fibre Channel-HBA sämtliche Magnetplatten der Storage Arrays, auf die über den jeweiligen FA zugegriffen werden kann. Auch in dieser Topolo-
124
Die Kapazitätserweiterungs-Topologie
gie wird lediglich eine reine Kapazitätserweiterung betrieben. Hochverfügbarkeit ist durch die Häufung der Single Points of Failure (FC-HBA, FC-ALHub, FA je Storage Array) nicht gewährleistet. Eine Hochverfügbarkeit in der FC-AL-Kapazitätserweiterungs-Topologie stellt sich wie folgt dar: F A
Storage Array 1
Port A F C H B A
F A
FC-AL HUB
Abbildung 3.7: Hochverfügbare Kapazitätserweiterung in einer FC-AL-Umgebung
F A
Port B
Storage Array 2 F A
NT-Server
F A F C H B A
Storage Array 3
Port A FC-AL HUB
Port B
F A
F A
Storage Array 4 F A
Bei Verwendung zweier Fibre Channel-Host-Bus-Adapter und zwei Fibre Channel-Systemadapter je Storage Array ist es auch in der FC-AL-Umgebung möglich, jedes Storage Array und damit auch jede für den Server sichtbare Magnetplatte im Storage Array über zwei Pfade anzusprechen. Die oben beschriebene Problematik gilt auch für die Fibre Channel-Umgebung. In unserem obigen Beispiel erreichen wir jede Platte in den Storage Arrays über zwei Controller. Sei der obere Host-Bus-Adapter der Controller 0, der untere Controller 1, so können nun jedoch nicht mehr so einfach die einzelnen Devices benannt werden. Hier gibt nun die Reihenfolge der Hub-NLPorts zu den Fibre Channel-Systemadaptern der Storage Arrays das Kriterium der Wahl für die Target-Bezeichnung vor. Auch in Fibre Channel-Umgebungen wird durch Dynamic Multipathing Software wie DMP von Veritas, Powerpath von EMC2 oder mithilfe der PV Links unter HP-UX die Hochverfügbarkeit der Magnetplatten der Storage Arrays für die Anwendungen sichergestellt. Hier wird host-basiert die Hochverfügbarkeit bei Verlust eines Hubs, FC-HBAs oder FAs sichergestellt.
125
3 SAN Connectivity-Topologien
HBA
Port
Oben
Storage Array
Physikalische Devicenamen
1
c0t0d0 c0t0d1 c0t0d2 ... c0t0d(n-1) c0t0dn
2
c0t1d0 c0t1d1 c0t1d2 ... c0t1d(n-1) c0t1dn
3
c0t2d0 c0t2d1 c0t2d2 ... c0t2d(n-1) c0t2dn
4
c0t3d0 c0t3d1 c0t3d2 ... c0t3d(n-1) c0t3dn
Hub oben NL-Port-A
Hub oben NL-Port-B
Hub oben NL-Port-C
Hub oben NL-Port-D
Unten
1
c1t0d0 c1t0d1 c1t0d2 ... c1t0d(n-1) c1t0dn
2
c1t1d0 c1t1d1 c1t1d2 ... c1t1d(n-1) c1t1dn
3
c1t2d0 c1t2d1 c1t2d2 ... c1t2d(n-1) c1t2dn
Hub unten NL-Port-A
Hub unten NL-Port-B
Hub unten NL-Port-C
Tab. 3.2: Hochverfügbares FC-AL – physikalische Dateinamen
126
Die Kapazitätserweiterungs-Topologie
HBA
Port
Storage Array
Physikalische Devicenamen
4
c1t3d0 c1t3d1 c1t3d2 ... c1t3d(n-1) c1t3dn
Hub unten NL-Port-D
Tab. 3.2: Hochverfügbares FC-AL – physikalische Dateinamen (Forts.)
3.1.2.2
Kapazitätserweiterung in FC-SWUmgebungen
Das logische Konzept der Kapazitätserweiterungs-Topologie in einer Switched Fabric Fibre Channel-Umgebung wird durch die »fan-in-rate« beschrieben. Das »in« bezieht sich dabei auf die Anzahl der Storage Arrays, die über den Switch von nur einem Fibre Channel-Host-Bus-Adapter erreicht werden können.
Port A
NT-Server
F C H B A
FCSwitch
F A
Storage Array 1
F A
Storage Array 2
F A
Storage Array 3
F A
Storage Array 4
Abbildung 3.8: Kapazitätserweiterung in einer FC-SW-Umgebung
Port B
Abbildung 3.8 zeigt die typische Kapazitätserweiterungs-Topologie in einer Fibre Channel-Switched Fabric (FC-SW)-Umgebung mit einer Fan-in-Rate von 4. Der Fibre Channel-Host-Bus-Adapter (FC-HBA) eines Servers ist über einen seiner beiden Fibre Channel-N-Ports an einen F-Port eines FC-SW Fabric Switches angeschlossen. Über vier F-Ports dieses Switches werden die vier Fibre Channel-Systemadapter der Storage Arrays mit jeweils einem ihrer N-Ports verbunden. In der Topologie der Abbildung 3.8 sieht der Host 127
3 SAN Connectivity-Topologien
nun über seinen Fibre Channel-HBA sämtliche Magnetplatten der Storage Arrays, auf die über den jeweiligen FA zugegriffen werden kann. Auch in dieser Topologie wird lediglich eine reine Kapazitätserweiterung betrieben. Hochverfügbarkeit ist durch die Häufung der Single Points of Failure (FCHBA, FA je Storage Array) nicht gewährleistet. Der Switch als Single Point of Failure wurde hier nicht erwähnt, da hochverfügbare Fibre Channel-Switches die benötigte Hardwareredundanz mit der entsprechenden Switchimplementierten Software bieten. Dennoch kann auch ein kompletter Switch als redundantes System eingebunden werden. Eine Hochverfügbarkeit in der FC-SW-Kapazitätserweiterungs-Topologie (mit nur einem hochverfügbaren Switch) stellt sich wie folgt dar: Abbildung 3.9: Hochverfügbare Kapazitätserweiterung in einer FC-SW-Umgebung
F A
Storage Array 1
Port A F C H B A
FCSwitch Port B
F A
F A
Storage Array 2 F A
NT-Server
F A F C H B A
Port A
Port B
Storage Array 3 F A
F A
Storage Array 4 F A
Hier sind wiederum serverseitig zwei Fibre Channel-HBAs über einen Fibre Channel-Switch mit den vier Storage Arrays verbunden. Jedes der Storage Arrays besitzt zwei Fibre Channel-Systemadapter, die über den Switch vom Host angesteuert werden. Die Namensgebung für die Devices, die der Host sieht, ist in der Switched Fabric-Umgebung bestimmt durch das Zoning beim Switch und evtl. durch eine Software, die die Sichtbarkeit der Devices auf den Storage Arrays für einzelne Hosts einschränkt. Auf das Zoning und die Einschränkung des Devicezugriffs soll weiter unten und in Kapitel 4 eingegangen werden.
128
Storage-Konsolidierungs-Topologie
3.2
Storage-KonsolidierungsTopologie
3.2.1
Storage-Konsolidierungs-Topologie in Non Fibre Channel-Umgebungen
Die Storage-Konsolidierungs-Topologie dient dazu, unter mehreren Servern, die evtl. sogar unterschiedliche Betriebssysteme mit unterschiedlichen Dateisystemen unterstützen, ein gemeinsames Speichergerät zu teilen. Damit ist die Konsolidierungs-Topologie eine Topologie, mit der Rezentralisierungskonzepte für Server-Storage implementiert werden können. In einer Non Fibre Channel-Umgebung ist eine Konsolidierungs-Topologie durch den direkten Anschluss der Hosts über Host-Bus-Adapter an Systemadapter eines Storage Arrays realisierbar. Bei Verwendung des SCSI-Interface-Standards ist es denkbar, dass bis zu vier Server über jeweils einen Port ihres SCSI-Host-Bus-Adapters an jeweils einen der vier Ports eines SCSISystemadapters eines Storage Arrays angeschlossen werden.
NT-Server
IBM-Server
Sun-Server
HP-Server
SC SI HB A
SC SI HB A
SC SI HB A
SC SI HB A
Abbildung 3.10: KonsolidierungsTopologie in Non Fibre-Umgebungen
Port A Port B Port C Port D
Port A Port B Port C Port D
Port A Port B Port C
Storage S A
Array 1
Port D
Port A Port B Port C Port D
Die generelle Problematik der Konsolidierungs-Topologie besteht darin, dass jeder Server, der über einen Systemadapter des Storage Arrays an dieses angeschlossen wird, in der Lage ist, alle Magnetplatten des Storage Arrays zu sehen, die über diesen Systemadapter sichtbar sind. Für Abbil-
129
3 SAN Connectivity-Topologien
dung 3.10 bedeutet das, dass die vier angeschlossenen Server alle Devices des Storage Arrays sehen. Hier muss nun sichergestellt werden, dass der Zugriff auf die Platten unter den Servern eingeschränkt wird, sodass ein Direct Attached Storage ermöglicht wird. Das Sharing der Devices wäre tödlich, die Konsistenz der Dateisysteme wäre nicht zu gewährleisten. Dieses Problem kann dadurch umgangen werden, dass das Storage Array mit jeweils einem Systemadapter pro angeschlossenem Serversystem versehen wird. Diese Systemadapter müssen auf unterschiedlichen Bussen des Storage Arrays liegen. Die Magnetplatten des Storage Arrays sollten dann auf eine gleiche Anzahl von Disk-Adaptern verteilt werden, die jeweils nur an den Bus gebunden werden, auf dem auch der jeweilige Systemadapter des Servers liegt. Dadurch wird sichergestellt, dass ein Server tatsächlich lediglich »seine« Platten sieht und nicht auch Platten eines anderen Hosts. Der interne Aufbau eines Storage Arrays wird in Kapitel 4.2. detailliert beschrieben. Hier soll eine solche Konfiguration lediglich skizziert werden. Diese Implementierung einer klassischen Konsolidierungs-Topologie soll als »sicher« referenziert werden, da durch sie sichergestellt wird, dass die Server sicher nur die Magnetplatten erkennen, die auf dem Storage Array für sie bereitgestellt werden. Abbildung 3.11: Sichere Konsolidierungs-Topologie in Non Fibre-Umgebungen
NT-Server
SC SI HB A
Port A Port B Port C Port D
S A
IBM-Server
SC SI HB A
Port A Port B Port C Port D
S A
Storage
S Sun-Server
SC SI HB A
Port A Port B Port C Port D
A
Array 1
S A
HP-Server
SC SI HB A
Port A Port B Port C Port D
Der Hochverfügbarkeitsansatz für eine sichere Non Fibre-Konsolidierung erfordert nun schon auf Seiten des Storage Arrays nahezu einen Vollausbau der Systemadapter. In Abbildung 3.12 wird aus Gründen der Übersichtlichkeit lediglich eine Konsolidierung mit zwei Serversystemen dargestellt. In dieser Topologie ist darauf zu achten, dass die Systemadapter des Storage
130
Storage-Konsolidierungs-Topologie
Arrays, über die die beiden Pfade des jeweiligen Servers verbunden werden, Storage Array-intern auf dem gleichen Bus liegen, auf dem auch der DiskAdapter der Magnetplatten liegen muss. In einer solchen hochverfügbaren Konfiguration wird wie unter der Kapazitätserweiterungs-Topologie jede Magnetplatte für den Server doppelt sichtbar, d.h. eine Magnetplatte ist über zwei Controller-Target-LUNs erreichbar. Hier muss wieder mit entsprechender server-basierter Software sichergestellt werden, dass die Platte konsistent von den Applikationen adressiert wird. Intelligente server-basierte Software kann auch hier wiederum ein Load-Balancing, d.h. eine ausgeglichene Verteilung der I/O-Last, bewirken. Betrachtet man abschließend sämtliche Non Fibre-Topologien, so könnte man auf den ersten Blick davon ausgehen, dass auch mit herkömmlichen Anschlusstechniken Storage Area Networks implementiert werden können. Betrachtet man lediglich das erreichte Ziel, so lassen sich definitiv einige Anforderungen von SANs auch mit herkömmlichen Technologien realisieren. Die Erweiterung der Speicherkapazität eines Serversystems über die Kapazitätserweiterungs-Topologie erfüllt sicherlich die Mengenanforderungen eines großen Teils der Anwendungen, für die auch SAN-Lösungen angedacht werden. Rezentralisierungsstrategien können – was den zentralen Speicherplatz anbelangt – sicher auch mit der Konsolidierungs-Topologie der Non Fibre-Umgebung angegangen werden. Sogar groß angelegte Backup-Lösungen, die bei klassischer Anschlusstechnik server-basiert implementiert werden, können mit direktem Anschluss von Tape-Robotern/ Tape-Libraries realisiert werden, solange auf den beteiligten Servern noch ein SCSI-Slot frei ist. Dennoch sind Non Fibre-Umgebungen eng verbunden mit dem Begriff des »Direct Attachment« der Storage Devices. Direct Attachment heißt, externe Host-Bus-Adapter werden tatsächlich dafür verwendet, die Speichersysteme, seien es Storage Arrays, seien es Tape-Libraries oder Ähnliches, direkt an den Server anzuschließen. Wo ist das N des SAN-Begriffes? Hier fehlt tatsächlich alles, was ein Storage Network definiert. Jeder Host sieht nur »seine« Magnetplatten, diese sind z.B. über SCSI direkt an ihn angeschlossen. Ein »Teilen« eines Storage Arrays findet nicht statt. Ebenfalls fehlt bei klassischen Anschlusstechniken alles das, was das A des SAN-Begriffes definieren könnte. Wie bitte kann hier die Area definiert werden? Die klassische Storage Area wird vorgegeben von der maximalen Kabellänge zwischen Server-HBA und Storage Array-SA. Diese beträgt jedoch nur mehrere Meter. Kapazitätserweiterungs- und Konsolidierungs-Topologien in Non Fibre-Umgebungen erfordern die lokale Gruppierung der Server und »ihres« Speichers in einem Raum. Client-/Server-Speicherkonsolidierungen sind mit klassischen Anschlusstechniken nicht realisierbar.
131
3 SAN Connectivity-Topologien Abbildung 3.12: HochverfügbarkeitsKonsolidierungsTopologie in Non Fibre ChannelUmgebungen
SC SI H B A
NT-Server
Port A Port B Port C Port D
SC SI H B A
Port A Port B Port C Port D
SC SI H B A
AIX-Server
Port A Port B Port C Port D
SC SI H B A
S A S A S A S A
Storage Array 1
Port A Port B Port C Port D
Die klassischen Ansätze der Kapazitätserweiterungs- und der Konsolidierungs-Topologie definieren kein SAN – sie sollten nur dargestellt werden, um dem Vorwurf der Unvollständigkeit zu entgehen. Fibre Channel-Topologien sind es, in denen Storage Area Networks definiert und implementiert werden.
3.2.2
Storage-Konsolidierungs-Topologie in Fibre Channel-Umgebungen
Die Storage-Konsolidierungs-Topologie in Fibre Channel-Umgebungen dient ebenfalls dazu, Rezentralisierungs-Anforderungen für die Speichermedien zu erfüllen. Die folgenden Abschnitte beschreiben die Realisierung der Konsolidierung unter Einsatz von FC-AL- und FC-SW-Technologien.
3.2.2.1
Speicherkonsolidierung in FC-ALUmgebungen
Diese Konsolidierungs-Topologie liefert die Möglichkeit, über den Speicher unterschiedliche Server zu verbinden. Die Konsolidierungs-Topologie wird bei vielen Windows-NT-Anwendungsumgebungen erforderlich, bei denen eine Vielzahl kleiner Server mit geringer Speicherkapazität auf ein Storage
132
Storage-Konsolidierungs-Topologie
Array mit großer Speicherkapazität über FC-AL zugreifen. Dies erweitert die Anzahl der Server-Verbindungen an das Storage Array, das evtl. lediglich mit einem Fibre Channel-Systemadapter ausgestattet ist.
NT-Server
IBM-Server
Sun-Server
HP-Server
F C HB A
F C HB A
F C HB A
F C HB A
Abbildung 3.13: Speicherkonsolidierung in FC-ALUmgebungen
Port A
Port B
Port A
Port B
Port A
Storage FC-AL HUB
F A
Array 1
Port B
Port A
Port B
Der Fibre Channel-Host-Bus-Adapter (FC-HBA) eines jeden Servers ist über einen seiner beiden Fibre Channel-N-Ports an einen NL-Port eines FC-ALHubs angeschlossen. Dieser ist wiederum über einen oder mehrere NL-Ports an jeweils einen von zwei N-Ports eines Fibre Channel-Systemadapters (FA) des Storage Arrays angeschlossen. In der Topologie der Abbildung 3.13 sieht jeder Host nun über seinen Fibre Channel-HBA sämtliche Magnetplatten des Storage Arrays, auf die über den FA zugegriffen werden können. In dieser Topologie wird lediglich eine reine Speicherkonsolidierung betrieben. Hochverfügbarkeit ist durch die Häufung der Single Points of Failure (FCHBA, FC-AL-Hub, FA des Storage Arrays) nicht gewährleistet. Eine Hochverfügbarkeit in der FC-AL-Speicherkonsolidierungs-Topologie stellt sich wie folgt dar: Bei Verwendung zweier Fibre Channel-Host-Bus-Adapter je Server und zweier Fibre Channel-Systemadapter im Storage Array ist es auch in der FCAL-Umgebung möglich, ein Storage Array und damit auch jede für den jeweiligen Server sichtbare Magnetplatte im Storage Array über zwei Pfade anzusprechen. In unserem Beispiel der Abbildung 3.14 erreichen wir jede Platte im Storage Array über zwei Controller. Ist der obere Host-Bus-Adapter der Controller 0, der untere Controller 1, so können auch bei der Konsolidierungs-Topologie nicht mehr einfach die einzelnen Devices benannt werden. Hier gibt nun die Reihenfolge der Hub-NL-Ports den Fibre Channel-Systemadaptern des Storage Arrays das Kriterium der Wahl für die Target-Bezeichnung vor. 133
3 SAN Connectivity-Topologien Abbildung 3.14: Hochverfügbare Storage-Konsolidierung in einer FC-AL-Umgebung
F C H B A
Port A
Port B
FC-AL HUB
NT-Server
F A
F C H B A
Port A
Port B
Storage
F C H B A
Port A
Array 1
F C H B A
Port A
Port B
FC-AL HUB
AIX- Server
F A
Port B
Ohne FC-AL-Hub wäre die Storage-Konsolidierung der Abbildung 3.14 nur zu realisieren, wenn vier Verbindungen zwischen Server und Storage Array zur Verfügung stünden. Die HBA-Konfiguration entspräche der in der Abbildung gezeigten. Port A beider Host-Bus-Adapter des NT-Servers müssten mit Port A der beiden Fibre Channel-Adapter des Storage Arrays verbunden werden. Port A beider Host-Bus-Adapter des AIX-Servers müssten an Port B der beiden Fibre Channel-Adapter des Storage Arrays angeschlossen werden. Beide Fibre Channel-Adapter des Storage Arrays wären damit komplett belegt. Weitere Host-Connections erforderten weitere FAAdapter im Storage Array. Mit obiger FC-AL-Konfiguration werden die vier Server-/Storage-Verbindungen durch Einbindung der beiden FC-AL-Hubs auf zwei Verbindungen reduziert. Diese Konfiguration ist vor allem dann sinnvoll, wenn die zu konsolidierenden Server geringe I/O-Bandbreitenanforderungen besitzen. Für diese Server wäre die volle Bandbreite einer Fibre Channel-Verbindung eindeutig überdimensioniert. In der dargestellten hochverfügbaren FC-ALKonfiguration teilen sich die beiden Server die Bandbreite zweier Fibre Channel-Verbindungen. Es werden sowohl Cluster- als auch Non Cluster-Konfigurationen unterstützt. Durch server-basierte Lockmechanismen können in Cluster-Umgebungen die Applikationen für den normalen und den Failover-Betrieb auf die gleichen Magnetplatten zugreifen. Non Cluster-Applikationen teilen
134
Storage-Konsolidierungs-Topologie
sich Mengen von Magnetplatten auf dem Storage Array, die Kapazität des Storage Arrays sowie die Bandbreite der Fibre Channel-Verbindungen zwischen Server und Storage Array. Dazu wird wiederum eine host-basierte Kanal-Failover- und Kanal-LoadBalancing- und Dynamic Multipathing-Software wie DMP von Veritas, Powerpath von EMC2 oder PV-Links unter HP-UX benötigt, die die Hochverfügbarkeit der Magnetplatten der Storage Arrays für die Anwendungen sicherstellt. Hier wird host-basiert die Hochverfügbarkeit bei Verlust eines Hubs, FC-HBAs oder FAs sichergestellt, das Management der Konfiguration wird vereinfacht, deren Zuverlässigkeit wird erhöht und die Applikationsperformance durch dynamische Nutzung beider Pfade wird gesteigert.
3.2.2.2
Speicherkonsolidierung in FC-SWUmgebungen
Das logische Konzept der Konsolidierungs-Topologie in einer Switched Fabric-Umgebung wird durch die »Fan-Out-Rate« beschrieben.
NT-Server
IBM-Server
Sun-Server
HP-Server
F C HB A
F C HB A
F C HB A
F C HB A
Abbildung 3.15: Storage-Konsolidierung in einer FC-SW-Umgebung
Port A
Port B
FCSwitch
Port A
Port B
Port A
Storage F A
Array 1
Port B
Port A
Port B
Dabei definiert das »Out« den Weg aus dem Storage Array heraus. Eine FanOut-Rate von 2 bedeutet, dass über einen Fibre Channel-Port des Storage Arrays zwei Fibre Channel-Ports an Hosts erreicht werden. In Abbildung 3.15 ist eine fan-out-rate von 4 dargestellt. Ein Fibre ChannelPort eines Storage Arrays wird von vier Server-Connections geteilt. Der Fibre Channel-Host-Bus-Adapter (FC-HBA) eines jeden Servers ist über einen seiner beiden Fibre Channel-N-Ports an einen F-Port eines FC-SW Fabric-Swit-
135
3 SAN Connectivity-Topologien
ches angeschlossen. Über einen F-Port dieses Switches wird der Fibre Channel-Systemadapter des Storage Arrays mit einem N-Port verbunden. In der Topologie der Abbildung 3.15 sieht jeder Host nun über seinen Fibre Channel-HBA sämtliche Magnetplatten des Storage Arrays, auf die über den FA zugegriffen werden können. Auch in dieser Topologie wird lediglich eine reine Storage-Konsolidierung betrieben. Eine Hochverfügbarkeit ist durch die Häufung der Single Points of Failure (FC-HBA, FA des Storage Arrays) nicht gewährleistet. Der Switch als Single Point of Failure wurde hier nicht erwähnt, da hochverfügbare Fibre Channel-Switches die benötigte Hardwareredundanz mit der entsprechenden Switch-implementierten Software bieten. Dennoch kann auch ein kompletter Switch als redundantes System eingebunden werden. Eine Hochverfügbarkeit in der FC-SW Storage-Konsolidierungs-Topologie (mit nur einem hochverfügbaren Switch) wird in der Abbildung 3.16 dargestellt. Abbildung 3.16: Hochverfügbare Speicherkonsolidierung in einer FC-SW-Umgebung
F C H B A
NT-Server
Port A
Port B
FCSwitch
F A
F C H B A
Port A
Port B
Storage
F C H B A
Port A
Array 1
F C H B A
Port A
Port B
AIX-Server
F A
Port B
Hier sind wiederum serverseitig zwei Fibre Channel-HBAs über einen Fibre Channel-Switch mit dem Storage Array verbunden. Das Storage Array besitzt zwei Fibre Channel-Systemadapter, die vom Host über den Switch angesteuert werden. Die Namensgebung der Devices, die der Host sieht, ist in der Switched Fabric-Umgebung bestimmt durch das Zoning beim Switch und evtl. durch eine Software, die die Sichtbarkeit der Devices auf den Storage Arrays für einzelne Hosts einschränkt. Auf das Zoning und die Einschränkung des Devicezugriffs soll weiter unten und in Kapitel 4 eingegangen werden. Auch in der Hochverfügbarkeitslösung der Speicherkonsolidierung existiert eine fan-out-rate von 4, dennoch werden hier von Seiten
136
Distanz-Topologie
des Storage Arrays zwei Ports benötigt. Auch hier wird über eine host-basierte Kanal-Failover- und Kanal-Load-Balancing-und Dynamic Multipathing-Software wie DMP von Veritas, Powerpath von EMC2 oder über PV-Links unter HP-UX die Hochverfügbarkeit der Magnetplatten der Storage Arrays für die Anwendungen host-basiert sichergestellt, das Management der Konfiguration wird vereinfacht, deren Zuverlässigkeit wird erhöht und die Applikationsperformance durch dynamische Nutzung jeweils beider Host-Pfade wird gesteigert.
3.3
Distanz-Topologie
Die Distanz-Topologie ist mit herkömmlichen Anschlusstechniken für Storage nicht realisierbar. Sie verwendet sowohl kurz- als auch langwellige Glasfaser-Verbindungen, um die maximale Distanz zwischen Serversystemen und Storage Arrays auszudehnen. Der Zugriff multipler Server Connections über langwellige Glasfaserverbindungen auf multiple Storage Arrays erhöht die Verfügbarkeit der Storage-Umgebung, da hier ein Komplettausfall eines Storage Arrays als Single Point of Failure ausgeschaltet werden kann. Abbildung 3.17: Distanz-Topologie FC-AL
Port A
NT-Server
F C H B A
FC-AL HUB
F A
Port B
Storage Array 1
FC-AL HUB Kurzwellige Glasfaser (durchgezogene Linie) Langwellige Glasfaser (unterbrochene Linie)
137
3 SAN Connectivity-Topologien
Aus Gründen des Verfügbarkeits- und Ressource-Managements wird in Rechenzentrum-Topologien eine langwellige Glasfaser verwendet, um ESCON-HBAs und Systemadapter (auf Seiten des Storage Arrays) zu terminieren und dann eine ESCON-zu-ESCON-Verbindung zwischen dem ESCON-Systemadapter eines lokalen Storage Arrays und dem ESCON-Systemadapter eines Remote Storage Arrays zu implementieren. Fibre Channel kann auf ähnliche Weise implementiert werden, indem die Server-/StorageVerbindungen lokal über eine Verbindungsschaltung (z.B. über einen Hub oder einen Switch) realisiert werden und langwellige/Single Mode-Glasfaser Hub-to-Hub (lokaler Hub zu remote Hub) oder Switch-to-Switch implementiert wird. Fibre Channel-Geräte sind in aller Regel für kurzwellige Laser mit Multi Mode-Glasfaserkabeln realisiert. Dies beschränkt ihren Einsatz auf Server-/Storage-Distanzen von bis zu 500 Metern. Langwellige Laser mit Single Mode-Glasfaserkabel erlauben Server-/Storage-Distanzen bis zu zehn Kilometern. Diese Technologie wird dazu verwendet, komplette auf Fibre Channel basierte Katastrophen-RecoverySysteme aufzubauen, die einen lokalen Server-/Storage-Verbund durch einen remote Server-/Storage-Verbund absichern.
3.3.1
Fibre Channel FC-AL-Distanz-Topologie
In einer klassischen Implementierung der FC-AL-Distanz-Topologie (vgl. Abbildung 3.17) werden Server und Storage an unterschiedlichen Lokationen gehalten. Der Server realisiert seine Server-/Storage-Verbindungen über eine kurzwellige Laserverbindung zu einem lokalen Hub. Der Server verbindet einen N-Port seines Fibre Channel-HBAs mit einem NL-Port des lokalen Hubs. Dieser wird über einen weiteren NL-Port durch eine langwellige Laserverbindung an einen NL-Port eines remote Hubs angeschlossen. Von einem NL-Port des remote Hubs wird dann die tatsächliche Verbindung an einen N-Port des Fibre Channel-Systemadapters des remote stehenden Storage Arrays verkabelt. Hochverfügbar ist diese Storage Connectivity jedoch nicht. Jeder Ausfall eines FC-HBA, eines FC-AL-Hubs oder eines FA sowie einer Longwave Fibre Channel-Verbindung zwischen den beiden Hubs führt zum Stopp der Anwendungen des Servers. Eine wie in Abbildung 3.17 dargestellte hochverfügbare FC-AL-DistanzTopologie stellt – zumindest was die Connectivity-Sicherheit anbelangt – ein Disaster-Recovery-fähiges Konzept dar. Fällt ein FC-HBA aus, so kann der zweite FC-HBA des Hosts die Aufgabe übernehmen. Fällt ein FC-AL-Hub aus, so werden sämtliche Verbindungen des zweiten FC-AL-Hubs genutzt, fällt ein FA aus, so werden die Verbindungen über den zweiten FA genutzt. Absolute Disaster-Toleranz bedingt jedoch auch den Ersatz sämtlicher Systemkomponenten – also auch den Ersatz von Server-System und Storage Array – durch eine Recovery-Komponente. Am Ende dieses Kapitels soll
138
Distanz-Topologie
eine solche disastertolerante Topologie dargestellt werden. Zuvor jedoch sollen noch eine FC-SW-Distanz-Topologie und gemischte Topologien dargestellt werden. F C H B A
NT-Server
3.3.2
Port B
FC-AL HUB
F C H B A
Port A
F C H B A
Port A
F C H B A
Port A
AIX-Server
Abbildung 3.18: Hochverfügbare FC-AL-DistanzTopologie
Port A
FC-AL HUB
F A
Remote
Port B
Storage Port B
FC-AL HUB
Port B
FC-AL HUB
F A
Array 1
durchgezogene Linien = kurzwelliges Fibre unterbrochene Linien = langwelliges Fibre
FC-SW-Distanz-Topologie
Die Fibre Channel Switched Fabric Distanz-Topologie erfordert eine Langwellen-Laser-Switch-To-Switch-Verbindung zweier Fibre Channel-E-Ports mit zwei Switches. Diese beiden Switches bilden die Fabric. Ein N-Port des Fibre Channel-Host-Bus-Adapters (Port A) wird an einen F-Port des lokalen Switches mit Kurzwellen-Glasfaser angeschlossen. Der lokale und der remote Switch bilden die Fabric. Beide Switches sind untereinander mit E-Ports über Langwellen-Glasfaser zur Fabric zusammengeschlossen. An einen F-Port des remote Switches wird ein N-Port des Fibre Channel-Systemadapters des Storage Arrays über Kurzwellen-Glasfaser angeschlossen. Unter dem Hochverfügbarkeitsaspekt wohnen dem obigen Beispiel der FC-SW-Distanz-Topologie im Host-Bus-Adapter und dem Fibre ChannelSystemadapter wieder vermeidbare Single Points of Failure inne, die durch die hinlänglich bekannte Konfigurationserweiterung auf redundante Komponenten beider Seiten vermieden werden kann.
139
3 SAN Connectivity-Topologien Abbildung 3.19: FC-SW-DistanzTopologie
FCSwitch
FCSwitch
Port A
NT-Server
F C H B A
F A
Port B
Abbildung 3.20: Hochverfügbare FC-SW-DistanzTopologie
F C
B
Port A FCSwitch
FCSwitch
Port B
A
F
NT-Server F
A
Port A
C H B
C
Storage Port A
H B
Port B
F
A
A
AIX-Server F
Port A
C H B A
durchgezogene Linien Port B
= kurzwelliges Fibre unterbrochene Linie = langwelliges Fibre
140
Remote
Port B
A
F
Array 1
Kurzwellige Glasfaser (durchgezogene Linien) Langwellige Glasfaser (unterbrochene Linie)
H
Storage
Array 1
Gemischte Topologien
Hier sind serverseitig zwei Fibre Channel-HBAs über einen Fibre ChannelSwitch mit dem Storage Array verbunden. Das Storage Array besitzt zwei Fibre Channel-Systemadapter, die über den Switch vom Host angesteuert werden. Auch hier wird über eine host-basierte Kanal-Failover- und KanalLoad-Balancing- und Dynamic Multipathing-Software wie DMP von Veritas, Powerpath von EMC2 oder über PV-Links unter HP-UX die Hochverfügbarkeit der Magnetplatten der Storage Arrays für die Anwendungen host-basiert sichergestellt, das Management der Konfiguration wird vereinfacht, deren Zuverlässigkeit wird erhöht und die Applikationsperformance durch dynamische Nutzung jeweils beider Host-Pfade wird gesteigert. Jedoch auch für die hier dargestellte Hochverfügbarkeitslösung gilt wieder, dass kein Totalausfall eines Serversystems oder des Storage Arrays abgedeckt ist.
3.4
Gemischte Topologien Abbildung 3.21: Gemischte Topologie
Port A
NT-Server
SC SI HB A
Port B Port C
S A
Port D
Port A
IBM-Server
F C HB A
FC-AL HUB FCSwitch
F A
Port B
Port A
Sun-Server
F C HB A
Storage Array
F A
Port B
Auf den zurückliegenden Seiten wurden die reinen Formen von Kapazitätserweiterungs-, Konsolidierungs- und Distanz-Topologien für Storage Area Networks erläutert. Sie wurden anhand von Implementierungsbeispielen für klassische SCSI-, sowie FC-AL- und FC-SW-Fibre Channel-Anschlüssen dargestellt. Natürlich lassen sich sämtliche Topologien mit entsprechendem Mix von Host-Bus-Adaptern, Systemadaptern und Fibre Channel-Hubs und
141
3 SAN Connectivity-Topologien
Switches mischen. So können Devices eines Storage Arrays direkt über SCSI an einen SCSI-Host-Bus-Adapter angeschlossen werden, andere Devices eines Arrays über Hub einer FC-AL-Verbindung adressiert werden, wiederum andere über eine Fibre Channel-Switched Fabric angeschlossen werden. Abbildung 3.22 soll eine kleine Auswahl der Kombinationsmöglichkeiten für klassische und Fibre Channel-Anschlüsse von Storage Devices vermitteln. Abbildung 3.22: Hochverfügbare gemischte Topologie
NT-Server
S A
SC SI HB A SC SI HB A
IBM-Server
F C HB A F C HB A
S A FC-AL HUB
FC-AL HUB
F A
Storage
F A
Array
F A Sun-Server
F C HB A F C HB A
F A
In Abbildung 3.22 erkennt der NT-Server über Port A seines SCSI-Host-Busses sämtliche Magnetplatten, die für den SCSI-Systemadapter des Storage Arrays sichtbar sind. Der IBM-Server implementiert eine Kapazitätserweiterung, indem von Port A seines Fibre Channel-Host-Bus-Adapters über den FC-AL-Hub der Port A des ersten und der Port B des zweiten Fibre ChannelSystemadapters des Storage Arrays angeschlossen werden. Dadurch kann der IBM-Server sämtliche Magnetplatten innerhalb des Storage Arrays adressieren, die über die beiden Fibre Channel-Systemadapter sichtbar sind. Der Sun-Server wird in einer Distanz-Topologie über zwei Switches, die über E-Port zur Fabric zusammengeschlossen sind, an Port A des Fibre ChannelSystemadapters des Storage Arrays angeschlossen. In dieser Konstellation kann es zu Konflikten zwischen dem IBM-Server und dem Sun-Server daher kommen, da beide über den zweiten Fibre Channel-Systemadapter des Storage Arrays die gleichen Magnetplatten sehen können. Per definitionem sieht ein Host-Bus-Adapter eines Servers alle Magnetplatten im Storage Array, die für den Systemadapter sichtbar sind, über dessen Ports der Server angeschlossen ist. Hier muss softwareseitig server-basiert sichergestellt werden,
142
Gemischte Topologien
dass jeder Server lediglich »seine« Magnetplatten sieht und diese ihm bei jedem Boot-Vorgang wieder in der richtigen Reihenfolge zur Verfügung gestellt werden. Eine hochverfügbare gemischte Topologie wäre – ausgehend von der oben angedachten Konstellation – wie folgt zu realisieren: F C H B A
AIX-Server F C H B A
F C H B A
AIX-Server F C H B A
Abbildung 3.23: Hochverfügbare SAN-Topologie
F C H B A
F A
F A
F A
Local
Remote
Storage
Storage
Array
Array
F A
AIX-Server F C H B A
F C H B A
AIX-Server F C H B A
Für die hochverfügbare gemischte Topologie gelten sämtliche Anmerkungen, die zu sämtlichen Spielarten der reinen Topologien bereits gemacht wurden. Summarisch kann hier festgestellt werden, dass sämtliche betrachtete Topologien Hochverfügbarkeit lediglich für die Verbindung zwischen Host (Server) und Speichermedium (Storage Array) realisiert haben. Tatsächliche SAN-Topologien sind lediglich über Fibre Channel realisierbar. Dabei kommt es nicht darauf an, ob FC-AL oder FC-SW eingesetzt wird. Shared Usage der Verbindungen und der Speichermedien für mehrere Hosts ist lediglich mit Fibre Channel realisierbar. Einzelne Anforderungen an SANs wie Speicherkapazitätserweiterung für einzelne Server und Speicherkonsolidierung für mehrere Server sind zwar mit SCSI- oder Parallelanschluss des/der Storage Devices realisierbar, eine tatsächliche gemeinsame Nutzung der Medien benötigt jedoch den Einsatz von Fibre Channel. Daher werden in den folgenden Abschnitten, die die wesentlichen Hard- und Softwarebausteine von Storage Area Networks zum Inhalt haben, zwar hin und wieder noch einige Sätze zur Integration klassischer Peripherie-Protokolle und Controller fallen, der Schwerpunkt wird jedoch eindeutig auf Fibre Channel gelegt. Abschließend zur Darstellung der für die Anwendung entwickelten SAN-Topologien sei eine Topologie eines tatsächlich hochverfügbaren SANs vorgestellt, der neben der höchstverfügbaren Verbindungs-
143
3 SAN Connectivity-Topologien
Topologie – der Distanz-Topologie – auch die wesentlichen Bausteine des SANs – Server und Storage Devices – an beiden Lokationen redundant hält, sodass tatsächlich sämtliche Single Points of Failure ausgeschlossen werden können, sogar der Ausfall eines gesamten Rechenzentrums. Diese SANTopologie ist es, deren Bausteine für den Rest des Buches zusammengetragen und dargestellt werden. In dieser Topologie sind zwei identisch ausgestattete Rechenzentren über langwellige Glasfaser in einer Campus-Distanz-Topologie zusammengeschlossen. Ein Server sowie ein Failover-Server sind jeweils über DualPathing mit einem Storage Array angeschlossen. Das Remote Storage Array ist eine identische Kopie des Local Storage Arrays, d.h. die Platten des lokalen Storage Arrays werden auf dem Remote Storage Array gespiegelt. Auch der Switch kann noch redundant gedacht werden, sodass jede Komponente, sogar komplette Server, ausfallen können – sie haben zumindest einen redundanten Partner, der ihre Funktionen übernehmen kann. Aufbau und Funktion solcher SANs werden im folgenden Abschnitt erläutert.
144
4
SAN – HardwareKomponenten
Im Folgenden werden die generellen Bausteine eines Storage Area Networks beschrieben. Dabei handelt es sich um 왘 Host-Komponenten des SAN 왘 Storage-Komponenten des SAN 왘 Fibre Channel-Hubs und Switching-Hubs 왘 Fibre Channel Fabric Switches 왘 Fibre Channel-to-SCSI Bridges.
Je nach gewählter SAN-Topologie werden diese Komponenten zum Aufbau des SANs herangezogen.
4.1
Hochverfügbare ClusterSysteme
4.1.1
Hewlett-Packards MetroCluster ServiceGuard Hardware-Konfiguration
MetroCluster ServiceGuard (MC/ServiceGuard) ermöglicht hochverfügbare Cluster von HP9000/800-Computern. Ein solcher hochverfügbarer Cluster erlaubt Diensten und Applikationen einen unterbrechungsfreien Betrieb, auch wenn eine Hardware- oder Softwarekomponente ausfallen sollte. Hochverfügbare Systeme schützen die Anwender sowhl vor Softwarefehlern als auch vor Fehlern in Hardware-Komponenten wie SPU (System Processing Unit), Magnetplatte(n) oder LAN/Netzwerkbausteinen. Realisiert wird diese Hochverfügbarkeit durch Redundanz der Systemkomponenten – ist eine Hardwarekomponente fehlerhaft, so wird deren Funktion automatisch von der redundanten Komponente übernommen. MC/ServiceGuard und andere hochverfügbare Subsysteme (z.B. Storage Arrays) übernehmen die Koordination zwischen den redundanten Komponenten. Ein MetroCluster ServiceGuard Cluster besteht aus untereinander vernetzten gruppierten HP9000/800-Servern. Diese werden als Cluster-Knoten bezeichnet. Jeder dieser Cluster-Knoten besteht aus eigenständigen redun-
145
4 SAN – Hardware-Komponenten
danten Hardware- und Softwarekomponenten. Diese Redundanz stellt sicher, dass es auf dem Cluster-Knoten keinen Single Point of Failure gibt, der die Services oder Applikationen, die dieser Knoten hostet, signifikant unterbrechen könnte. Applikationen und Dienste (individuelle Prozesse unter HP-UX) werden zu Packages gruppiert. Fällt nun ein kompletter Cluster-Knoten oder auch nur ein einzelner Dienst, ein Netzwerk oder eine andere Ressource aus, so kann MC/ServiceGuard automatisch die Kontrolle der Packages des Clusters oder des vom Komponentenausfall betroffenen Packages auf einen anderen Knoten innerhalb des Clusters übertragen. Dadurch bleiben die Dienste und Applikationen bei minimaler Unterbrechung verfügbar. Abbildung 4.1 zeigt eine typische MC/ServiceGuard-Konfiguration mit zwei Cluster-Knoten. Beide Cluster-Knoten stellen jeweils eine SPU dar. Der Knoten A betreibt die Applikationen und Dienste des Packages 1, Knoten B die von Package 2. Mit jedem Package ist – auf einem Storage Array – eine Magnetplattengruppe assoziiert, die sowohl die Produktivdaten des Packages enthalten als auch jeweils einen Spiegel dieser Produktivdaten. Beide Cluster-Knoten haben physikalisch den Zugriff auf die Disk Groups beider Packages, jedoch hat jeder Knoten zu einem gegebenen Zeitpunkt nur Zugriff auf die Disks des Packages, das er aktuell betreibt (die Disks des jeweils anderen Packages bleiben im Status »Not Ready To Host«). Der Knoten A hat also direkten Zugriff auf die Disk Group des Packages 1, Knoten B auf die Disk Group des Packages 2. Abbildung 4.1: MetroCluster – Typische Konfiguration mit zwei Knoten
Package 1 HP-Server ClusterKnoten A
F C H B A
F C H B A
FC-Switch Disk Group Package 1
F A
Local Storage
Package 2 HP-Server ClusterKnoten B
F C H B A
F C H B A
146
Disk Group Package 2 Array
F A
Hochverfügbare Cluster-Systeme
In der Regel sind die Magnetplatten der Disk Groups noch lokal gespiegelt, sodass die Daten auch bei Verlust einer Platte redundant vorhanden sind. Zusätzliche Redundanzen befinden sich auf der HBA-Ebene, auf der Systemadapter-Ebene und innerhalb des Storage Arrays. Hier nutzen sämtliche DiskAdapter (Magnetplattencontroller) und sämtliche Systemadapter redundante Busse. Je nach Architektur des Storage Arrays werden die Magnetplatten Dual Ported an zwei Disk-Adapter angeschlossen oder die Platten eines Disk-Adapters sind Dual-Initiated über ungenutzte Ports des Disk-Adapters an ungenutzte Ports eines zweiten Disk-Adapters angeschlossen, sodass sowohl Systemadapter als auch Busse und Disk-Adapter redundant vorgehalten werden. Aufbau und Funktion eines solchen hochverfügbaren Storage Arrays werden später in diesem Kapitel dargestellt. Die oben beschriebene Package-Konfiguration des MC/ServiceGuard bietet ein Maximum an Redundanz wie auch ein Optimum an Performance, da sowohl die Host-Bus-Adapter als auch die Systemadapter, Datenbusse und Disk-Adapter für die beiden Packages voneinander getrennt liegen; auch über die redundanten Komponenten, evtl. durch host-basierte Software, kann eine Lastverteilung vorgenommen werden. Auch Netzwerk-Hardware wird für MC/ServiceGuard redundant verkabelt. Jeder Cluster-Knoten bietet und nutzt redundante LAN-Schnittstellen. MC/ ServiceGuard verwendet die TCP/IP-Netzwerkdienste für eine zuverlässige Kommunikation zwischen den Knoten des Clusters. Diese beinhaltet auch die Übertragung von heartbeat messages – periodischen Signalen jedes aktiven Cluster-Knotens, die dem Cluster seine Funktionsfähigkeit anzeigen. Weitere TCP/IP-Dienste werden für unterschiedliche Kommunikationsarten zwischen den Cluster-Knoten verwendet. Diese sowie eine ausführliche Darstellung der Heartbeat-Funktionalität werden später erörtert. Unter normalen Bedingungen überwacht MC/ServiceGuard lediglich die Funktionalität sämtlicher Cluster-Komponenten. Die Packages laufen störungsfrei auf ihren jeweiligen Cluster-Knoten. Ein Cluster-Knoten wird als aktiver Knoten bezeichnet, solange er fehlerfrei in einem MC/ServiceGuardCluster läuft. Bei der Erstellung eines Packages wird definiert, welcher Cluster-Knoten dieses Package bevorzugt betreiben soll. Dieser Knoten ist der Primary Node für den Betrieb des Packages. Weiter werden ein oder mehrere Adoptive Nodes definiert. Ein Adoptive Node ist ein Cluster-Knoten, der bei Ausfall des Primary Nodes des Packages, sei es aufgrund eines Netzwerkfehlers oder eines Fehlers einer anderen Cluster-Komponente, von MC/ServiceGuard die Kontrolle über das Package transferiert bekommt. Nach dem Transfer verbleibt das Package typischerweise solange unter Kontrolle des Adoptive Nodes, wie dieser läuft. Die Konfiguration ermöglicht aber auch, die Kontrolle an den Primary Node zurückzugeben, sobald die Fehlerursache behoben und dieser wieder aktiv ist. Alternativ zu automatischer Voreinstellung des Failover/Failback-Vorganges über die Konfiguration von MC/ServiceGuard kann die Kontrolle am Package zu gegebenem Zeitpunkt jedoch auch manuell an den Primary Node rückübertragen werden.
147
4 SAN – Hardware-Komponenten Abbildung 4.2: MetroCluster – Zwei-KnotenKonfiguration nach Failover
F
Package 1
C H
FC-Switch Disk Group Package 1
B
HP-Server
A
Cluster-
F
Knoten A F
A
C H B
Local
A
Storage Package
F
2
C
Package 1 HP-Server
Disk Group Package 2 Array
H B A
F A
ClusterKnoten B F C H B A
Bei der Darstellung der Cluster-Umgebung und des Failovers in obigen Beispielen wurden absichtlich lediglich die Komponenten des Clusters dargestellt, die aus den bisherigen Kapiteln des Buches vertraut sind. Interessant ist dabei die Durchgängigkeit des Redundanzgedankens für die komplette Systemumgebung. So werden z.B. auch die Stromanschlüsse für sämtliche Komponenten redundant vorgehalten. Die Komponenten werden an so viele unabhängige Stromkreise angeschlossen, dass auch in der Stromversorgung ein Single Point of Failure ausgeschlossen wird. Jeder Stromkreis sollte von einem UPS (uninterruptable power supply) abgesichert werden, der die Stromversorgung einer Cluster-Komponente solange sicherstellt, bis der Cluster den Package-Switch abgeschlossen hat.
4.1.1.1
Redundanz von Cluster-Komponenten
Die Hochverfügbarkeit in der Cluster-Umgebung definiert sich durch ein Höchstmaß an Redundanz der Komponenten. Diese Redundanz eliminiert Single Points of Failure. Generell gilt die Aussage, dass je mehr Redundanz im Cluster implementiert ist, desto sicherer ist der Zugriff auf die Applikationen, Daten und Dienste beim Ausfall einzelner Komponenten. Zusätzlich zur Redundanz der Hardware-Komponenten muss auch die eingesetzte Software die Hochverfügbarkeitslösung unterstützen. Sie muss den Transfer der Applikationskontrolle auf eine andere SPU oder ein anderes Netzwerk bei Ausfall einer Cluster-Komponente ermöglichen und automatisieren. MC/ServiceGuard bietet diese Unterstützung für folgende Situationen:
148
Hochverfügbare Cluster-Systeme 왘 Im Falle eines LAN-Fehlers schaltet MC/ServiceGuard auf ein Standby-
LAN um oder transferiert die Kontrolle über die Applikation (das Package) auf einen Standby-Cluster-Knoten. 왘 Im Falle eines SPU-Fehlers (Knoten-Fehler) wird die Kontrolle am Pack-
age automatisch auf eine laufende SPU übertragen. Dieser Failover geschieht nicht unbemerkbar für den Anwender des betroffenen Packages. Der Standby-Knoten muss das Package starten, die Magnetplatten des betroffenen Packages in sein Dateisystem einhängen und den Benutzerzugriff ermöglichen. Bei Ausfall einer CPU wird die Applikation für den Anwender »abstürzen«; sie ist jedoch in kürzester Zeit auf dem StandbyKnoten wieder verfügbar. 왘 Bei Ausfall einer jeden anderen überwachten Ressource, z.B. eines
Switch-Ports, eines Systemadapter-Ports, eines Host-Bus-Adapter-Ports oder eines Disk-Adapters kann das Package auf einen anderen ClusterKnoten übertragen werden, der die gleiche Ressource über einen anderen Pfad erreicht. 왘 Softwarefehler führen zu einem Re-Start des Packages auf dem gleichen
oder einem Standby-Knoten. Auch hier gilt wieder, dass im Cluster die Downtime der Applikation minimiert ist. Die Funktion des kontrollierten und automatisierten Anwendungs- und Dienstetransfers auf einen Adoptive Node wird auch für geplante Ausfallzeiten, z.B. Wartungs-Zeitfenster oder Software- und Hardware-Upgrades, genutzt. MC/ServiceGuard unterstützt Cluster mit maximal 16 Cluster-Knoten. Fast/ Wide SCSI-Magnetplatten oder Storage Arrays können über einen Shared Bus an bis zu vier Cluster-Knoten gleichzeitig angeschlossen werden. Storage Arrays, die unabhängige Busse anbieten oder über Fibre Channel angeschlossen werden, können für das Failover von sämtlichen 16 Cluster-Knoten konfiguriert werden. Unabhängig von der Anschlusstechnik für die Magnetplatten können Applikationen auf beliebig viele Cluster-Knoten geschwenkt werden, wenn diese lokale Kopien der ausführbaren Programme dieser Applikationen besitzen.
4.1.1.2
Redundanz von Netzwerk-Komponenten
Um Single Points of Failure für den Betrieb des Netzwerks auszuschließen, muss jedes Subnet, das von einem Cluster-Knoten erreichbar ist, redundante Netzwerk-Schnittstellen besitzen. Gegen Kabelfehler ist eine redundante Verkabelung erforderlich. Jede Netzwerk-Karte wird über ein eigenes Kabel angeschlossen. Die Kabel – und damit auch die Netzwerk-Karten – werden über einen Hub oder eine Bridge miteinander verbunden. In FDDI-Netzwerken wird jede Netzwerk-Karte mit einem unterschiedlichen Concentrator verkabelt. Eine solche Netzwerkkonfiguration, die die physikalischen Kabel über eine Bridge, einen Concentrator oder einen Switch miteinander verbindet, wird als Bridged Net bezeichnet.
149
4 SAN – Hardware-Komponenten
In einem Bridged Net werden den Netzwerk-Schnittstellen die IP-Adressen zugewiesen. Eine Schnittstelle, der eine IP-Adresse zugewiesen ist, wird als primäres Interface bezeichnet, eine Schnittstelle, der keine IP-Adresse zugeordnet wurde, als Standby Interface. Auf die Standby Interfaces wird seitens MC/ServiceGuard geschwenkt, sobald das primäre Netzwerk-Interface einen Fehler aufweist. Wird ein Fehler des primären Interfaces entdeckt, schwenkt MC/ServiceGuard die IP-Adresse mit sämtlichen aktuellen Verbindungen von der fehlerhaften Schnittstellenkarte auf eine fehlerfreie Standby-Schnittstellenkarte.
Redundante Ethernet-Konfiguration Abbildung 4.3 zeigt die Verwendung redundanter Netzwerk-Komponenten in einer Cluster-Umgebung, die über ein Ethernet-Netzwerk kommuniziert. Token Ring-Netzwerke werden auf ähnliche Weise konfiguriert. Abbildung 4.3: MetroCluster – Redundante Ethernet-Konfiguration
Subnet A
Subnet A S t a n d b y
P r i m a r y
L A N
D e d I z I e r t e r
H e a r t b e a t
H e a r t b e a t
H e a r t b e a t
u n d
L A N
u n d
D a t e n
L A N
D a t e n
Package 1 HP-Server ClusterKnoten A
F C H B A
F C H B A
FC-Switch Disk Group Package 1 F A
Local Storage
Package 2 HP-Server ClusterKnoten B
F C H B A
Disk Group Package 2 Array
F A
F C H B A
Subnet B
Beide Cluster-Knoten sind über die primäre (obere) LAN-Schnittstellenkarte an das primäre LAN angeschlossen. Über das primäre LAN werden sowohl Heartbeat- als auch Anwendungs-Informationen gesendet. Subnet B wird über eine eigene LAN-Schnittstellenkarte (mitte) angeschlossen. Auf Subnet B werden lediglich Heartbeat-Informationen versendet. Ein Standby LAN, wie auch das primäre LAN zu Subnet A gehörend, wird über Standby LAN-Schnittstellenkarten (unten) angeschlossen. Um eine absolute Hochverfügbarkeit zu erreichen, werden das primäre LAN und das Standby LAN über einen Hub miteinander verbunden (in Abbildung 4.3 nicht dargestellt). In diesem redundanten Daten/Heartbeat-Subnet (Subnet A) hat jeder Clus-
150
Hochverfügbare Cluster-Systeme
ter-Knoten seine eigene IP-Adresse. Kommt es zu einem Fehler der primären AN-Karte eines Knotens, so schwenkt MC/ServiceGuard auf die Standby LAN-Schnittstellenkarte desselben Knotens. Eine redundante Heartbeat-Kommunikation wird dadurch gewährleistet, dass neben einem dedizierten Heartbeat-LAN Heartbeat-Informationen auch über den primären LAN und den Standby LAN versandt werden. Im obigen Beispiel ist für das dedizierte Heartbeat-LAN kein lokales Switching notwendig, da über das jeweilige Subnet ein redundanter Heartbeat-Pfad existiert. Kommt es zu einer Heartbeat-Ungereimtheit auf dem primären LAN, so sorgt die Diagnose des ausgewählten Heartbeat-LANs dafür, dass es zu keiner fehlerhaften Übertragung kommen kann. Jeder Cluster-Knoten besitzt seine eigene IP-Adresse für den entsprechenden Heartbeat-LAN.
Redundante FDDI-Verbindungen FDDI ist ein glasfaser-basiertes Hochgeschwindigkeits-Verbindungs-Medium. Bei der Verwendung von FDDI können redundante Konfigurationen dadurch aufgebaut werden, dass in einer Stern-Topologie sämtliche ClusterKnoten zu jeweils zwei Concentrators verbunden werden. Diese sind wiederum an zwei Router angeschlossen, die mit den Client-Netzwerken außerhalb des Clusters kommunizieren. Bei dieser Konfiguration sind für jeden Knoten des Clusters zwei FDDI-Karten notwendig. Die Konzentratoren werden untereinander durch die Ports A und B mit Zweifachverkabelung über Kreuz verbunden. Die Router müssen so konfiguriert sein, dass sie an beide Konzentratoren Netzwerk-Packages schicken können.
C l i e n t N e t z w e r k e
Port B
Port A
Router
Concentrator
Port A
Port B
F Package C 1 H B A HP-Server ClusterKnoten A F C H B A
FC-Switch
Disk Group Package 1
Abbildung 4.4: MetroCluster FDDI-Konfiguration
F A
Local Storage
Port B
Port A
Router
Concentrator
Port A
Port B
F Package C 2 H B A HP-Server ClusterKnoten B F C H B A
Disk Group Package 2 Array
F A
151
4 SAN – Hardware-Komponenten
Fibre Channel-Switched-Konfigurationen Fibre Channel-Switched-Konfigurationen wurden bereits in sämtlichen hier gezeigten Beispielen vorausgesetzt. Bisher wurde jedoch die Hochverfügbarkeit dadurch bedingt untergraben, als in dem verwendeten Switch noch immer ein Single Point of Failure vorhanden war. Der Ausfall des kompletten Switches war trotz redundanter Switch-Komponenten innerhalb des Switches nicht abgedeckt. MC/ServiceGuard-Cluster von vier bis maximal acht Cluster-Knoten können Fibre Channel-Switches verwenden, um zwischen den Cluster-Knoten redundante Netzwerk-Pfade aufzubauen. Abbildung 4.5: MetroCluster SwitchedKonfiguration
Package 1 HP-Server ClusterKnoten A
Package 2 HP-Server ClusterKnoten B
Package 1 HP-Server ClusterKnoten A
Package 2 HP-Server ClusterKnoten B
FC HB A
FC-Switch Disk Group Package 1
FC HB A
F A
FC HB A FC HB A
FC HB A FC HB A
Local Storage Disk Group Package 2 Array
FC-Switch F A
FC HB A FC HB A
In einer solchen Topologie mit zwei Switches müssen sämtliche primären Pfade (Pfade vom oberen HBA eines jeden Servers) in den einen Switch gehen, sämtliche Standby-Pfade (Pfade vom unteren HBA eines jeden Servers) über den zweiten Switch laufen. Kommt es zu einem Fehler auf einer der Primärverbindungen, findet auf dem Host ein lokaler Schwenk auf den Standby-Host-Bus-Adapter statt und der Standby-Switch wird verwendet.
Verwendung serieller RS232 Heartbeat-Verbindungen MC/ServiceGuard unterstützt die Verwendung einer seriellen RS232-Verbindung für eine dedizierte Heartbeat-Kommunikation. Serielle HeartbeatVerbindungen werden dabei lediglich von Clustern unterstützt, die aus zwei Cluster-Knoten bestehen.
152
Hochverfügbare Cluster-Systeme
Subnet A
Subnet A
S t a n d b y
P r I m a r y
L A N
L A N
H e a r t b e a t
H e a r t b e a t
u n d
u n d
D a t e n
D a t e n Subnet B
Package 1 HP-Server ClusterKnoten A
F C H B A
F C H B A
FC-Switch Disk Group Package 1
Abbildung 4.6: MetroCluster – Dedizierte serielle Heartbeat-Leitung
F A
Local Storage
Package 2 HP-Server ClusterKnoten B
F C H B A
Disk Group Package 2 Array
F A
F C H B A
Dedizierte serielle Heartbeat-Leitung
Eine dedizierte serielle Heartbeat-Leitung wird als redundante Low-Cost Heartbeat-Schnittstelle ausgewählt. Bei der Konfiguration einer seriellen Heartbeat-Leitung sendet MC/ServiceGuard die Heartbeat-Informationen kontinuierlich sowohl auf den Standby-LAN für Heartbeat und Daten als auch auf die überwachte RS232-Leitung. Dies bedeutet jedoch auch, dass bei Wahl einer seriellen Heartbeat-Leitung zumindest ein weiteres LAN-Interface vorhanden sein muss, um die Heartbeat-Informationen zu transportieren. Die serielle Leitung dient lediglich dazu, vor einem verzögerten Transport der Heartbeat-Informationen bei Netzüberlastung zu schützen. Sie verhindert jedoch keinen Verlust des Netzwerks und kann auf Netzwerkfehler nicht reagieren, da MC/ServiceGuard zwingend TCP/IP zur Kommunikation zwischen den Cluster-Knoten benötigt. Wenn die primäre und sekundäre Netzwerkkarte auf einem einzigen Cluster-Knoten ausfallen, sorgt die serielle Heartbeat-Leitung dafür, dass der Netzwerkstatus der beiden defekten Karten geprüft werden kann und der komplette Knoten mit dem Fehler der »Bad Network Connections« auf den zweiten Knoten geschwenkt wird. Auf diesem werden dann sämtliche in Produktion befindlichen Packages betrieben.
4.1.1.3
Redundanter Plattenspeicher
Jeder Knoten eines Clusters besitzt seine eigene Root-Platte. Darüber hinaus ist er jedoch physikalisch an diverse andere Magnetplatten so angeschlossen, dass mehr als ein Knoten auf die Daten und Programme zugreifen kann, die zu den Packages zusammengefasst wurden, die der Knoten betreiben soll und kann. Dieser Zugriff wird bei MC/ServiceGuard durch den HP/UX-LVM
153
4 SAN – Hardware-Komponenten
(Logical Volume-Manager) gewährleistet.1 Eine Gruppe von MagnetplattenVolumes, die zu einem Package gehören, können zu einem gegebenen Zeitpunkt lediglich von einem Cluster-Knoten aktiv betrieben werden (Magnetplatten-Volumes sind Read/Write Enabled für diesen Cluster-Knoten). Sobald jedoch bei einem vom Cluster bemerkten Fehler das Package auf einen Standby-Cluster-Knoten geschwenkt wird, kann diese VolumeGruppe von diesem Adoptive Node aktiviert werden. Sämtliche Magnetplatten einer Volume-Gruppe, die zu einem dedizierten Package gehören, müssen daher sowohl mit ihrem Primären Knoten als auch mit sämtlichen Adoptive Nodes dieses Packages verbunden sein. Die Hochverfügbarkeit der Magnetplatten wird durch RAID-Technologien oder durch SoftwareMirroring gewährleistet.
Disk-Interface-Karten Magnetplatten-Interface-Karten sind die Hardwarebestandteile, die in den bisherigen Kapiteln als Host-Bus-Adapter (HBA) referenziert wurden. MC/ ServiceGuard unterstützt folgende Anschlussmöglichkeiten und Disk-Interface-Karten für Platten, die an einen oder mehrere Knoten (Shared Data Disks) angeschlossen werden: 왘 Single-ended SCSI 왘 Fast/Wide SCSI 왘 Fibre Channel
Es werden seitens MC/ServiceGuard nicht sämtliche auf dem Markt verfügbare SCSI-Platten unterstützt. Ebenfalls nicht alle verfügbaren Disk-Interface-Karten werden unterstützt. Für die Überprüfung der unterstützten Konfigurationen vgl. die jeweils aktuelle Dokumentation von Hewlett-Packard zu HP 9000 Servers Configuration. Externe Shared Fast/Wide SCSI-Busse müssen mit in-line-Terminatoren für Platten auf einem Shared Bus ausgestattet sein. Bei Planung und Zuweisung der SCSI-Bus-Prioritäten muss berücksichtigt werden, dass ein Host einen Bus, der von mehreren Knoten geteilt wird, abhängig von der SCSI-Adresse dominieren kann, die die Disk-InterfaceKarte eines jeden Knotens auf dem Shared Bus zugewiesen bekommen hat. Sämtliche SCSI-Adressen inklusive sämtlicher Adressen aller Interface Karten müssen eindeutig für alle Devices auf dem Shared Bus sein.
1.
154
Abhängig vom Betriebssystem eines Cluster-Knoten werden unterschiedliche VolumeManager für diese Funktionalität eingesetzt. HP/UX verwendet den LVM, Tru64-Unix und AIX einen vergleichbaren, unter Solaris sowie bei den beiden davor genannten wird jedoch auch sehr häufig der Veritas Volume-Manager VxVM verwendet. Vgl. hierzu das Kapitel über SAN-Softwarekomponenten weiter unten.
Hochverfügbare Cluster-Systeme
Daten-Absicherung Für die Gewährleistung der Hochverfügbarkeit des kompletten MetroClusters müssen auch die Magnetplatten vor Ausfall abgesichert werden. Dazu unterstützt MC/ServiceGuard mit 왘 Plattenspiegelung (Disk Mirroring) und 왘 Disk Arrays mit RAID-Level und PV-Link-Unterstützung
zwei Verfahren, die die Daten auf Magnetplatten absichern.
Plattenspiegelung Die Plattenspiegelung für die Volumes, die für MC/ServiceGuard-Packages verwendet werden, ist die beste Form der Absicherung der PackageInformationen. Dabei bietet MC/ServiceGuard selbst keine Möglichkeit, die Daten auf den Magnetplatten zu schützen. Diese Funktion übernimmt mit MirrorDisk/UX von HP ein Softwareprodukt, das in enger Abstimmung mit dem LVM arbeitet. Bei der Konfiguration der logischen Volumes mithilfe von MirrorDisk/UX wird seitens MirrorDisk/UX gewährleistet, dass sämtliche Magnetplatten eines gespiegelten Platten-Sets die exakt identischen Daten enthalten. Fällt eine Magnetplatte aus, hält MirrorDisk/UX automatisch die Daten über den zweiten Spiegel verfügbar. Eine Spiegelung auf eine dritte Magnetplatte kann für Online-Datensicherungen oder für ein noch höheres Level an Hochverfügbarkeit verwendet werden. Um sich gegen Ausfälle des SCSI-Busses zu schützen, muss jede Platte über zwei SCSI-Busse verfügbar sein. Dies kann dadurch erreicht werden, dass z.B. das Original der Platte an einem anderen SCSI-Bus angeschlossen wird als sein Spiegel. Während es zwar sinnvoll ist, jedoch in einer Cluster-Umgebung nicht unbedingt notwendig, die Root-Disk eines Cluster-Knotens zu spiegeln, ist es absolut unerlässlich, die Daten- und Programm-Platten eines Packages zu spiegeln. Kommt es zu einem Fehler der Root-Disk einer SPU des Clusters, so übernimmt automatisch die zweite SPU die Kontrolle über sämtliche Applikationen der ersten. Ist jedoch eine ungespiegelte Datenplatte von einem Fehler betroffen, so ist jede von den Daten dieser Platte abhängige Applikation solange nicht verfügbar, bis das Problem mit dieser Platte beseitigt wurde. Selbst dann ist nicht unbedingt sichergestellt, dass die Daten auf dieser Magnetplatte bis zum Zeitpunkt des Fehlers wiederhergestellt werden können.
Disk Arrays mit RAID-Levels und PV-Links Eine alternative Methode zur Gewährleistung der Platten-Protection ist der Einsatz von Storage Arrays mit RAID-Level und PV-Link-Unterstützung. Dabei bieten die Storage Arrays mit RAID 1 (Disk Mirroring) und RAID 5 (Disk Striping mit Parity) zwei Verfahren zur (redundanten) Absicherung der Magnetplatten (vgl. Abschnitt 4.3. Hochverfügbare Speichersysteme).
155
4 SAN – Hardware-Komponenten
Diese Storage Array-interne Absicherung der Magnetplatten muss kombiniert werden mit zwei Pfaden vom Cluster-Knoten zum Storage Array, es müssen also seitens des Cluster-Knotens zwei Disk-Interface-Karten auf die Magnetplatten des Storage Arrays zugreifen können. Weiter müssen diese über zwei Systemadapter des Storage Arrays sichtbar sein, sodass weder auf Cluster-Knoten-, noch auf Storage Array-Seite ein Single-point-of-Failure existiert. Die softwareseitige Unterstützung alternativer Links zwischen Cluster-Knoten und Storage Array und damit die Ausnutzung der Redundanz von Disk-Interface-Karten und Systemadaptern wird durch das PV-Links-Feature des Logical Volume-Managers übernommen.
Monitoring von Magnetplatten durch ein Event Monitoring-System Der Zustand der abgesicherten Platten innerhalb des Clusters kann auch durch ein Event Monitoring-System oder System-Administrations-System überwacht werden. Dies kann z.B. der EMS HA-Monitor (HP), Patrol (BMC), Maestro (IBM ), ECC (EMC2) oder Tivoli (IBM) sein. Der Monitor kann einen Plattenfehler oder ein Package-Failover zu einer Zielapplikation wie z.B. ClusterView (HP) oder den oben genannten System-Administrations-Systemen melden. Diese übernehmen dann die Steuerung automatisierter Reaktions-Prozesse auf den jeweiligen Fehler. Abbildung 4.7: MetroCluster – Gespiegelte Platten
Package 1 HP-Server ClusterKnoten A
SC SI H B A
SC SI H B A
Root Disk
Mirror Disk Group Package 2
S A
Disk Group Package 1
Mirror Root Disk
Local Storage
Package 2 HP-Server ClusterKnoten B
SC SI H B A
SC SI H B A
156
Array
Disk Group Package 2
Root Disk
S A
Mirror Root Disk
Mirror Disk Group Package 1
Hochverfügbare Cluster-Systeme
Abbildung 4.8 zeigt eine hochverfügbare MC/Service-Guard Storage ArrayKonfiguration mit zwei Cluster-Knoten. Jeder Knoten besitzt eine gespiegelte Root-Disk und ein Package, für das er den Primär-Knoten darstellt. Die Ressourcen sind auf die beiden Knoten so verteilt, dass jeder den Adoptive Node für das Package des jeweils anderen Knoten darstellt. Jedem Package ist eine Disk Group assoziiert. Die Volumes dieser Disk Group sind im Storage Array gespiegelt. Dabei ist darauf zu achten, dass die Spiegel-Volumes einer Disk Group stets auf dem jeweils anderen Interface als ihre Original-Volumes konfiguriert sind. Diese Konfiguration eliminiert Single Points of Failure und gewährleistet, dass bei einem Bus-Fehler entweder das Original-Volume oder das Spiegel-Volume verfügbar ist.
ESCON
S CS I
FIBRE
FIBRE
Abbildung 4.8: Architektur eines hochverfügbaren Storage Arrays
Top-High Top-Low Bottom-High
Ca c h e Bottom-Low
DD
DD
DD
DD
Root-Disk-Begrenzungen auf Shared Bussen Die IODC-Firmware von Hewlett-Packard unterstützt nicht, dass zwei oder mehr Knoten eines Clusters zum gleichen Zeitpunkt von ein und demselben SCSI-Bus booten. Daher ist es absolut notwendig, dass nicht mehr als eine Root-Disk eines Clusters an einem einzigen SCSI-Bus konfiguriert wird. Dies wird im obigen Beispiel gewährleistet. Jede Root-Disk hängt an einem eigenständigen SCSI-Controller und an einem SCSI-Bus. Ein Spiegel der Root-Disk eines Cluster-Knotens kann auf demselben SCSIBus konfiguriert werden wie die originale Root-Disk eines anderen ClusterKnotens. Um in einem solchen Falle die Verfügbarkeit des Gesamtsystems zu verhindern, müssten gleichzeitig drei Fehler auf den beteiligten Primär-
157
4 SAN – Hardware-Komponenten
und Adoptive-Knoten eintreten. Knoten B müsste seine originale Root-Disk verlieren und von seinem Spiegel gerade booten, während Knoten A gerade während des Boot-Vorgangs von Knoten B ebenfalls von seiner originalen Root-Disk rebooten müsste. Das scheint ein tragbares Risiko zu sein. In Abbildung 4.8 ist jedoch auch dieses Risiko ausgeschlossen, da die MirrorRoot-Disks auf anderen SCSI-Bussen liegen als sämtliche Original-RootDisks. Eine Platte innerhalb eines Storage Arrays kann nicht als Root-Disk verwendet werden, wenn das Storage Array an einem Shared Bus angeschlossen ist. Für solche Funktionalitäten sollte das Storage Array stets allein an einem Host-Bus-Adapter angeschlossen werden.
4.1.1.4
Größere Cluster
MC/ServiceGuard unterstützt Cluster von bis zu 16 Knoten. Ein Cluster aus 16 Cluster-Knoten erfordert, dass die SPUs über Ethernet miteinander verbunden sind. Verbindungen der Cluster-Knoten über FDDI oder Fibre Channel reduzieren die maximale Anzahl der von MC/ServiceGuard unterstützten Cluster-Knoten auf acht. Bei einer Cluster-Konfiguration von 16 Cluster-Knoten können nicht sämtliche Cluster-Funktionalitäten auf die Weise angeboten werden, wie sie in den obigen Abschnitten erläutert wurden. So können z.B. bei Shared Fast/Wide SCSI-Bussen lediglich vier Cluster-Knoten an den gleichen Shared SCSI-Bus angeschlossen werden (4-Port SCSI Limit). Dieses Limit ist ebenfalls durch die sinnvolle Auslastung des einzelnen SCSI-Busses und durch die Limitierung der Kabellänge auf wenige Meter gegeben. Dennoch können auch in einer solchen-Umgebung bis zu 16 Knoten als administrative Einheit konfiguriert werden. Untergruppierungen von vier Knoten können dann an unterschiedliche SCSI-Busse angeschlossen werden, die Direct Attached zu ihren jeweils unterschiedlichen Massenspeichergeräten über Fast/Wide SCSI verbunden sind. Beim direkten Anschluss von Storage Arrays über F/W SCSI (Fast/Wide SCSI) existiert dieses Limit auf vier Knoten nicht, da es sich hierbei nicht um Shared Busse handelt. Jeder Host (Cluster-Knoten) kann über einen Port eines SCSI-Systemadapters des Storage Arrays angeschlossen werden. Hier ist die Grenze eher theoretischer Art und wird durch die maximale Anzahl der seitens des Storage Arrays unterstützten 4-Port SCSI-Systemadapter gebildet. Jeder Cluster-Knoten kann bei MC/ServiceGuard über zwei F/W SCSI-Busse Direct Attached an das Storage Array angeschlossen werden. Über PV-Links werden diese beiden Busse für Kanal-Failover verwendet, bieten also die Multipathing-Fähigkeit für Hochverfügbarkeit an. In einer solchen – Storage Array getriebenen – Cluster-Umgebung können Packages für das Failover über sämtliche 16 Cluster-Knoten konfiguriert und betrieben werden. Ebenfalls könnte die Begrenzung auf maximal acht unterstützte ClusterKnoten für Fibre Channel-SAN-Konfigurationen überdacht werden. Auch hier wäre in einer SAN-Konfiguration einer FC-SW-Umgebung die Anzahl
158
Hochverfügbare Cluster-Systeme
der Hosts innerhalb eines Clusters und die Anzahl der Verbindungen an Storage Arrays lediglich limitiert durch die Anzahl der Ports der eingesetzten Fabric und der Ports an Fibre Channel-Systemadaptern der im SAN beteiligten Storage Arrays. Dennoch – MC/ServiceGuard behält die Limitierung auf acht Cluster-Knoten bei. Bei Betrachtung der Leitungskapazitäten der dann eingesetzten Fibre Channel-Host-Bus-Adapter, Switches und Fibre ChannelSystemadapter in den Storage Arrays erscheint diese Einschränkung eher durch die Leistungsgrenzen der I/O-Prozessoren der Hostsysteme sinnvoll als durch die Möglichkeiten des SAN.
Das Active/Standby-Modell Unter MC/ServiceGuard können Cluster auch so konfiguriert werden, dass quasi ein Cluster-Knoten der Adoptive Knoten sämtlicher anderer Knoten ist. Diese anderen Knoten sind die Primären Knoten der jeweiligen Packages. Der Standby- oder Backup-Knoten ist mit einer entsprechenden Anzahl von Shared Bussen ausgestattet, die es ermöglichen, diesen Knoten mit sämtlichen Storage Devices der Primären Knoten zu verbinden. Fällt einer der Knoten aus, so kann problemlos auf den Backup-Knoten geschwenkt werden. Eine solche Konfiguration kann eindeutig einen singulären Fehler einer Cluster-Komponente ausgleichen und damit ein Hochverfügbarkeits-Szenario implementieren. Der Nachteil des Active/Standby-Modells liegt jedoch auf der Hand – es kann keine Doppelfehler abfangen, bei denen ein Fehler den Backup-Knoten selbst betrifft. Fällt gleichzeitig der SCSI-Kanal eines Cluster-Knotens sowie der entsprechende Kanal des Backup-Knotens aus, so ist ein Package-Switching nicht mehr möglich. Die Möglichkeit von MC/ServiceGuard, innerhalb eines Clusters mehrere Knoten als Adoptive Knoten eines Packages zu definieren, bietet daher ein größeres Maß an Ausfallsicherheit als die Konfiguration eines dedizierten Standby- oder Backup-Knotens.
Point-to-Point-Verbindungen zu Speichergeräten Point-to-Point-Verbindungen zu Storage Devices für eine große Anzahl von Hosts ohne Verwendung eines Shared SCSI-Busses, z.B. für einen 8-Knoten MC/ServiceGuard-Cluster, werden durch die Anzahl der verfügbaren Ports des Storage Devices – in der Regel ein Storage Array – definiert. So können z.B. leistungsfähige Storage Arrays bis zu 14 Systemadapter für den HostAnschluss verfügbar machen. Je nach Adapter-Anschluss-Technologie (vgl. Kapitel 2), können z.B. je Systemadapter zwei Ports (Fibre Channel-Systemadapter) oder vier Ports (F/W SCSI-Systemadapter) für den direkten Anschluss des Storage Arrays an unterschiedliche Knoten verfügbar gemacht werden. In einer hochverfügbaren Cluster-Umgebung könnten somit bei Verwendung der Fibre Channel-Technologie 14 Cluster-Knoten mit jeweils zwei Pfaden Direct Attached an das Storage Array angeschlossen werden. Jeder der 28 verfügbaren Kanäle wäre ein dedizierter Bus, es existierte kein Daisy-Chaining, die komplette Bandbreite eines jeden Busses könnte ausgenutzt werden.
159
4 SAN – Hardware-Komponenten
Ob eine solche Point-to-Point-Verbindung der Storage Devices jedoch einer aktiven SAN-Umgebung vorzuziehen wäre, mag der Leser entscheiden. Die Storage Arrays – dies machen jedoch die letzten Unterkapitel immer deutlicher – sind die tragenden Bausteine für hochverfügbare ClusterUmgebungen.
4.1.2
Sun Enterprise Cluster-HA
Dieser Abschnitt soll vertiefen, dass die Cluster-Technologie zur Gewährleistung der Hochverfügbarkeit von Anwendungen und Geschäftsfunktionen auch bei dem zweiten führenden Hersteller von OpenSystems-Hochleistungs-Serversystemen als evident erkannt und implementiert wurde. Sun bietet mit seiner Produktfamilie der Sun Enterprise Cluster-HA Clusterkonfigurationen für Cluster mit zwei Knoten an, bei denen der eine Knoten der Failover-Knoten eines Produktivknotens ist. Dabei besteht die Sun Enterprise Cluster-HA aus folgenden Komponenten: Sun Enterprise Cluster-HA 1.3 왘 Jeweils zwei cluster-fähige Knoten 왘 HA Cluster Foundation Package 왘 1 Basis-Softwarepaket inklusive HA-NFS 왘 ein optionales Daten-Service-Modul sowie 왘 ein SunService HA Support-Paket
Solstice HA Software 왘 Cluster-Management-Software 왘 Fehler-Erkennung und Recovery-Software 왘 Sun HA-Basis-Software 왘 HA-NFS
Daten-Service-Module 왘 Informix Online 왘 Oracle 왘 Sybase Adaptive Server Enterprise 왘 Internet Services
SunService HA-Support-Paket 왘 Installation und Beratung 왘 Training 왘 Gewährleistung
160
Hochverfügbare Speichersysteme
Die Aufzählung der Basiskomponenten im Gegensatz zur ausführlichen Darstellung der MetroCluster ServiceGuard-Architektur seitens HewlettPackard mag den Eindruck erwecken, der Autor will die HA-Cluster-Produkte des einen Herstellers denen des anderen Herstellers vorziehen. Dieser Eindruck trügt. Dennoch wird auch seitens der selbst durch Sun stark reduzierten Marketing-Unterstützung der eigenen HA-Produkte deutlich, dass Sun hier anscheinend ein größeres Merkmal auf die Leistungsfähigkeit der Server-Systeme gelegt hat als auf deren Cluster-Integration. Dies verhindert jedoch nicht, dass Sun-Systeme auch zu größeren Clustern mit vergleichbarer Leistungsfähigkeit zur MC/ServiceGuard-Architektur zusammengefasst werden. Das geschieht jedoch in der Praxis weniger durch Nutzung der Sun Enterprise Cluster-HA, sondern durch Verwendung der Sun Server-Systeme als Cluster-Knoten vor allem in Veritas Cluster-ServerCluster-Umgebungen. Diese wiederum bestehen aus den redundant und hochverfügbar konfigurierten Standard-Komponenten von z.B. Sun Enterprise-Systemen und den entsprechenden Veritas-Softwareprodukten (Veritas Cluster-Server VCS und Veritas Volume-Manager VxVM), die im Abschnitt der SAN-Softwarekomponenten einen ebenso großen Raum einnehmen werden wie MC/ServiceGuard als Beispiel für Cluster-Software. Im Folgenden soll jetzt die Server-Seite in Richtung der Storage Seite verlassen werden.
4.2
Hochverfügbare Speichersysteme
Hochverfügbare Speichersysteme sind die Basisbausteine von Storage Area Networks und Network Attached Storage. Sie zeichnen sich dadurch aus, dass sämtliche Systemkomponenten redundant und ausfallsicher zusammengestellt sind. In aller Regel können solche Speichersysteme von ihrem jeweiligen Hersteller gar nicht mit einem potentiellen Single Point of Failure erworben werden, Konfigurationen ohne Komponentenredundanz werden von den entsprechenden Hardwarearchitekten der Hersteller abgelehnt. Diese Speichersysteme unterstützen eine Vielzahl von Anschluss-Technologien. Werden die Server über Fibre Channel an die Speichersysteme angeschlossen, so können diese zu hochverfügbaren Storage Area Networks zusammengeschlossen werden. Werden die Storage-Systeme über Netzwerk-Protokolle welcher Art auch immer von den Servern erreicht, so kann über sie ein hochverfügbares Netzwerk von Network Attached Storage aufgebaut werden. Dieser Abschnitt des Buches stellt die Hardware-Komponenten solcher hochverfügbaren Speichersysteme vor.
161
4 SAN – Hardware-Komponenten
4.2.1
Basisbausteine
Ein hochverfügbares Speichersystem besteht in der Regel aus einem FrontEnd-System, über das die Verbindung zwischen Speichersystem (Storage Array) und Server hergestellt wird. Die physikalischen Magnetplatten werden von den Disk Directoren (Magnetplatten-Controllern) des Back-End-Systems des Storage Arrays verwaltet und kontrolliert