Nasazení transakčního systému souborů NTFS
Transakční SYSTÉM SOUBORŮ NTFS (TxF), podobně jako většina transakčních mechanismů, závisí na správném pořadí zápisů dat. Zajištění správného řazení zápisu vyžaduje explicitní kontrolu nad ukládáním dat do mezipaměti. Pro splnění tohoto požadavku TxF vyžaduje, aby diskové jednotky implementovaly mechanismy řízení ukládání do mezipaměti, které jsou součástí standardizovaných rozhraní jednotek, jako jsou SCSI, SATA a ATA.
Řídicí mechanismus ukládání do mezipaměti používaný TxF je příznak (flag) známý jako funkce Force Unit Access (FUA). Tento příznak určuje, že jednotka by měla zapisovat data do stabilního úložiště médií před dokončením signalizace. V určitých kritických bodech v rámci transakce musí TxF vydat FUA, aby se zajistilo, že některá řídicí data potřebná k úspěšnému vrácení transakce se neztratí, pokud dojde k selhání napájení.
Diskové jednotky třídy serveru (SCSI a Fiber Channel) obecně podporují příznak FUA. Počínaje Vista systém Windows podporuje příznak FUA pouze pro disky SCSI a Fibre Channel.
U běžně dostupných disků (ATA/SATA/USB) má TxF období zranitelnosti, během kterého může selhání napájení disku způsobit, že TxF není schopna správně vrátit zpět transakce, což může vést k tomu, že data zůstanou v nekonzistentním stavu, pokud není mezipaměť zápisu disku zakázána.
Některé adaptéry hostitelské sběrnice (HBA) a řadiče úložiště (například systémy RAID) mají integrované mezipaměti založené na baterii. Vzhledem k tomu, že tato zařízení uchovávají data uložená v mezipaměti i při výpadku napájení, disky připojené k nim nemusí dodržovat příznak FUA. Navíc disk, jehož napájecí zdroj je chráněn neinterrupovatelným zdrojem napájení (UPS), nemusí respektovat příznak FUA. Důvodem je to, že UPS bude udržovat napájení dostatečně dlouho, aby disk vyprázdnil mezipaměť na médium.
Zakázání mezipaměti zápisu jednotky eliminuje požadavek, aby jednotka respektovala příznak FUA. Můžete zakázat ukládání do mezipaměti pro zápis konkrétního disku tím, že vydáte na disk řídicí kód IOCTL_DISK_SET_CACHE_INFORMATION. Stav mezipaměti zápisu (zapnuto/vypnuto) se zachová v restartování systému. Vydání tohoto řídicího kódu bude mít velmi významné důsledky pro výkon všech vstupně-výstupních operací vydaných na tento disk, což bude s největší pravděpodobností znatelné snížení výkonu. Před nasazením byste měli pečlivě zvážit použití tohoto řídicího kódu.
Poznámka
Aby systém TxF mohl konzistentně chránit integritu dat prostřednictvím chyb napájení, musí splňovat alespoň jedno z následujících kritérií:
- Použijte disky třídy serveru (SCSI, Fiber Channel).
- Ujistěte se, že jsou disky připojené k adaptéru HBA s podporou baterií pro ukládání do mezipaměti.
- Jako úložné zařízení použijte řadič úložiště (například systém RAID).
- Zajistěte ochranu napájení na disk službou UPS.
- Ujistěte se, že je funkce ukládání do mezipaměti disku zakázaná.