ReFS-Dateisystemstruktur und Datenwiederherstellungsalgorithmus

"ReFS" (Resilient File System) ist ein neues Dateisystem von Microsoft, das als Ersatz für "NTFS" erstellt wurde. Es hat mehrere solide Vorteile, nämlich die Entwickler haben alle NTFS-Fehler behoben. Es ist viel besser vor Informationsbeschädigung geschützt, hält der erhöhten Belastung besser stand und lässt sich auch viel einfacher skalieren.



Bild



Hauptfunktionen des Resilient File System
, .

— Integrity streams ( ).

«allocate on write» — .

, , , .

, .

«data sriping» — , RAID .

— «disk scrubbing», .

.

, , , .

«NTFS».

.

«ReFS» , .

«Storage Spaces» — .

«NTFS»: «BitLocker», «USN» , «ACL» , «mount points»… , «ReFS», «API».


Funktionen von "ReFS"







Prüfsummen werden jetzt standardmäßig für Metadaten verwendet und auch auf Daten in einzelnen Dateien angewendet. Beim Lesen / Schreiben erfolgt die Überprüfung also "on the fly". Wenn das Dateisystem eine Dateibeschädigung feststellt, werden die Einträge sofort gelöscht, ohne den Computer neu zu starten. Das heißt, "ReFS" korrigiert sich jetzt von selbst, wenn Fehler auftreten.



"ReFS" bietet im Vergleich zum alten FS eine höhere Zuverlässigkeit beim Speichern von Informationen. B + -Bäume werden zum Speichern von Dateien und Metadaten verwendet. Größen, Anzahl der Partitionen und Dateien sind jetzt auf den maximalen 64-Bit-Wert begrenzt. Der Leerraum wird in drei verschiedenen Tabellen gespeichert, die nach Blockgröße (klein, mittel, groß) unterteilt sind. Dateinamen und Pfade sind in "Unicode" geschrieben, sie sollten 32 Kilobyte nicht überschreiten, dh der Dateiname kann in 30.000 Zeichen angegeben werden.



Stromausfallschutz. Angenommen, Sie schreiben einen neuen Dateinamen (oder andere Metadaten), der Strom ist ausgefallen und Sie hatten keine Zeit, sie zu speichern. In "NTFS" wird die Datei beschädigt, weil Sie die Metadaten direkt ändern. "ReFS" erstellt jedoch nur eine Kopie der Metadaten und ändert die Hauptdaten erst, wenn das Speichern erfolgt. Dies ist die Besonderheit der Funktion "Beim Schreiben kopieren".



Storage Spaces ist eine Medienvirtualisierungsfunktion. Sie können einen einzelnen Speicherplatz aus mehreren physischen Festplatten auf einem PC oder mehreren über ein lokales Netzwerk erstellen. Es ist auch möglich, "Spiegelung" als RAID-Arrays zu konfigurieren.



Unterschiede zu NTFS



ReFS wurde ursprünglich entwickelt, um große Mengen von Partitionen, Dateien, Verzeichnissen und deren Namen zu unterstützen. Der neue FS kann bis zu zweihundertzweiundsechzigtausend Exabyte an Informationen und "NTFS" - nur sechzehn Exabyte - enthalten.



Es fehlen auch Verschlüsselung, Komprimierung, Deduplizierung, Festplattenkontingente, feste Links und erweiterte Attribute. Einige von ihnen wurden durch neue ersetzt, z. B. unterstützt "ReFS" die BitLocker-Verschlüsselung vollständig.



Jetzt können Sie im "ReFS" -Dateisystem nur den Plattenpool (Speicherplatz) formatieren, in dem sich der neue FS in seiner ganzen Pracht zeigt. In Windows 10 können Sie reguläre Medien jedoch nicht auf "ReFS" formatieren. Die Entwickler betonen die Bedeutung von "ReFS" speziell für Server, es ist unter Server-Betriebssystem oder in der "LTSC" -Version verfügbar.



