SAN

Storage Area Network. Ein SAN ist ein Netzwerk aus vielen Festplatten auf Basis des Fibre Channel Protokolls. SAN entlastet im Gegensatz zu NAS (Network Attached Storage) das LAN und virtualisiert den Festplattenspeicher,  d.h. die angeschlossenen Festplatten können als eine Platte behandelt werden. Ein weiterer Vorteil ist, dass Daten redundant gehalten werden können und so vor Verlust sicherer sind.  Im Gegensatz zu einem LAN wird ein Netzwerk zwischen Servern und den von den Servern genutzten Speicherressourcen hergestellt. Der Datenaustauch erfolgt hierbei blockbasiert, d.h. es werden einzelne Datenblöcke ausgetauscht (z. B. Block 3023  auf Festplatte 3). Bei NFS oder CIFS erfolgt der Datenaustausch filebasiert: es werden ganze Dateien angefordert.  Oft wird das SCSI-Kommunikationsprotokoll verwendet, welches die Transport-Protokolle Fibre Channel oder iSCSI als Grundlage hat.  Im Gegensatz zu DAS (Direct Attached Storage), welches eine Punkt-zu-Punkt Verbindung zwischen einem Server und einem Speichersystem aufbaut, werden bei SAN mehrere Server mit mehreren Speichersystemen über ein Netzwerk verbunden.  SAN Netzwerke werden heute meist über Fibre Channel (Glasfaserkabel) angebunden und bestehen aus einem Fibre Channel Switch, den Servern und mehreren Speichersystemen (i.d.R. Festplattensubsysteme),  welche über einen Host Bus Adapter (HBA) mit dem Fibre Channel Switch verbunden werden. Der Host Bus Adapter ist eine Hardware-Schnittstelle, welche als Steckkarte (PCI) oder auf der Hauptplatine realisiert ist. HBAs gibt es als SCSI oder  Fibre Channel Ausführung sowie als TCP Offload Engine (TOE) im iSCSI-Bereich. Die TOE arbeitet ähnlich wie eine Ethernet-Netzwerkkarte: Ressourcen-intensive Operationen werden auf der TOE ausgeführt und damit die CPU entlastet.  In SAN-Netzwerken kommt das Prinzip des Multi-Pathing zum tragen: Multi-Pathing erlaubt es einem Server, dasselbe Festplattensubsystem über mehrere Host Bus Adapter zu erreichen.  In SAN Netzwerken werden heute Übertragungsgeschwindigkeiten zwischen 10 GBit/s und über 1,5 Gigabyte/s erreicht.  Die Herstellerkompatibilität der SAN-Komponenten ist noch nicht vollständig realisiert. Viele Anwender kaprizieren sich daher auf einen Hersteller solange die Initiative der Storage Networking Industry Association dieses Problem nicht vollständig gelöst  hat.                                 
Siehe auch:    NAS   LAN   SCSI   Ethernet   Host-Bus-Adapter   Festplatte   RAID   Virtualisierung   Fibre-Channel   Xen

  Cluster-Dateisystem

