Windows 8: Neuigkeiten zum ReFS-Dateisystem

Unter anderem hatte ich hier über das neue Windows 8-Dateisystem ReFS berichtet. Allerdings standen bisher keine Details zu dessen Arbeitsweise und zu den verfolgten Zielen zur Verfügung. Dies hat sich nun geändert, denn Steven Sinofsky hat gestern Nacht im Blog des Windows Entwicklerteams einen neuen Beitrag zu ReFS veröffentlicht.

Sinofsky beschreibt die Ziele, die mit Einführung von ReFS in Windows 8 (Anmerkung: vorerst nur für Windows Server 8 ) verfolgt werden, folgendermaßen:

  • Es ist eine hohe Kompatibilität mit einem Subset der am häufigsten verwendeten NTFS-Features zu gewährleisten. Feature des NTFS-Dateisystems, die nur einen begrenzten Wert besitzen und die Komplexität bzw. den “Fußabdruck” des Dateisystem erhöhen, werden als veraltet (deprecated) eingestuft und werden nicht unterstützt.
  • Daten sollen im Betrieb verifiziert und automatisch korrigiert werden können. Die Verfälschung von Daten kann durchaus verschiedene Ursachen haben. Daher sind Daten zu verifizieren und nach Möglichkeit zu korrigieren. Metadaten werden nicht direkt  geschrieben, um sogenannte “torn writes” (uncommited write) zu vermeiden.
  • Optimierung für extreme Skalierung: Die Strukturen in ReFS sollen skalierbar sein. Es wird keine Annahme getroffen, dass der Algorithmus zur Prüfung des Dateisystems auf die Größe des kompletten Dateisystems hochskaliert werden kann.
  • Dateisystem darf nie Offline sein: Bei Annahme eines Dateisystemfehlers ist es ggf. von Vorteil, diesen Fehler zu isolieren. Allerdings soll der Zugriff auf den restlichen Teil des logischen Volumes möglich sein. Dabei soll der Zugriff auf den größtmöglichen Teil der Daten gewährleistet werden.
  • Es soll eine komplette end-to-end Resiliency-Achitektur  in Verbindung mit dem Storage Spaces-Featurs bereitgestellt werden. Storage Space setzt im Design auf  ReFS auf.

Die ReFS-Grundfunktionen, auf denen auch die als Storage Space Funktion aufsetzt, gibt Microsoft folgendermaßen an.

  • Sicherstellen der Metadata-Integrität mittels Checksummen-Prüfung. Zudem soll die Integrität von Streams und optional die Integrität von Benutzerdaten gewährleistet werden.
  • Es sollen große Datenträger (Volumes), Datei- und Verzeichnisstrukturen unterstützt werden. Das Allozieren von Speicherplatz bei Schreiboperationen soll transaktionsorientiert erfolgen (copy on write), um einen robusten Update-Mechanismus für Schreibvorgänge zu erreichen.
  • Es werden Speicher-Pooling (“storage pooling”) und Virtualisierung unterstützt, um das Anlegen/Erzeugen des Dateisystems und dessen Verwaltung zu vereinfachen.
  • Ein “Data striping” für Performance-Zwecke (Verwaltung der Bandbreite) und eine Redundanz zwecks Erreichen einer Fehlertoleranz ist geplant. Die Funktion eines “Disk scrubbing” zum Schutz vor latenten Festplattenfehlern soll unterstützt werden.
  • Es soll eine Resilenz (Wiederstandsfähigkeit) gegenüber Dateisystemfehlern vorhanden sein, so dass die maximal mögliche (d.h. vom Fehler nicht beeinträchtigte) Kapazität des Volumens jederzeit zugreifbar ist.
  • Unterstützung für “shared storage pools” über verschiedene Maschinen mit Ausfalltoleranz und Lastausgleich (load balancing).

Zusätzlich sollen in ReFS die Features und Semantik des NTFS-Dateisystems (einschließlich BitLocker-Verschlüsselung, Access-control lists für Sicherheitszwecke, USN-Journal, Change notifications, symbolische Links, Junction Points, Mount Points, Reparse Points, Volume Snapshots, File IDs und Oplocks) erhalten bleiben.

Der Zugriff auf die per ReFS verwalteten Daten soll durch die gleichen APIs erfolgen, wie diese bei Zugriffen auf das NTFS-Dateisystem verwendet werden.

Sinofsky geht dann im Laufe des Artikels detaillierter auf die Design-Attribute und Schlüsselfunktionen des neuen ReFS-Dateisystems ein. So wurde ein großer Teil des Programmcodes zur Verwaltung des NTFS-Dateisystems wiederverwendet. Microsoft hat die nachfolgende Grafik, die den Ansatz verdeutlicht, im Entwicklerblog veröffentlicht.

(Quelle: Microsoft)

Im weiteren Verlauf geht Sinofsky dann auf interne Strukturen des neuen ReFS ein – etwas, was vermutlich nur Entwickler wirklich interessiert. Für Administratoren ist höchstens interessant, wie sich Datenträger mit dem neuen Dateisystem anlegen lassen. Hierzu gibt Microsoft die folgenden Befehle an:

D:\>format /fs:refs /q /i:enable <volume>

D:\>format /fs:refs /q /i:disable <volume>

Mit der Option /fs:refs wird ein entsprechender Datenträger formatiert. Die Option /i schaltet die Integritätskontrolle ein oder aus. Fehlt der Schalter /i, hängt das Verhalten von Windows 8 von der Lage des betreffenden Volumes ab. Auf einem gespiegelten Volumen (mirrored space), wird die Überwachung der Integrität immer aktiviert.

Microsoft sieht sich mit den Features Storage Spaces und ReFS (steht für Resilient File System) zur Speicherverwaltung für die kommende Dekade gerüstet. Im Blog-Beitrag finden sich eine Reihe weiterer Details sowie eine FAQ zu ReFS. Interessierte Leser können also Details im Originalbeitrag nachlesen. [Update: Zwischenzeitlich findet sich bei heise.de hier ein kurzer Beitrag, der ebenfalls auf das Thema eingeht. Und hier (gelöscht) geht US-Blogger Paul Thurrot ebenfalls auf das ReFS ein, und weist darauf hin, dass dieses Dateisystem nur für Windows 8 Server verwendet werde – in meiner ersten Fassung des Blog-Beitrags hatte ich diesen Hinweis überlesen. Bei golem.de findet sich zwischenzeitlich ein deutschsprachiger Artikel, der die Aussagen im Entwicklerblog sehr schön aufbereitet.]

Dieser Beitrag wurde unter Allgemein abgelegt und mit , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert