Die Neugestaltung von Chkdsk und das neue NTFS Health Model

Wir haben über eine Vielzahl von Verbesserungen des Betriebssystem-Kernels, Netzwerks und Dateisystems berichtet. Das bewährte Chkdsk-Hilfsprogramm wird auf den meisten Clientcomputern nur noch in seltenen Fällen verwendet wird, bei Windows 8 nutzen wir jedoch die Gelegenheit, dieses Hilfsprogramm zu verbessern. Wir konzentrierten uns darauf, zu überdenken, wie durch das Hilfsprogramm die Verfügbarkeit erhöht und die Downtime aufgrund von Chkdsk-Vorgängen reduziert wird. Ein Blick auf die tatsächliche Verwendung von Chkdsk zeigte, dass Beschädigungen außerordentlich selten sind, der Einsatz von Chkdsk jedoch nicht. Wir haben daran gearbeitet, die manuelle Ausführung von Datenträgertools (wie die Defragmentierung) zu reduzieren. Wir sind uns jedoch darüber bewusst, dass viele es bevorzugen, diese Tools manuell auszuführen. Deshalb haben wir daran gearbeitet, den Durchsatz von Chkdsk insgesamt zu verbessern, da die Ausführung die Verfügbarkeit des Computers verringert. Da heute die Laufwerkskapazitäten immer größer und Systeme für mehrere Datenträger immer häufiger werden, wollten wir das Hilfsprogramm verbessern.  Kiran Bangalore, ein Programmmanager aus unserem Team für das Kernsystem schrieb diesen Beitrag.   – Steven


In diesem Blogbeitrag erläutere ich das neue NTFS Health Model (Integritätsmodell) für Windows 8 und das Chkdsk-Hilfsprogramm, unser neugestaltetes Tool zum Erkennen und Reparieren von Datenträgerbeschädigungen.

Wir alle kennen den Ärger, wenn nach dem Neustart eines Computers zu Hause oder eines Servers im Büro unerwartet Chkdsk ausgeführt wird. Dies ist eine störende Unterbrechung, und wir warten darauf, dass der Prozess abgeschlossen und Windows gestartet wird. Mit Windows 8 bieten wir eine schnelle Lösung für diese Probleme, geben dem Benutzer die Kontrolle und machen Systeme verfügbarer und anpassbarer.

Eines unserer Hauptziele für Windows 8 war die Erhöhung der Verfügbarkeit und die Verringerung der Downtime von Systemen. Diese Funktion, sowie andere Speicherfunktionen wie Storage Spaces und das neue ReFS-Dateisystem, vereinfachen die Reparatur von Beschädigungen und erhöhen die Verfügbarkeit des gesamten Systems.

Das alte Chkdsk und NTFS Health Model

Es gibt heute eine ganze Reihe von Gründen für Datenträgerbeschädigungen, auch wenn sie außerordentlich selten vorkommen. In den Dateisystem-Metadaten (den Informationen, die verwendet werden, um physische Blöcke z. B. Ihrem Urlaubsfoto aus dem letzten Jahr zuzuordnen) kann es zu Beschädigungen kommen, ob diese nun durch Medienfehler der Festplatte oder durch vorübergehende Speicherfehler verursacht werden. Um weiterhin Zugriff auf die Daten zu ermöglichen, müssen diese Fehler von Windows isoliert und behoben werden. Dies geschieht mithilfe des Chkdsk-Hilfsprogramms.

In früheren Versionen implementierte NTFS ein einfacheres Health Model, bei dem das Dateisystem entweder in einem fehlerfreien Zustand war oder nicht. In diesem Modell wurde das Volume für den Zeitraum, in dem die Dateisystembeschädigungen repariert und das System wieder in einen fehlerfreien Zustand gebracht wurden, offline geschaltet. Die Downtime stand im direkten Verhältnis zu der Anzahl der Dateien im Volume.

Auch wenn Beschädigungen sehr selten vorkommen, haben zuverlässige Telemetriedaten von Systemen weltweit gezeigt, dass Chkdsk von ein paar Sekunden bis hin zu ein paar Stunden Zeit in Anspruch nimmt, wenn es ausgeführt wird, je nach Anzahl der Dateien auf dem Laufwerk. Bei größeren Speicherservern nimmt es sogar noch mehr Zeit in Anspruch.