Ein Cluster Dateisystem ermöglicht einen konkurrierenden Zugriff auf einen gemeinsam genutzten Festspeicher (Shared Storage) in einem Rechnercluster.  Dabei wird der gemeinsame Zugriff oft durch ein Storage Area Network auf Basis von Fibre Channel ermöglicht. Die einzelnen Ressourcen eines Cluster File Systems können auf die Rechner des Clusters auch ohne die Hilfe eines Servers zugreifen.  Der SAN-Aufbau ermöglicht, dass die entsprechenden Rechner-Ressourcen im Verbund verfügbar sind. Ein CFS (Cluster File System) kann eine Performance-Steigerung bringen, insbesondere bei Verwendung von Datenbanken und bei  der Handhabung von grossen Transaktions- und Datenvolumina. CFS sind dann Network File Systemen überlegen.  Bekannte Cluster-Filesysteme sind: AdvFS (Advanced File System, Hp Tru64),  RMS (Record Management Services, OpenVMS), OCFS (Oracle Cluster File System, Windows/Linux, ausschliesslich für ORACLE-Datenbanken bzw. OCFS 2 für Linux und Bestandteil des Linux Kernels seit Version 2.6.16),  Global File System (GFS), General Parallel File System von IBM für Linux und AIX, Clustered XFS (CXFS für IRIX, Solaris, Linux, Windows und Mac OS X),  Vertitas, Red Hat GFS oder Sun GFS (Solaris). Cluster Server mit einem Cluster Dateisystem sind nicht von einem weiteren Server abhängig. Mit einem SAN (Storage Area Network) auf der Grundlage von  Fibre-Channel-Verbindungen werden Plattensysteme an mehrere Server zugleich angebunden.                                         
Siehe auch:    Cluster   Server-Cluster   SAN   Fibre-Channel   linux   Red-Hat   Solaris   XFS   Global-File-System   

  Host-Bus-Adapter

Der Host Bus Adapter (HBA) ist eine Hardware-Schnittstelle, welche als Steckkarte (PCI, PCI-X, cPCI (Compact PCI), PCI-Express, SBus) oder auf der Hauptplatine realisiert ist. HBAs gibt es als SCSI oder  Fibre Channel Ausführung sowie als TCP Offload Engine (TOE) im iSCSI-Bereich. Die TOE arbeitet ähnlich wie eine Ethernet-Netzwerkkarte:  Ressourcen-intensive Operationen werden auf der TOE ausgeführt und damit die CPU entlastet.  HBAs werden in SAN-Netzwerken (Storage Attached Network) eingesetzt:  SAN-Netzwerke werden oft über Fibre Channel (FC, Glasfaserkabel) angebunden und bestehen aus einem Fibre Channel Switch, den Servern und mehreren Speichersystemen (i. d. R. Festplattensubsysteme),  welche über einen Host Bus Adapter mit dem Fibre Channel Switch verbunden werden.  Bekannte Hersteller für HBA- oder TOE-Karten sind: QLogic (iSCSI HBA, Fibre Channel HBA, SANBlade HBA), Adaptec, Alacritech, LSI (LSI Engenio), Emulex (Fibre Channel HBA (LightPulse® HBA), Blade HBA),  JNi Corporation (Fibre Channel HBA: PCI-X, PCI-X Dual Port, SBus, speziell für Solaris Server). JNi wurde 2003 durch Applied Micro Circuits Corporation (AMCC) übernommen.                                           
Siehe auch:    Netzwerkkarte   SAN   SCSI   SBus   PCI   Ethernet   

  Fibre-Channel

Fibre Channel (FC) ist ein Protokoll um Hochgeschwindigkeits-Netzwerke mit Daten zu versorgen. FC ist geeignet für Massenspeicher und Netzwerke. Es handelt sich um einen offenen Standard, der durch die ANSI und die OSI  definiert wurde. Es werden höhere Protokolle wie das IP-Protocol, ATM (Asynchronous Transfer Mode), IEEE 802, SCSI oder HIPPI (High Performance Parallel Interface) unterstützt. Fibre Channel war konzipiert,  um Fast Ethernet, LAN-Backbones und FDDI zu ersetzen. FC verfügt über eine serielle Übertragungstechnologie, geringe Latenzen und Fehlerraten und ist in die Hardware integriert. Neben dem Datentransport wird die die Übertragung der Daten geregelt.  In FC ist jedoch kein eigener Befehlssatz implementiert. Fibre Channel kümmert sich ausschliesslich um den Transport der Datenpakete zwischen den Endteilnehmern.  Es wird oft bei SAN-Netzwerken (Storage Area Network) eingesetzt. Fibre Channel wird über Kupfer oder Glasfaser betrieben und erreicht Geschwindigkeiten zwischen 3 und 8 GB/s.  Fibre Channel ordnet jedem Netzwerkteilnehmer einen World Wide Node Name (WWNN) zu. Ports werden mit einem World Wide Port Name (WWPN) versehen. Bei diesen Identifizierungsmerkmalen handelt es sich um einen (hexadezimalen) 64-Bit Code. 

