Share via


Bereitstellen von transaktionsbasiertem NTFS

Transaktions-NTFS (TxF) hängt wie die meisten Transaktionsmechanismen von der richtigen Reihenfolge der Datenschreibvorgänge ab. Für eine ordnungsgemäße Schreibreihenfolge ist eine explizite Kontrolle der Datenzwischenspeicherung erforderlich. Um diese Anforderung zu erfüllen, erfordert TxF, dass Datenträger die Zwischenspeicherungssteuerungsmechanismen implementieren, die Teil standardisierter Laufwerkschnittstellen wie SCSI, SATA und ATA sind.

Der von TxF verwendete Zwischenspeicherungssteuerungsmechanismus ist ein Flag, das als FUA-Funktion (Force Unit Access) bezeichnet wird. Dieses Flag gibt an, dass das Laufwerk die Daten vor dem Abschluss in einen stabilen Medienspeicher schreiben soll. An bestimmten kritischen Punkten innerhalb einer Transaktion muss TxF eine FUA ausstellen, um sicherzustellen, dass einige Steuerungsdaten, die für ein erfolgreiches Rollback einer Transaktion erforderlich sind, bei einem Stromausfall nicht verloren gehen.

Datenträgerlaufwerke der Serverklasse (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 Fiber Channel-Datenträger.

Auf Standardlaufwerken (ATA/SATA/USB) weist TxF Sicherheitsrisiken auf, in denen ein Laufwerksstromausfall dazu führen kann, dass TxF die Transaktion nicht ordnungsgemäß zurückrollbacken kann, sodass die Daten in einem inkonsistenten Zustand verbleiben, es sei denn, der Schreibcache des Laufwerks ist deaktiviert.

Einige Host Bus Adapter (HBAs) und Speichercontroller (z. B. RAID-Systeme) verfügen über integrierte batteriegestützte Caches. Da diese Geräte im Fall eines Stromausfalls zwischengespeicherte Daten beibehalten, sind mit ihnen verbundene Datenträger nicht erforderlich, um das FUA-Flag zu beachten. Darüber hinaus muss ein Datenträger, dessen Stromversorgung durch eine unterbrechungsfreie Stromversorgung (USV) geschützt ist, das FUA-Flag nicht beachten. Dies liegt daran, dass die USV die Energie lange genug aufrechterhalten wird, damit 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 berücksichtigt. Sie können die Schreibzwischenspeicherung eines Datenträgers deaktivieren, indem Sie den IOCTL_DISK_SET_CACHE_INFORMATION Steuercode auf dem Datenträger ausgeben. Der Zustand des Schreibcaches (ein/aus) wird über Systemneustarts hinweg beibehalten. Die Ausgabe dieses Kontrollcodes hat sehr erhebliche Leistungseinbußen für alle E/A-Vorgänge, die auf diesen Datenträger ausgegeben werden, was höchstwahrscheinlich zu einer spürbaren Leistungsbeeinträchtigung führen wird. Die Verwendung dieses Kontrollcodes sollte vor der Bereitstellung sorgfältig überlegt werden.

Hinweis

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

  • Verwenden Sie Datenträger der Serverklasse (SCSI, Fiber Channel).
  • Stellen Sie sicher, dass die Datenträger mit einem akkugestützten Zwischenspeicherungs-HBA verbunden sind.
  • Verwenden Sie einen Speichercontroller (z. B. RAID-System) als Speichergerät.
  • Stellen Sie sicher, dass die Stromversorgung des Datenträgers durch eine USV geschützt ist.
  • Stellen Sie sicher, dass die Schreibzwischenspeicherung des Datenträgers deaktiviert ist.