In Windows Vista und Windows 7 haben wir die Geschwindigkeit von Chkdsk bereits erheblich erhöht. Da Festplattenkapazitäten jedoch alle 18 Monate verdoppelt werden und parallel dazu die Anzahl der Dateien pro Volume zunimmt, dauerte das Ausführen von Chkdsk (trotz der Geschwindigkeitsverbesserungen) länger und länger.

In Windows 8 haben wir das Health Model von NTFS und die Art und Weise, wie Beschädigungen repariert werden, so geändert, dass die von Chkdsk verursachte Downtime minimiert wird. Für die Zukunft haben wir zudem ein neues Dateisystem eingeführt: ReFS, bei dem der Computer nicht mehr durch Chkdsk offline sein muss, um Beschädigungen zu reparieren.

Die Neugestaltung des Dateisystemzustands

Das unglaubliche Wachstum von Speicherkapazität und Benutzerdatendateien erforderte eine Neugestaltung des NTFS Health Model und von Chkdsk.

Unsere Kunden haben drei wichtige Anforderungen an den Dateisystemzustand gestellt:

  1. Downtime, die von Dateisystembeschädigungen verursacht wird, darf in ständig verfügbaren Konfigurationen überhaupt nicht vorkommen und muss bei allen anderen Konfigurationen gegen Null gehen.
  2. Ein Benutzer oder Administrator muss stets über den Dateisystemzustand informiert werden.
  3. Ein Benutzer oder Administrator sollte regelmäßig die Möglichkeit haben, sein Dateisystem auf einfache Weise zu reparieren, wenn es zu Beschädigungen gekommen ist.

Um größtmögliche Verfügbarkeit zu gewährleisten, sah unser Entwurf sowohl Änderungen am Dateisystem, als auch am Chkdsk-Hilfsprogramm vor. Der neue Entwurf unterteilt den Prozess in die folgenden Phasen, um für eine koordinierte, schnelle und automatische Lösung bei Beschädigungen zu sorgen.