Fibre Channel Topologien
Es gibt unterschiedliche Fibre Channel Topologien:  Die Fibre Channel Switches Fabric stellt eine Punkt-zu-Punkt Verbindung zwischen den Netzwerk-Teilnehmern her.  Bei FC-SW werden die Netzwerk-Endteilnehmer über einen Channel Switch oder Director verbunden.  Die Fibre Channel Arbitrated Loop stellt einen logischen Bus dar, und wird oft in Clustern und bei SANs verwendet. Es können 2 ^ 7 -1 Endteilnehmer versorgt werden. 

Fibre-Channel Switches, Disk Arrays
Bei SAN-Netzwerken die auf Fibre Channel basieren spielen Fibre-Channel Switches eine zentrale Rolle.  FC-Switches stellen die Verbindung her zwischen den Hosts und den Storage-Systemen. Dabei handelt es sich um Backup-Systeme  oder beispielsweise Disk-Arrays. Disk Arrays verfügen über mehrere Festplattensysteme (Plattensubsystem), mit deren Kapazität Server versorgt werden. Bei Disk Arrays stehen verschiedene Features wie RAID, Storage-Virtualisierung oder  Partitionspiegelungen zur Verfügung.                               
Siehe auch:    SAN   Festplatte   Cluster   Host-Bus-Adapter   LAN   Backbone   Ethernet   FDDI   

  Global-File-System

Das Global File System (GFS, nicht zu verwechseln mit dem Google File System) und das Global File System 2 (GFS2) ist ein Cluster Dateisystem (Shared Disk File System oder Cluster File System) für Linux Cluster.  Ein Cluster Dateisystem nutzt SAN (Storage Area Network) oder eine RAID-Array um den Zugriff auf Speicherplatten (HDD, SSD usw.) auf Blockebene zu ermöglichen.  Das GFS unterscheidet sich von anderen Netzwerkdateisystemen oder Verteilten Dateisystemen wie AFS, InterMezzo oder Coda insofern, als allen Knoten direkten Zugriff zu demselben verteilten Speicherblock ermöglicht.  Zusätzlich kann GFS als lokales Dateisystem eingesetzt werden.

GFS Historisches 
Das Global File System wurde 1997 im Rahmen einer Studie an der Universität von Minnesota entwickelt. Ursprünglich lief es auf IRIX für Silicon Graphics und wurde dann auf Linux portiert als Open Source Projekt.  Nachdem Sistina Software das Projekt übernahm wurde es in ein kommerzielles Projekt umgewandelt. Zwischenzeitlich entstand ein Fork (OpenGFS) der den Distributed Lock Manager OpenDLM einschloss.  Schliesslich wurde Sistina Software Ende 2003 von Red Hat aufgekauft, so dass das GFS heute von Red Hat weiterentwickelt und betrieben wird.

GFS Cluster Infrastruktur, Locking 
Red Hat entwickelte mehrere Teile einer Cluster Infrastruktur wie lock_dlm und lock_gulm die auf auf CMAN, DLM und GULM basieren. Weiterhin wurde lock_nolock hinzugefügt. Die Kernelmodule CMAN und ccsd sind für das Dateisystemmanagement  verantwortlich, lock_gulm und lock_dlm für das Locking. Der Distributed Lock Manager (DLM) soll Inkonsistenzen beim Zugriff auf die verteilten Daten und Shared Ressources vermeiden.

