Gegr. 2008 · Digitale Ausgabe · 15 Juni 2026

SMB IT Journal

Die Informationstechnologie-Ressource für kleine Unternehmen

Deutsch
Speicher

SAN und NAS im Vergleich

Eine der größten Verwirrungen, die ich in den letzten Jahren beobachtet habe, ist jene zwischen NAS und SAN. Zu verstehen, was beides ist, trägt erheblich dazu bei, zu verstehen, wo sie nützlich und angemessen sind.

Unsere erste Aufgabe besteht darin, die Marketingbegriffe abzustreifen und zu technischen überzugehen. NAS steht für Network Attached Storage, bedeutet aber nicht genau das, und SAN steht für Storage Area Network, wird aber im Allgemeinen verwendet, um sich auf ein SAN-Gerät zu beziehen, nicht auf das Netzwerk selbst. In seiner eigentlichsten Form ist ein SAN jedes Netzwerk, das dem Speicherverkehr gewidmet ist, doch in der realen Welt wird der Begriff nicht so verwendet. In diesem Fall sind wir hier, um über NAS- und SAN-Geräte und deren Vergleich zu sprechen, sodass wir nicht die Definition verwenden, die das Netzwerk statt des Geräts einschließt. In Wirklichkeit sind sowohl NAS als auch SAN Marketingbegriffe und deshalb an den Rändern etwas unscharf. Sie sind präzise genug, um sie in einem normalen technischen Gespräch zu verwenden, solange alle Beteiligten wissen, was sie bedeuten, doch wenn wir ihre Bedeutung erörtern, sollten wir die cool klingenden Namen abstreifen und bei den technischsten Beschreibungen bleiben. Beide Begriffe werden, wenn sie über das Marketing verwendet werden, dazu benutzt, zu implizieren, dass es sich um eine bestimmte Technologie handelt, die “ver-appliance-t” wurde, was die Verwendung der Begriffe unnötig kompliziert, aber nicht nützlicher macht.

Unsere erste Aufgabe besteht also darin, zu definieren, was diese beiden Namen in einem Gerätekontext bedeuten. Beide Geräte sind Speicherserver, schlicht und einfach, nur zwei unterschiedliche Arten, diesen Speicher der Außenwelt zugänglich zu machen.

Das einfachere der beiden ist das SAN, das eigentlich ein Blockspeichergerät ist. Jedes Gerät, das seinen Speicher extern als Blockgerät bereitstellt, fällt in diese Kategorie und kann je nach Verwendung austauschbar eingesetzt werden. Die Blockspeichergeräte sind externe Festplatten, DAS (Direct Attach Storage) und SAN. All dies ist tatsächlich dasselbe. Wir nennen es eine externe Festplatte, wenn wir es an einen Desktop anschließen. Wir nennen es DAS, wenn wir es an einen Server anschließen. Wir nennen es SAN, wenn wir eine Form von Netzwerk, im Allgemeinen einen Switch, zwischen das Gerät und das letztliche Gerät schalten, das den Speicher nutzt. Es gibt keinen technologischen Unterschied zwischen diesen Geräten. Ein traditionelles SAN kann direkt an einen Desktop angeschlossen und wie eine externe Festplatte verwendet werden. Eine externe Festplatte kann an einen Switch angeschlossen und von mehreren Geräten in einem Netzwerk genutzt werden. Die Schnittstelle zwischen dem Speichergerät und dem nutzenden System ist der Block. Gängige Protokolle für Blockspeicher sind iSCSI, Fibre Channel, SAS, eSATA, USB, Thunderbolt, IEEE1394 (auch bekannt als Firewire), Fibre Channel over Ethernet (FCoE) und ATA over Ethernet (AoE). Ein Gerät, das sich an ein Blockspeichergerät anbindet, wird den Speicher stets als Festplatte dargestellt sehen, nicht mehr.

Ein NAS, auch als “Filer” bekannt, ist ein Dateispeichergerät. Das bedeutet, dass es seinen Speicher als Netzwerkdateisystem bereitstellt. Jedes Gerät, das sich an diesen Speicher anbindet, sieht also keine Festplatte, sondern stattdessen ein einbindbares Dateisystem. Wenn ein NAS nicht als Appliance verpackt ist, nennen wir es schlicht einen Dateiserver, und nahezu alle Computergeräte vom Desktop bis zum Server haben diese Funktionalität in gewissem Maße integriert. Gängige Protokolle für Dateispeichergeräte sind NFS, SMB / CIFS und AFP. Es gibt jedoch viele andere, und technisch gesehen gibt es Spezialfall-Dateispeicherprotokolle wie FTP und HTTP, die ebenfalls dazuzählen sollten. Als extremes Beispiel ist ein traditioneller Webserver eine sehr spezialisierte Form eines Dateispeichergeräts.