Flussdiagramm. Beschädigung erkennen (Durch NTFS wird eine Anomalie in den Dateisystem-Metadaten erkannt), PFEIL ZU Onlineselbstreparatur (NTFS versucht eine Selbstreparatur. Volume bleibt online) PFEIL ZU Onlineüberprüfung (NTFS überprüft, ob das Problem vorübergehend oder dauerhaft ist. Volume bleibt online) PFEIL ZU Onlineidentifikation und Protokollierung (Wenn keine Selbstreparatur vorgenommen wurde, werden Korrekturmaßnahmen von NTFS identifiziert und protokolliert. Benutzer oder Administrator werden benachrichtigt. Volume bleibt online) PFEIL ZU Präzise und schnelle Korrektur (Benutzer oder Administrator können die Volume offline nehmen und protokollierte Beschädigungen werden dann innerhalb von Sekunden korrigiert. Mit CSV wird die E/A für eine schnelle Korrektur unbemerkt unterbrochen und dann automatisch fortgesetzt.

Wir haben eine neue Kommunikationsmethode entwickelt, bei der Beschädigungstypen als „Verben“ beschrieben werden, die auf die Hauptkomponenten im Entwurf wirken: Den Dateisystemtreiber (NTFS), das Selbstreparaturmodul, den Spotüberprüfungsdienst und das Chkdsk-Hilfsprogramm. Alle Dateisystembeschädigungen werden so klassifiziert, dass Sie jeweils eines von 18 verschiedenen „Verben“ benötigen, die wir in Windows 8 definiert haben. Es können auch neue Verbdefinitionen eingeführt werden, um zukünftige Probleme zu diagnostizieren.

Wichtige Änderungen am Entwurf zur Verbesserung der Verfügbarkeit:

    1. Onlineselbstreparatur: Die NTFS-Selbstreparaturfunktion wurde in Windows Vista (und in Windows Server 2008) eingeführt, damit Chkdsk nicht mehr so häufig ausgeführt werden muss. Selbstreparatur ist eine in NTFS integrierte Funktion, die verschiedene Klassen von Beschädigungen repariert, die während des normalen Betriebs auftreten. Diese Reparaturen können während des Onlinebetriebs vorgenommen werden. Wenn alle erkannten Probleme durch die Onlineselbstreparatur behoben werden, bedarf es keiner Offlinereparatur. In Windows 8 können nun weitaus mehr Probleme online behandelt werden, sodass die Notwendigkeit für den Einsatz von Chkdsk verringert werden konnte.
    2. Onlineüberprüfung: Einige Beschädigungen sind aufgrund von Speicherproblemen vorübergehend und müssen nicht zwingendermaßen das Resultat einer wirklichen Beschädigung auf dem Datenträger sein. Darum wurde Windows 8 mit einem neuen Dienst versehen, dem Spotüberprüfungsdienst. Er wird vom Dateisystemtreiber gestartet und überprüft, ob auf dem Datenträger eine wirkliche Beschädigung vorliegt, bevor er das Dateisystem zur Überprüfung innerhalb des Health Model weiterleitet. Dieser neue Dienst wird im Hintergrund ausgeführt und beeinflusst den normalen Systembetrieb nicht. Er bleibt passiv, bis der er vom Dateisystemtreiber gestartet wird, um eine Beschädigung zu überprüfen.
    3. Onlineidentifikation und Protokollierung: Wenn ein Problem erkannt wurde, wird eine Onlinescan des Dateisystems ausgelöst, der als Wartungsaufgabe im Dateisystem ausgeführt wird. In Windows 8 werden geplante Aufgaben zur Wartung des Computers nur zu geeigneten Zeiten ausgeführt(z. B. während eines Leerlaufs). Dieser Scan kann als Hintergrundaufgabe ausgeführt werden, während andere Programme weiterhin im Vordergrund ausgeführt werden. Während das Dateisystem gescannt wird, werden alle gefundenen Probleme für die spätere Korrektur protokolliert.
    4. Präzise und schnelle Korrektur – Auf Wunsch des Benutzers oder Administrators kann das Volume offline geschaltet werden, und die protokollierten Beschädigungen aus dem vorherigen Schritt können behoben werden. Die aus diesem Vorgang resultierende Downtime wird „Spotfix“ genannt und dauert nur ein paar Sekunden. Auf Windows Server 8-Systemen mit freigegebenen Clustervolumes gibt es überhaupt keine Downtime mehr. Durch dieses neue Modell ist die Offlinelaufzeit von Chkdsk jetzt proportional zur Anzahl der Beschädigungen, nicht mehr wie im alten Model proportional zur Anzahl der Dateien .

Balkendiagramm vergleicht Chkdsk auf Windows Server 2008 R2 und auf Windows Server 8. Im alten System dauert es nahezu 2 Minuten, um 100 Millionen Dateien zu überprüfen und zu reparieren, 4:48 Minuten für 200 Millionen Dateien und mehr als 6 Minuten für 300 Millionen Dateien. Auf Windows Server 8 dauert es weniger als 2 Sekunden, um all diese mit „Spotfix“ zu überprüfen und zu reparieren.
Vergleich von Windows Server: „chkdsk /f“ und „chkdsk /spotfix“

  1. Bessere Verwaltung – Um das neue Health Model transparenter zu machen, wird der Zustand des Dateisystems von Windows über die folgenden Schnittstellen offengelegt:
    • Wartungscenter – Der Zustand des Laufwerks wird im Wartungscenter als „Laufwerkstatus“ angezeigt (siehe Abbildung unten). Durch diesen Status wird angegeben, wann eine Wartung durchgeführt werden muss, um das Laufwerk wieder in einen fehlerfreien Zustand zu bringen.
    • Explorer: Der Zustand wird auch im Explorer unter den Laufwerkeigenschaften angezeigt.
    • PowerShell: Chkdsk-Funktionen können auch mithilfe eines neuen Cmdlet in PowerShell, VOLUME REPARIEREN, aufgerufen werden. Dies kann bei der Remoteverwaltung des Dateisystemzustands hilfreich sein.
    • Server-Manager: In Windows Server kann der Zustand des Volume direkt über das Hilfsprogramm „Server-Manager“ verwaltet werden.

Das neue Health Model für Dateisysteme

Im neuen Health Model, wechselt der Dateisystemzustand zwischen vier Zuständen. Einige dienen nur der Information, andere erfordern weitere Aktionen. Die Zustände sind:

  1. Online und fehlerfrei
  2. Onlinespotüberprüfung erforderlich
  3. Onlinescan erforderlich
  4. Spotfix erforderlich

Fluss wechselt von „fehlerfrei“ zu „Spotüberprüfung erforderlich“ zu „Onlinescan erforderlich“ zu „Spotfix erforderlich“ zu „fehlerfrei“.
Dateisystem-Integritätszustände von Windows 8

    1. Online und fehlerfrei – In diesem Zustand gibt es keine erkannten Dateisystembeschädigungen, und es ist keine Aktion erforderlich. Die meiste Zeit bleibt das Dateisystem in diesem Zustand.

Das Wartungscenter zeigt keine erforderlich Aktion an

    1. Onlinespotüberprüfung erforderlich – Das Dateisystem bleibt für einen kurzen Augenblick in diesem vorübergehenden Zustand, nachdem es eine Beschädigung gefunden hat, die es nicht durch Selbstreparatur beheben kann. Das Volume wird in diesen Zustand versetzt, bis der Spotüberprüfungsdienst die Beschädigung überprüft. Auch hier ist keine Aktion des Benutzers erforderlich.
    2. Onlinescan erforderlich – Wenn der Spotüberprüfungsdienst die Beschädigung überprüft, wird das Dateisystem in den Zustand „Onlinescan erforderlich” versetzt. Im nächsten Wartungsfenster wird ein Onlinescan ausgeführt. Es ist keine Aktion seitens des Benutzers erforderlich. Dieser Zustand wird auch im Wartungscenter angezeigt. Der Scan kann auf Wunsch auch manuell ausgeführt werden, bevor das nächste Wartungsfenster angezeigt wird. Der Scan wird im Hintergrund ausgeführt. Das heißt, Sie können den Computer weiterhin verwenden, während der Scan ausgeführt wird. Während dieses Onlinescans werden alle überprüften Probleme und Fehler für die spätere Reparatur protokolliert. Der Leerlauf wird in Windows Server 8-Systemen durch die Überwachung der Leerläufe von CPU und Speicher ermittelt.

Meldung „Laufwerk auf Fehler scannen“ wird angezeigt, Link zum Öffnen des Wartungscenters

Unter Wartung wird zum Scannen des Laufwerks auf Fehler aufgefordert. Es wurden mögliche Fehler auf dem Laufwerk gefunden, und es muss gescannt werden. Das Laufwerk kann während des Scans weiterhin verwendet werden. Schaltfläche: Scan ausführen. Aktionslink: Meldungen über Laufwerkszustand deaktivieren.

  1. Spotfix erforderlich – Nach Beendigung des Onlinescans wird das Volume durch das Dateisystem in diesen Zustand versetzt. Gegebenenfalls wird dieser Zustand im Wartungscenter angezeigt. Bei Clientsystemen kann der Computer neu gestartet werden, um alle Dateisystemprobleme zu beheben, die im vorherigen Schritt protokolliert wurden. Der Neustart geht schnell (benötigt nur ein paar zusätzliche Sekunden), und der Computer wird wieder in einen fehlerfreien Zustand zurückversetzt. Bei Windows Server 8-Systemen ist kein Neustart erforderlich, um Beschädigungen an Daten-Volumes zu beheben. Administratoren können im nächsten Wartungsfenster einfach einen Spotfix planen.

Meldung „Neustart zum Reparieren von Laufwerkfehlern“ wird angezeigt. Klicken Sie, um den Computer neu zu starten.

Neustart zum Reparieren von Laufwerkfehlern (wichtig). Es wurden Fehler auf dem Laufwerk gefunden. Starten Sie den Computer jetzt neu, um diese Fehler zu beheben und einen Datenverlust zu vermeiden. Schaltfläche: Neu starten.

Fortgeschrittene Benutzer, die einen Systemneustart vermeiden möchten, um eine Beschädigung auf einem Nicht-System-Volume zu beheben, können das Dialogfeld „Eigenschaften“ für das betreffende Volume öffnen und auf der Registerkarte Tools eine Option auswählen, um das Laufwerk auf Systemfehler zu überprüfen. Beschädigungen an Laufwerken, die zurzeit nicht verwendet werden, können behoben werden, ohne dass der Computer neu gestartet werden muss.

Auf Registerkarte „Tools“ unter „Fehlerüberprüfung“. Diese Option überprüft das Laufwerk auf Dateisystemfehler. Schaltfläche: Überprüfen

Fehlerüberprüfung (Chk2 (D:)) Dieses Laufwerk reparieren. Es wurden Fehler auf diesem Laufwerk gefunden. Reparieren Sie das Laufwerk jetzt, um Datenverlust zu vermeiden. Laufwerk reparieren. Sie können das Laufwerk nicht verwenden, während Fehler von Windows repariert werden, die beim letzten Scan gefunden wurden. Gegebenenfalls muss der Computer neu gestartet werden. Schaltfläche: Abbrechen.

Fazit

In Windows 8 haben wir die Erkennung und Reparatur von Dateisystemfehlern so gestaltet, dass sie unbemerkter und weniger störend sind. Wir sind davon überzeugt, dass diese Änderungen eine wesentliche Verbesserung für Sie darstellen. Wir sind auf Ihr Feedback gespannt.

– Kiran Bangalore
    Senior Program Manager, Windows Core Storage and File Systems

HTML5-Video wird in Ihrem Browser nicht unterstützt.

Laden Sie dieses Video herunter, und spielen Sie es in einem geeigneten Media-Player ab:
MP4 in hoher Qualität | MP4 in niedriger Qualität

Häufig gestellte Fragen:

F) Funktioniert das neue Health Model auf Wechseldatenträgern?
Ja, es funktioniert auf Wechseldatenträgern, die als interne Medien angezeigt werden wie die meisten externen Festplatten.