SAN-Umgebung 
Der Aufbau des GFS basiert auf die Anbindung zu einer Stoarge Area Network (SAN) Umgebung. Die SAN-Umgebung kann in Form einer Fibre-Channel-Architektur mit Network Block Device, einer iSCSI-Implementierung oder mit einer Infiniband Lösung  oder auf ATA over Ethernet Basis realisiert sein. Die Kernkomponenten des Software Stacks von GFS umfassen die Cluster Software, der Locking-Mechanismus und das Fencing. Der Administrator wählt in der Cluster Konfiguration aus, welche Knoten zum Cluster  dazugehören und damit auf das Cluster Dateisystem zugreifen können. Beim Locking z.B. greift GFS auf die Cluster Prozesse zurück.

Fencing 
Beim Fencing wird der Cluster Rechner vom Cluster-Storage getrennt. Dies soll helfen, die Konsistenz des Clusterdateisystems zu bewahren, da sonst 'tote Knoten' auf das System zugreifen. Fencing wird angewendet, wenn durch entsprechende  Heartbeats festgestellt wurde, dass Knoten nicht intakt sind. Es gibt zwei grundsätzliche Ansätze von Fencing:  beim Zoning oder I/O-Fencing wird die Trennung beim Fibre-Channel Switch vorgenommen indem der entsprechende Port deaktiviert wird. Dadurch hat der Cluster-Rechner keinen Zugriff mehr auf die SAN-Device.  Die andere Methode ist das Power-Fencing bei der der 'tote' Knoten ausgeschaltet oder rebootet wird. Beim GFS ist es möglich, das Power Fencing über integrierte Schnittstellen wie das Intelligent Platform Management Interface (IPMI) oder  integrated Lights Out (iLO) zu bewerkstelligen. Weiterhin ist das GFS2 in der Lage, Power-Switches zu adressieren um die daranliegenden Cluster-Rechner vom Strom zu nehmen.

Kontextabhängige Pfade 
Tritt die Situation auf, dass mehrere Cluster Rechner auf dieselben Verzeichnisse zugreifen müssen so helfen kontextabhängige Pfade (Context Dependent Path Names).  Bei kontextabhängigen Pfaden greifen Cluster-Rechner zwar auf dieselben Pfaden zu, werden aber auf der physischen Ebene auf unterschiedliche Datenblöcke umgeleitet.  Der Clustered Logical Volume Manager 2 hilft mehrere Partitionen zu verwalten.

GFS als Journaling Dateisystem, Abgrenzung GFS zu GFS2 
GFS und GFS 2 sind auch Journaling Dateisysteme. GFS 2 unterstützt ähnliche Journaling Modi wie ext3. GFS 2 bietet im Unterschied zu GFS ein Metadaten Dateisystem, caching Access Control Lists (ACL), FIEMAP ioctl (um Abfrage Zuordungen von Inodes  auf der Speicherplatte vorzunehmen) sowie spezifische Trace Punkte die seit Linux Kernel 2.6.32 verfügbar sind und einiges mehr.

GFS Kernelmodule 
Weitere Kernelmodule sind: Global Network Block Device (das GNBD liefert Treiber der lokale Volumes oder Block Devices über das Netzwerk), Magma (Magma ist eine Bibliothek zum Locking für Transaktionen zwischen GULM und CMAN/DLM ) und einige weitere. 

Weitere GFS Eigenschaften
Eine weitere Eigenschaft von GFS ist, dass es via das GFS-Kernel-Modul und einer eingestellten Cluster-Konfiguration gemountet werden kann.  Das GFS ist in der Lage, ein sogenanntes Single System Image (SSI) auf Dateisystemebene aufzusetzen. Dieses Cluster wird Diskless Shared Root Cluster genannt.  GFS2 ist im Linux Vanilla-Kernel enthalten. Heute ist GFS unter der GPL lizenziert.

Vergleichbare Cluster Dateisysteme 
Vergleichbare Netzwerk Dateisysteme sind Oracles Clusterfilesystem 2 (OCFS2), Clustered XFS (CXFS, SGI) oder das General Parallel Filesystem (GPFS, IBM).     
Siehe auch:    Third-Extended-Filesystem   Cluster-Dateisystem   Kernel   linux   Google-BigTable   Inode