Was Blockspeicher- und Dateispeichergeräte unterscheidet, ist die Art der Schnittstelle, die sie der Außenwelt präsentieren, oder anders ausgedrückt, an welcher Stelle innerhalb des Speicherstapels die Trennung zwischen Servergerät und Clientgerät erfolgt.

Es ist heute äußerst verbreitet geworden, dass Speichergeräte sowohl Blockspeicher als auch Dateispeicher vom selben Gerät aus bereitstellen. Systeme, die dies tun, werden Unified Storage genannt. Bei Unified Storage hängt es vom Verhalten ab, das Sie für das Gerät konfigurieren, und nicht davon, was Sie kaufen, ob man sagen kann, dass es sich als Blockspeicher- oder Dateispeichergerät (SAN oder NAS im allgemeinen Sprachgebrauch) oder als beides verhält. Dies ist wichtig, da es den Punkt verdeutlicht, dass es sich hierbei um eine reine Protokoll- oder Schnittstellenunterscheidung handelt und nicht um eine der Größe, Leistungsfähigkeit, Zuverlässigkeit, Performance, Funktionen usw.

Beide Gerätetypen haben die Möglichkeit, aber nicht die Verpflichtung, erweiterte Funktionen unterhalb des “Übergabepunkts” bereitzustellen, an dem sie den Speicher nach außen weiterreichen. Beide können RAID, Logical Volume Management, Überwachung usw. bereitstellen – oder auch nicht. Dateispeicher (NAS) kann zudem Dateisystemfunktionen wie Windows NTFS-ACLs bereitstellen.

Der entscheidende Vorteil von Blockspeicher besteht darin, dass die Systeme, die sich daran anbinden, die Möglichkeit erhalten, das Speichersystem so zu manipulieren, als wäre es eine traditionelle Festplatte. Das bedeutet, dass RAID und Logical Volume Management, die in der “Blackbox” des Speichergeräts möglicherweise bereits erfolgt sind, nun, falls gewünscht, erneut auf einer höheren Ebene durchgeführt werden können. Die Clientgeräte wissen nicht, welche Art von Gerät sie sehen, nur dass es als Festplatte erscheint. Sie können sich also entscheiden, ihm zu vertrauen (beispielsweise anzunehmen, dass es über RAID eines angemessenen Niveaus verfügt), oder Sie können mehrere Blockspeichergeräte zu einem RAID kombinieren, ganz so, als wären sie gewöhnliche, lokale Festplatten. Dies ist äußerst unüblich, aber eine interessante Option, und es gibt Produkte, die für eine solche Verwendung konzipiert sind.

Üblicher wird Logical Volume Management wie Linux LVM, Solaris ZFS oder Windows Dynamic Disks auf den vom Gerät bereitgestellten Blockspeicher angewendet, und darauf wiederum ein Dateisystem eingesetzt. Dies ist wichtig zu merken: Bei Blockspeichergeräten wird das Dateisystem vom Clientgerät erstellt und verwaltet, nicht vom Speichergerät. Das Speichergerät ist sich glückselig nicht bewusst, wie der von ihm bereitgestellte Blockspeicher verwendet wird, und erlaubt dem Endnutzer, ihn mit voller Kontrolle so zu nutzen, wie er es für richtig hält. Dies geht sogar so weit, dass Sie Blockspeichergeräte verketten können, wobei eines den Speicher für das nächste bereitstellt, vielleicht zu RAID-Gruppen kombiniert – Blockspeichergeräte können mehr oder weniger unbegrenzt geschichtet werden.

Ein Dateispeichergerät hingegen enthält den gesamten Blockanteil des Speichers, sodass jede Möglichkeit für RAID, Logical Volume Management und Überwachung vom Dateispeichergerät selbst gehandhabt werden muss. Dann wird auf den Blockspeicher ein Dateisystem angewendet. Üblicherweise wäre dies Linux' EXT4, FreeBSDs und Solaris' ZFS oder Windows NTFS, aber andere Dateisysteme wie WAFL, XFS, JFS, BtrFS, UFS und mehr sind durchaus möglich. Auf diesem Dateisystem werden Daten gespeichert. Um diese Daten dann mit der Außenwelt zu teilen, wird ein Netzwerkdateisystem (auch als verteiltes Dateisystem bekannt) verwendet, das eine netzwerkfähige Dateisystemschnittstelle bereitstellt – wobei NFS, SMB und AFP die gängigsten sind, doch wie in jeder Protokollfamilie gibt es zahlreiche Spezialfälle und exotische Möglichkeiten.

Ein entferntes Gerät, das Speicher auf dem Dateispeichergerät nutzen möchte, würde diesen über das Netzwerk genauso sehen, wie es ein lokales Dateisystem sehen würde, und kann es auf identische Weise einbinden. Dies macht Dateispeicher für den Endverbraucher besonders einfach und naheliegend in der Nutzung, da er in jeder Hinsicht sehr natürlich ist. Wir nutzen täglich Netzwerkdateisysteme für das normale Desktop-Computing. Wenn wir beispielsweise in Windows ein “Laufwerk verbinden”, nutzen wir ein Netzwerkdateisystem.

Eine entscheidende Unterscheidung zwischen Blockspeicher und Dateispeicher, die getroffen werden muss, ist, dass zwar beide potenziell in einem Netzwerk liegen und es mehreren Clientmaschinen erlauben können, sich an sie anzubinden, doch nur Dateispeichergeräte die Fähigkeit besitzen, diesen Zugriff zu vermitteln. Dies ist sehr wichtig und darf nicht überspielt werden.

Blockspeicher erscheint als Festplatte. Wenn Sie einfach eine Festplatte gleichzeitig an zwei oder mehr Computer anschließen, können Sie sich vorstellen, was geschehen wird – jeder wird nichts vom anderen wissen und sich neu erstellter Dateien sowie der Änderungen anderer nicht bewusst sein, und die Systeme werden rasch beginnen, sich gegenseitig zu überschreiben. Wenn Ihr Dateisystem auf allen Knoten schreibgeschützt ist, ist dies kein Problem. Doch wenn irgendein System die Daten schreibt oder verändert, werden die anderen Probleme bekommen. Dies führt im Allgemeinen sehr schnell zu Datenkorruption, typischerweise in der Größenordnung von Minuten. Um dies in extremer Ausprägung zu sehen, stellen Sie sich vor, zwei oder drei Clientsysteme glauben alle, exklusiven Zugriff auf eine Festplatte zu haben, und lassen sie alle gleichzeitig defragmentieren. Alle Daten auf dem Laufwerk werden innerhalb von Sekunden durcheinandergebracht.

Ein Dateispeichergerät hingegen verfügt über eine natürliche Vermittlung, da das Netzwerkdateisystem die Kommunikation für den Zugriff auf das eigentliche Dateisystem handhabt, und Dateisysteme sind ihrer Natur nach von Haus aus mehrbenutzerfähig. Wenn also ein an ein Dateispeichergerät angebundenes System eine Änderung vornimmt, sind sich alle Systeme der Änderung sofort bewusst und treten einander nicht “auf die Füße”. Selbst wenn sie es versuchen, vermittelt das Dateisystem des Dateispeichergeräts den Zugriff und hat das letzte Wort und lässt dies nicht zu. Dies macht das Teilen von Daten für Endnutzer einfach und transparent. (Ich verwende den Begriff “Endnutzer” hier so, dass er Systemadministratoren einschließt.)