F) Wie wird das neue Health Model für das Dateisystem aktiviert?
Sie müssen nichts tun. Das neue Health Model für das Dateisystem ist standardmäßig aktiviert.

F) Gilt das neue Health Model für das Dateisystem auch für Windows Server?
Ja, das Health Model ist für Server und Client identisch. Die Datenlaufwerke werden nicht mehr während des Starts überprüft oder repariert. Diese Wartungsarbeiten sind dem Administrator überlassen, wenn die Zeit es zulässt.

F) Kann ich zwischen Windows 8 und Windows 7 wechseln, ohne dass das Health Model für das Dateisystem beeinträchtigt wird?
Ja, das Health Model für das Dateisystem wird jedem Betriebssystem angepasst, in das es eingebunden ist.

F) Muss Chkdsk für ReFS ausgeführt werden?
ReFS folgt einem anderen Zuverlässigkeitsmodell, und es besteht keine Notwendigkeit, das traditionelle Chkdsk-Hilfsprogramm auszuführen.

F) Muss das alte „chkdsk /f“ je ausgeführt werden?
In manchen Fällen können Hardwarefehler zu so schwerwiegenden Beschädigungen führen, dass das Dateisystem nicht wieder eingebunden werden kann. In solchen Fällen sollten Sie einen vollständigen Offline-Chkdsk ausführen, um das System zu reparieren. Wenn dies fehlschlägt, sollten Sie das System von einer Systemsicherung aus wiederherstellen.

