Bereitstellen von Transaktional NTFS

Transaktions-NTFS (TxF) hängt wie die meisten Transaktionsmechanismen von der richtigen Reihenfolge der Daten schreibt ab. Um eine ordnungsgemäße Schreib reihenfolge sicherzustellen, ist eine explizite Kontrolle der Datenzwischenspeicherung erforderlich. Um diese Anforderung zu erfüllen, erfordert TxF, dass Laufwerke die Mechanismen zur Steuerung des Zwischenspeicherns implementieren, die Teil standardisierter Laufwerkschnittstellen wie SCSI, SATA und ATA sind.

Der von TxF verwendete Mechanismus zur Steuerung des Zwischenspeicherns ist ein Flag, das als FUA-Funktion (Force Unit Access) bezeichnet wird. Dieses Flag gibt an, dass das Laufwerk die Daten in einen stabilen Medienspeicher schreiben soll, bevor die Signalisierung abgeschlossen ist. An bestimmten kritischen Punkten innerhalb einer Transaktion muss TxF eine FUA ausstellen, um sicherzustellen, dass einige Steuerungsdaten, die zum erfolgreichen Rollback einer Transaktion erforderlich sind, nicht verloren gehen, wenn ein Stromausfall auftritt.

Serverklassen-Datenträgerlaufwerke (SCSI und Fiber Channel) unterstützen in der Regel das FUA-Flag. Ab Vista unterstützt Windows das FUA-Flag nur für SCSI- und Fiberkanaldatenträger.

Auf Standardlaufwerken (ATA/SATA/USB) gibt es für TxF Zeiträume mit Sicherheitsrisiko, in denen ein Laufwerkausfall dazu führen kann, dass TxF die Transaktion nicht ordnungsgemäß zurückschreiben kann, wodurch Daten in einem inkonsistenten Zustand bleiben, es sei denn, der Schreibcache des Laufwerks ist deaktiviert.

Einige Hostbusadapter (HBAs) und Speichercontroller (z. B. RAID-Systeme) verfügen über integrierte akkubasierte Caches. Da diese Geräte im Fall eines Stromausfalls zwischengespeicherte Daten beibehalten, müssen alle mit ihnen verbundenen Datenträger das FUA-Flag nicht verwenden. Darüber hinaus muss ein Datenträger, dessen Stromversorgung durch eine unterbrechungsfreie Stromversorgung (USV) geschützt ist, das FUA-Flag nicht verwenden. Dies liegt daran, dass die USV die Leistung so lange aufrechtern wird, dass der Datenträger seinen Cache auf die Medien leeren kann.

Durch das Deaktivieren des Schreibcaches eines Laufwerks entfällt die Anforderung, dass das Laufwerk das FUA-Flag erfüllt. Sie können die Schreibzwischenspeicherung eines Datenträgers deaktivieren, indem Sie den IOCTL _ DISK SET CACHE _ _ INFORMATION-Steuerungscode _ auf dem Datenträger ausstellen. Der Zustand des Schreibcaches (ein/aus) wird bei Systemneustarts beibehalten. Das Ausstellen dieses Steuerungscodes hat sehr erhebliche Leistungseinbußen für alle E/A-Daten, die auf diesem Datenträger ausgegeben werden, was höchstwahrscheinlich zu einer spürbaren Leistungsbeeinträchtigung führen wird. Die Verwendung dieses Steuerungscodes sollte vor der Bereitstellung sorgfältig in Betracht gezogen werden.

Hinweis

Damit TxF die Integrität Ihrer Daten durch Stromfehler konsistent schützen kann, muss das System mindestens eines der folgenden Kriterien erfüllen:

  • Verwenden Sie Serverklassendatenträger (SCSI, Fiber Channel).
  • Stellen Sie sicher, dass die Datenträger mit einem akkubasierten Cache-HBA verbunden sind.
  • Verwenden Sie einen Speichercontroller (z. B. ein RAID-System) als Speichergerät.
  • Stellen Sie sicher, dass die Stromversorgung des Datenträgers durch eine USV geschützt ist.
  • Stellen Sie sicher, dass das Schreibcachefeature des Datenträgers deaktiviert ist.