Das bedeutet nicht, dass es keine Möglichkeit gibt, Speicher von einem Blockgerät zu teilen, doch die Vermittlung dessen kann nicht vom Blockspeichergerät selbst gehandhabt werden. Blockspeichergeräte werden “teilbar” gemacht, indem man ein sogenanntes Clustered File System verwendet. Diese Arten von Dateisystemen entstanden zu der Zeit, als Servercluster Speicherressourcen teilten, indem zwei Server mit einem SCSI-Controller an jedem Ende eines einzigen SCSI-Kabels angeschlossen wurden und die gemeinsam genutzten Laufwerke in der Mitte des Kabels angeschlossen waren. Die einzige Möglichkeit, über die die Server kommunizieren konnten, war das Dateisystem selbst, und so wurden spezielle Clustered File Systems entwickelt, die eine Kommunikation zwischen den Geräten ermöglichten und jedes über die vom anderen vorgenommenen Änderungen durch das Dateisystem selbst benachrichtigten. Dies funktioniert tatsächlich überraschend gut, doch Clustered File Systems sind relativ unüblich, wobei Red Hats GFS und Oracles OCFS zu den bekanntesten in der traditionellen Serverwelt zählen und VMwares deutlich neueres VMFS durch seine Verwendung für Virtualisierungsspeicher äußerst bekannt geworden ist. Normale Anwender, einschließlich Systemadministratoren, haben möglicherweise keinen Zugang zu Clustered File Systems oder haben Anforderungen, die deren Verwendung nicht zulassen. Von wichtiger Bedeutung ist außerdem, dass die Vermittlung über Vertrauen und nicht über Erzwingung gehandhabt wird, wie es bei einem Dateispeichergerät der Fall ist. Bei einem Dateispeichergerät handhabt das Gerät selbst die Zugriffsvermittlung, und es gibt keinen Weg, dies zu umgehen. Bei Blockspeichergeräten, die ein Clustered File System verwenden, kann jedes Gerät, das sich an den Speicher anbindet, das Clustered File System ignorieren und die passive Vermittlung schlicht umgehen – dies ist so einfach, dass es normalerweise versehentlich geschehen würde. Es kann beim Einbinden des Dateisystems unter Angabe des falschen Dateisystemtyps geschehen oder durch ein fehlerhaft arbeitendes Laufwerk oder eine böswillige Handlung. Die Zugriffssicherheit auf Netzwerkebene ist daher entscheidend, um Speicher auf Blockebene zu schützen.

Das zugrunde liegende Konzept, das hier offengelegt wird, ist, dass Blockspeichergeräte dumme Geräte sind (man denke an eine verherrlichte Festplatte) und Dateispeichergeräte intelligente Geräte sind (man denke an einen traditionellen Server). Dateispeichergeräte müssen einen vollständig funktionsfähigen “Computer” mit CPU, Arbeitsspeicher, Speicher, Dateisystem und Netzwerk enthalten. Blockspeichergeräte können diese Dinge enthalten, müssen es aber nicht. In ihrer einfachsten Form können Blockspeichergeräte nichts weiter sein als eine Festplatte mit einem daran angeschlossenen USB- oder Ethernet-Adapter. Es ist tatsächlich nicht ungewöhnlich, dass sie nichts weiter sind als ein RAID-Controller mit daran angeschlossenen Ethernet- oder Fibre-Channel-Adaptern.

In beiden Fällen, Blockspeichergerät und Dateispeichergerät, können wir auf trivial einfache Geräte herunterskalieren oder auf massive, ultrahochverfügbare Systeme der “Mainframe-Klasse” hochskalieren. Beide können entweder schnell oder langsam sein. Das eine ist nicht besser oder schlechter, das eine ist nicht höher oder niedriger, das eine ist nicht mehr oder weniger Enterprise – sie sind unterschiedlich und dienen im Allgemeinen unterschiedlichen Zwecken. Und es gibt erweiterte Funktionen, die beide enthalten können oder auch nicht. Die Herausforderung besteht darin, zu wissen, welches für welche Aufgabe das richtige ist.

Ich stelle mir Blockspeicherprotokolle gerne als einen “Standard-Out”-Stream vor, ganz ähnlich wie auf einer Kommandozeile. Die Basisebene jeder Speicher-“Pipeline” ist also stets ein Blockgerät, und es können zahlreiche Blockgeräte oder Transformationen existieren, die jeweils eines an das andere weitergeleitet werden, solange die Ausgabe ein Blockspeicherprotokoll bleibt. Wir beenden die Kette erst, wenn wir ein Dateisystem anwenden. Auf diese Weise können Hardware-RAID, Netzwerk-RAID, Logical Volume Management usw. nach Bedarf in mehreren Kombinationen angewendet werden. Blockspeicher besteht wahrhaftig nicht nur aus Datenblöcken, sondern aus Bausteinen von Speichersystemen.

Ein sehr interessanter Punkt ist, dass, da Blockspeichergeräte verkettet werden können und da Netzwerkspeichergeräte Blockspeicher als ihre “Eingabe” akzeptieren müssen, es tatsächlich recht verbreitet ist, dass ein Blockspeichergerät (SAN) als zugrunde liegender Speicher für ein Dateispeichergerät (NAS) verwendet wird, insbesondere in High-End-Systemen. Sie können innerhalb eines einzigen Gehäuses koexistieren oder im Netzwerk kooperativ zusammenarbeiten.

Verschlagwortetnas san

Anzeige

SMB IT Journal — the IT resource for small business