F) Ist ein Neustart unbedingt erforderlich, um Nicht-System-Volumes zu reparieren?
Nein, das Wartungscenter bietet jedoch in der Regel die einfachste Handhabung. Wenn Sie ein fortgeschrittener Benutzer sind, können Sie Nicht-System-Volumes reparieren, indem Sie die Eigenschaften des Laufwerks öffnen, oder indem Sie „chkdsk \scan <volume>:“ und „chkdsk \spotfix <volume>:“ auf der Befehlszeile ausführen.

F) Ich führe „chkdsk /f“ oft aus, um den Zustand unserer Laufwerke zu überprüfen. Ist dies weiterhin erforderlich?
Nein, das System benachrichtigt Sie, wenn eine Beschädigung gefunden wurde. Es ist Ihnen dann freigestellt, „chkdsk /scan“ auszuführen, um alle Probleme zu erkennen. Ein online durchgeführter „chkdsk /scan“ beeinträchtigt nicht die Verfügbarkeit des Laufwerks oder Systems.

F) Ich führe Chkdsk schreibgeschützt aus, um den Zustand unserer Laufwerke zu überprüfen. Ist dies weiterhin erforderlich?
Nein, Sie sollten stattdessen „chkdsk /scan“ ausführen, da dabei alle möglichen Onlinereparaturen ausgeführt werden und gegebenenfalls ein Spotfix vorbereitet wird.