Windows Server 2016 ermöglicht das Formatieren regulärer Volumes in "ReFS", jedoch nicht das Formatieren der Startdiskette, da sich der Startsektor auf einer "NTFS" -Partition befinden muss.



Dateisystemarchitektur



Die Strukturen von ReFS unterscheiden sich erheblich von allen anderen Windows-Dateisystemen. Die Hauptbausteine ​​sind B + Bäume. Sie sind einstufig (wie Blätter) und mehrstufig (wie Bäume). Dies bietet eine gute Skalierung für jedes in der FS-Struktur enthaltene Element. Dieses Schema sowie die 64-Bit-Adressierung jedes Elements machen es unmöglich, Probleme mit seiner weiteren Erhöhung zu lösen.



Bild



Als Stammdatensatz des B + -Baums haben die übrigen Datensätze für den Metadatenblock dieselbe Größe von 16 KB. Größe 60 Bytes - zugewiesen für Zwischenknoten (Adressknoten). Daher ist eine kleine Anzahl von Ebenen erforderlich, um große Speicherstrukturen richtig zu beschreiben. Dies ermöglichte es, die Leistung von FS im Vergleich zu anderen zu steigern.



ReFS-Dateisystemstruktur



"ReFS" kann durch eine bestimmte Signatur am Anfang des Abschnitts identifiziert werden:



Bild



0x4000 Bytes - die Länge aller ReFS-Seiten.



Bild



Die erste Seitenzahl ist 0x1e, dh 0x78000 Bytes unmittelbar nach der Startpartition. Dies ist eine Standard-Microsoft-Zuordnung, die empfiehlt, die ersten Metadaten nach einem festen Versatz zu durchsuchen.



Algorithmus für die Suche nach gelöschten Daten









Die Datenwiederherstellungsdienstprogramme führen mithilfe eines signaturbasierten Analysealgorithmus einen vollständigen Scan des mit "ReFS" formatierten Speicherplatzes durch. Indem sie die Festplatte Block für Block überprüfen, finden sie fertige Datensequenzen, identifizieren sie und drucken die Ergebnisse. Da die API für die Arbeit mit Datenträgern für "ReFS" und "NTFS" identisch ist, sind die Datenwiederherstellungsprozesse sehr ähnlich.



Zunächst wird der "Volume Header" bestimmt, der die Anzahl der Sektoren pro Cluster und die Anzahl der Sektoren enthält. Die Hauptversion liegt im Nullsektor, und die Kopie befindet sich im letzten. Als nächstes wird "Superblock" gelesen, es befindet sich im 30. Block und es gibt auch 2 Kopien im zweiten und dritten Block am Ende. Daraus werden Links zum "Checkpoint" und dessen Kopie extrahiert, die neueste aktuelle Version wird durch die "Virtual Allocated Clock" bestimmt.



Checkpoint enthält Informationen zu den Haupttabellen, dann werden Header "Page Header" und Blöcke mit Zeigern (Zeigern) auf die vollständige Liste der Tabellen gelesen. Dann wird nach der "Containertabelle" gesucht, um physische Adressen von virtuellen zu erhalten, und es wird eine Suche in der "Objekt-ID-Tabelle" durchgeführt - alle Tabellen werden gefunden.



Die Dienstprogramme gehen auf die Ebene Null zurück, dh auf B-Tree-Blätter, und lesen die Dateidaten. Da die Suche Seite für Seite durchgeführt wird, werden diese Elemente bei Fehlern einfach von der Analyse ausgeschlossen, und der Scanvorgang selbst wird fortgesetzt. Auf diese Weise finden Datenwiederherstellungsdienstprogramme alle Informationen, die von der Festplatte "abgerufen" werden können.



In der Quelle finden Sie den vollständigen Artikel mit allen zusätzlichen Video-Tutorials .



All Articles