Fibre Channel
{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) ist eine Standardschnittstelle aus dem Bereich der Speichernetzwerke. Die Abkürzung des zugehörigen Protokolls ist FC-P.
Überblick
{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) ist für serielle, kontinuierliche Hochgeschwindigkeitsübertragung großer Datenmengen konzipiert worden.
Viele {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) basieren heute auf der Implementierung des {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)-Standards. Die erreichten Datenübertragungsraten liegen heute bei 4, 8, 16 und 32 Gbit/s, was im Vollduplex-Betrieb für Datentransferraten von bis zu 3,2 GB/s ausreicht. Es sind jedoch auch geringere Datenübertragungsraten möglich. So war bis vor wenigen Jahren noch 1 Gb/s (1GFC) die maximale Datenübertragungsrate im Fibre Channel. Als Übertragungsmedium findet man Kupferkabel (hauptsächlich innerhalb von {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)-Systemen; überbrückt bis zu 30 m) und Glasfaserkabel (meist zur Verbindung der {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)-Systeme untereinander; überbrückt bis zu 10 km). Fibre Channel wurde zur Ablösung des alten SCSI-Busses entwickelt. Die Hauptanwendung von Fibre Channel ist der Transport von SCSI-Kommandos, -Daten und -Status. Es gibt aber viele weitere sogenannte Upper-Layer-Protokolle, wie z. B. SNMP, IP oder Virtualinterface.
Ähnlich wie bei klassischen Netzwerken, bei denen jede Netzwerkkarte eine MAC-Adresse hat, hat bei {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) jedes Gerät einen WWNN ({{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)) sowie jeder Port pro Gerät einen WWPN ({{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)). Es handelt sich dabei um einen 64-Bit-Wert (meist hexadezimal dargestellt), der jedes {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)-Gerät eindeutig identifiziert. {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)-Geräte können über mehr als nur einen Port verfügen, in diesem Fall hat das Gerät weiterhin nur eine WWNN, aber es besitzt WWPNs in der gleichen Anzahl wie es Ports besitzt. Die WWNN und die WWPN sind sich in der Regel sehr ähnlich.
Die Erweiterungskarten, die es den Servern ermöglichen, über {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) zu kommunizieren, werden als Host-Bus-Adapter (kurz: HBA) bezeichnet. Typische HBAs benötigen einen PCI-Express-Steckplatz, ältere HBAs hatten einen PCI-X-Steckplatz mit 64-Bit-Busbreite und mindestens 100-MHz-Taktrate.
Der {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) (tatsächlich übertragbare Daten) eines FC-Frames beträgt bis zu 2112 Bytes, der Protokoll-Overhead liegt bei lediglich 36 Bytes (vergl. iSCSI, TCP/IP ohne Jumbo Frames: 1460 Bytes/78 Bytes; mit Jumbo Frames 8960 Bytes/78 Bytes). Er dient zur Adressierung und Integritätsprüfung der Daten und besteht aus:
- {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value), 4 Byte: kennzeichnet den Anfang des Datenblocks
- {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value), 24 Byte: beinhaltet Metadaten zum Block
- CRC, 4 Byte: Prüfsumme zu Prüfung der Datenintegrität
- {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value), 4 Byte: kennzeichnet das Ende des Datenblocks
Topologien
Es können generell drei Arten von {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)-Topologien unterschieden werden:
- {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) (FC-P2P),
- die einfachste Implementierung, in der zwei Ports direkt miteinander verbunden werden und somit auch nur diese beiden miteinander kommunizieren können.
- {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) (FC-AL),
- in der bis zu 127 Ports in einem Ring (oder einer Schleife) miteinander verbunden werden. Das Hinzufügen oder Entfernen eines Ports bedeutet die Unterbrechung des gesamten Rings und es kann auch immer nur ein Port-Paar gleichzeitig miteinander kommunizieren. Selbst wenn ein solcher Ring nur aus zwei Ports bestünde, wären die Unterschiede im Protokoll deutlich im Vergleich zu einer FC-P2P Implementierung. Diese Topologie ist am ehesten mit einem Token Ring Netzwerk vergleichbar. FC-AL wird auch als {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) bezeichnet, es bildet häufig den Einstieg in die Welt der {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value). Häufig findet man FC-AL-Implementierungen bei kleineren Clustern, in denen es mehreren physischen Nodes möglich ist, auf einen gemeinsamen Massenspeicher direkt zuzugreifen. Hier hat SCSI seine Grenze erreicht, weshalb man die Eigenschaft des {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) nutzt, die es erlaubt, mehrere Hosts mit mehreren Speichersubsystemen zu verbinden. Dabei teilen sich alle Geräte die verfügbare Datenübertragungsrate (je nach eingesetzter Technik 133 Mbit/s bis 4 Gbit/s) des einen, verfügbaren Bus. Das Hintereinanderschalten der Geräte nennt man auch {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value). Ist ein {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) mit im Spiel, erfolgt die Verkabelung zumeist sternförmig, wenngleich der Hub auch hier noch immer eine Ring-Topologie herstellt, in der allerdings ein ausgefallener Port nicht mehr den gesamten Ring stilllegt ({{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)). In einer FC-AL melden sich die N_Ports über den {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) (PLOGI) an.
- {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) (FC-SW),
- bei der bis zu 224 Ports über {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) miteinander kommunizieren können, ganz ähnlich einer modernen Ethernet-Infrastruktur. Zudem können hier viele Port-Paare gleichzeitig miteinander kommunizieren. Bei der {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) handelt es sich um die leistungsfähigste und ausfallsicherste Implementierung von {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value). In den meisten Fällen ist {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) gemeint, wenn nur von {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) gesprochen wird. Im Zentrum der {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) steht der {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) oder der {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value). Über dieses Gerät werden alle anderen Geräte miteinander verbunden, so dass es über den {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) möglich wird, direkte Punkt-zu-Punkt-Verbindungen zwischen je zwei beliebigen angeschlossenen Geräten zu schalten. Um die Datenübertragungsrate weiter zu steigern, ist es möglich, mehrere HBAs in einen Server einzubauen. Nachdem sich jeder N_Port eines HBA des Servers mit einem {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) (FLOGI), der seine WWPN und WWNN enthält, am Switch angemeldet hat, registriert der Switch den Host im lokalen {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) mit der WWPN/WWNN und einer eindeutigen Adresse bestehend aus DomainID (eindeutige Adresse des Switches in der {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) (siehe unten)), dem Port auf dem Server, gefolgt von 00 für {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value). Diese 6-Byte-Adresse wird für die Adressierung des Ports in der {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) benutzt. Außerdem können bei Verwendung mehrerer Switches diese untereinander kombiniert werden ({{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)). Die Switches erkennen dann untereinander die Topologie und nutzen diese intelligent. So wird stets der am geringsten belastete Weg genutzt (FSPF – {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)). Wenn der Server über mehr als einen HBA verfügt und jeder HBA auf einem anderen Switch gesteckt ist, kann der Server somit ein Speichersubsystem auf mehreren Wegen erreichen. Diese Fähigkeit im {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) wird als {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) bezeichnet. Sie erhöht die Ausfallsicherheit und die Leistung des {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) (SAN), da zwischen verschiedenen Geräten mehr als ein möglicher Datenweg besteht. Um die Ausfallsicherheit weiter zu steigern, ist man in vielen {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)-Implementierungen dazu übergegangen, mit redundanter dualer {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) zu arbeiten. Es werden also zwei vollkommen unabhängige {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) betrieben, jedes Speichersubsystem und jeder Server ist mit mindestens einem HBA an jede der beiden {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) angeschlossen. Das Gesamtsystem kann neben dem Ausfall einzelner Datenwege sogar den Ausfall einer ganzen {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) verkraften, da es keinen {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) mehr gibt. Diese Fähigkeit spielt besonders im Bereich der Hochverfügbarkeit eine wichtige Rolle.
Schichten
Der Fibre-Channel-Protokoll-Stack ist, wie auch das OSI- und TCP/IP-Modell, in Schichten unterteilt. Anders als bei diesen beiden, gibt es hier fünf Schichten (Layer), die sich im Vergleich wie folgt abbilden lassen:
| OSI | TCP/IP | Fibre Channel |
|---|---|---|
| Anwendungen | FTP, Telnet, SMTP, NFS, SMB, … | FC-4 (Protocol Mapping Layer): SCSI, IP, FICON, … |
| Darstellung | ||
| Sitzung | FC-3 (Common Services Layer): RAID, Verschlüsselung, … FC-2 (Network Layer): FC Core | |
| Transport | TCP, UDP, RSVP, … | |
| Vermittlung | IP, ICMP, IGMP, … | (kein Äquivalent zur Vermittlungsschicht) |
| Sicherung | Ethernet, FDDI, Token Ring, … | FC-3 (Common Services Layer): RAID, Verschlüsselung, … FC-2 (Network Layer): FC Core |
| Bitübertragung | FC-1 (Data Link Layer): Line Coding FC-0 (Physical): Kabel, Stecker, … |
- FC-4 – Im Protocol Mapping Layer werden Anwendungsprotokolle, wie z. B. SCSI oder IP in eine Protocol Data Unit verpackt, damit diese über den FC-2 Layer zugestellt werden kann.
- FC-3 – Im Common Services Layer können erweiterte Funktionen wie beispielsweise RAID-Absicherung oder Verschlüsselung implementiert werden.
- FC-2 – Der Network Layer. Definiert im FC-PI-2 Standard, stellt er den eigentlichen Kern des FC-Protokolls dar.
- FC-1 – Im Data Link Layer ist die Umsetzung der Daten in Leitungssignale implementiert.
- FC-0 – Der Physical Layer, der die Verkabelung, Stecker und Steckertypen usw. definiert.
Die Schichten FC-0, FC-1 und FC-2 können unter der Bezeichnung FC-PH als die physischen Schichten des Fibre Channels zusammengefasst werden.
Fibre-Channel-Router arbeiten bis hoch zur FC-4 Schicht (d. h., sie können z. B. als SCSI-Router fungieren), Switche bis FC-2 und Hubs nur auf Schicht FC-0.
Fibre-Channel-Produkte gibt und gab es in den Geschwindigkeitsausprägungen 1, 2, 4, 8, 10, 16 und 20 Gbit/s. Der 16-Gbit/s-Standard wurde 2010 durch das INCITS-T11-Komitee freigegeben. FC-Produkte sind nur zwei Generationen abwärtskompatibel, d. h., ein 4 Gbit/s HBA beherrscht auch 2 und 1 Gbit/s, während jedoch ein 8 Gbit/s Adapter eine 1 Gbit/s FC-Infrastruktur nicht mehr unterstützt. Die 10 und 20 Gbit/s Standards sind Sonderfälle. Sie sind zu keinem anderen FC-Standard abwärtskompatibel und werden praktisch ausschließlich zur Inter-Switch-Link Kommunikation verwendet.
Port-Typen im {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)
| Kürzel | Typ | Beschreibung |
|---|---|---|
| U_Port | {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) | Startstatus |
| FL_Port | {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) | ist mit einer Loop verbunden |
| G_Port | {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) | Vorstufe zu E- oder F-Port |
| F_Port | {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) | ist mit einem N_Port verbunden |
| E_Port | {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) | Verbindung zu anderem SAN-Switch |
| N_Port | {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) | Gerät ist direkt am {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) (FC-SW) angeschlossen |
| NL_Port | {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) | Gerät ist an einer {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) (FC-AL) angeschlossen |
Kabellängen
| Verkabelung | max. Kabellänge bei Datenrate in Gbit/s | |||||||
|---|---|---|---|---|---|---|---|---|
| 1 | 2 | 4 | 8 | 16 | 32 | 64 | ||
| Kupfer | DE9 | 25 m | ||||||
| twisted pair | 50 m | |||||||
| Multi- Mode- Licht- wellen- leiter- |
OM1 62,5/125 µm | 300 m | 150 m | 70 m | 21 m | 15 m | ||
| OM2 50/125 µm | 500 m | 300 m | 150 m | 50 m | 35 m | |||
| OM3 50/125 µm | 860 m | 500 m | 270 m | 150 m | 100 m | 70 m | 70 m | |
| OM4 50/125 µm | 400 m | 190 m | 125 m | 100 m | 100 m | |||
| OM5 50/125 µm | 100 m | |||||||
Die Angabe OM1...3 bezieht sich dabei auf die Einstufung der Glasfaser. Mit 50/125 µm bei der Verkabelung von z. B. 1 Gbit/s OM2-LWL-Kabeln ist erst der Durchmesser der Seele, dann der des Mantels gemeint. Vergleiche hierzu Faserkategorien und Einsatzgebiete und dessen Unterpunkt für Kategorien von Multi-Mode-Fasern.
Glasfaservarianten
| Medientyp | Datenrate | Transmitter | Variante | Entfernung |
|---|---|---|---|---|
| Single-Mode- Faser |
400 MB/s | 1300 nm Langwellenlaser | 400-SM-LL-I | 2 ...2.000 m |
| 200 MB/s | 1550 nm Langwellenlaser | 200-SM-LL-V | 2 ...50.000 m | |
| 1300 nm Langwellenlaser | 200-SM-LL-I | 2 ...2.000 m | ||
| 100 MB/s | 1550 nm Langwellenlaser | 100-SM-LL-V | 2 ...>50.000 m | |
| 1300 nm Langwellenlaser | 100-SM-LL-L | 2 ...10.000 m | ||
| 1300 nm Langwellenlaser | 100-SM-LL-I | 2 ...2.000 m | ||
| Multi-Mode- Faser (50 µm) |
400 MB/s | 850 nm Kurzwellenlaser | 400-M5/6-SN-I | 0,5 ...150 m |
| 200 MB/s | 200-M5/6-SN-I | 0,5 ...300 m | ||
| 100 MB/s | 100-M5/6-SN-I | 0,5 ...500 m | ||
| 100-M6-SL-I | 2 ...175 m |
Ähnliche Standards
- ATA over Ethernet: Bei ATA over Ethernet (ATAoE) werden ATA/ATAPI-Pakete in Ethernet gekapselt. Ähnlich zu FC ist ATAoE nicht in TCP/IP gekapselt, ATAoE ist daher ebenfalls nicht routingfähig.
- iSCSI (SCSI over IP): Bei iSCSI werden SCSI-Pakete in TCP/IP gekapselt. Hieraus resultiert ein höherer Overhead, dafür ist iSCSI aber routingfähig und kann, wie Fibre Channel over IP, auch in Weitverkehrsnetzen eingesetzt werden.
- HyperSCSI Bei HyperSCSI werden SCSI-Pakete in Ethernet gekapselt. Im Unterschied zu iSCSI erfolgt aber keine Kapselung in TCP/IP, hieraus resultieren geringe Performancevorteile, HyperSCSI ist aber nicht routingfähig.
Siehe auch
- Fibre Channel over IP
- Internet Protocol over Fibre Channel
- Fibre Channel over Ethernet
- Linux iSCSI Target mit Fibre Channel Unterstützung
Literatur
- Roland Döllinger, Reinhard Legler, Duc Thanh Bui: Praxishandbuch Speicherlösungen. dpunkt, Heidelberg 2010. ISBN 978-3-89864-588-1
- Björn Robbe: SAN – Storage Area Network. Hanser, München 2001. ISBN 978-3-446-21662-4