Tranzakciós NTFS üzembe helyezése
A tranzakciós NTFS (TxF) a legtöbb tranzakciós mechanizmushoz hasonlóan az adatírások helyes sorrendjétől függ. A megfelelő írási sorrend biztosításához explicit módon kell szabályozni az adatok gyorsítótárazását. Ennek a követelménynek a teljesítéséhez a TxF megköveteli, hogy a lemezmeghajtók olyan gyorsítótárazási vezérlési mechanizmusokat implementáljanak, amelyek a szabványosított meghajtófelületek, például az SCSI, a SATA és az ATA részét képezik.
A TxF által használt gyorsítótárazás-vezérlési mechanizmus a Force Unit Access (FUA) függvénynek nevezett jelző. Ez a jelző azt határozza meg, hogy a meghajtónak meg kell írnia az adatokat a stabil adathordozó-tárolóba, mielőtt a jelzés befejeződik. A tranzakció bizonyos kritikus pontjain a TxF-nek ki kell állítania egy FUA-t, hogy a tranzakció sikeres visszaállításához szükséges bizonyos vezérlőadatok ne vesszenek el áramkimaradás esetén.
A kiszolgálóosztályú lemezmeghajtók (SCSI és Fibre Channel) általában támogatják a FUA-jelzőt. A Vista-tól kezdve a Windows csak SCSI- és Fibre Channel-lemezek esetén támogatja a FUA-jelzőt.
Árumeghajtókon (ATA/SATA/USB) a TxF biztonsági résekkel rendelkezik, amelyek során a meghajtó áramkimaradása miatt a TxF nem tudja megfelelően visszaállítani a tranzakciót, így inkonzisztens állapotba kerülnek az adatok, kivéve, ha a meghajtó írási gyorsítótára le van tiltva.
Egyes gazdagépbusz-adapterek (HBA-k) és tárolóvezérlők (például RAID-rendszerek) beépített akkumulátoros gyorsítótárakat tartalmaznak. Mivel ezek az eszközök energiahiba esetén megőrzik a gyorsítótárazott adatokat, a hozzájuk csatlakoztatott lemezeknek nem kell tiszteletben tartaniuk a FUA-jelzőt. Továbbá egy lemeznek, amelynek áramellátását szünetmentes tápegység (UPS) védi, nem kell tisztelnie a FUA-jelzőt. Ennek az az oka, hogy az UPS elég hosszú ideig fogja fenntartani a teljesítményt ahhoz, hogy a lemez kiürítse a gyorsítótárát az adathordozóra.
A meghajtó írási gyorsítótárának letiltása szükségtelenné teszi, hogy a meghajtó betartsa a FUA-jelzőt. A lemez írási gyorsítótárazását letilthatja a IOCTL_DISK_SET_CACHE_INFORMATION vezérlőkód lemezre való kiadásával. Az írási gyorsítótár állapota (be- és kikapcsolása) a rendszer újraindítása során megmarad. Ennek a vezérlőkódnak a kiadása nagyon jelentős teljesítménybeli következményekkel jár az adott lemezre kibocsátott összes I/O-ra nézve, ami nagy valószínűséggel észrevehető teljesítménycsökkenést fog okozni. Ennek a vezérlőkódnak a használatát az üzembe helyezés előtt alaposan meg kell fontolni.
Jegyzet
Ahhoz, hogy a TxF képes legyen konzisztensen védeni az adatok integritását áramkimaradásokkal, a rendszernek meg kell felelnie az alábbi feltételek legalább egyikének:
- Használjon kiszolgálóosztályú lemezeket (SCSI, Fibre Channel).
- Győződjön meg arról, hogy a lemezek akkumulátorral támogatott, gyorsítótárral ellátott HBA-hoz vannak csatlakoztatva.
- Tárolóeszközként használjon tárolóvezérlőt (például RAID-rendszert).
- Győződjön meg arról, hogy a lemez energiaellátását UPS védi.
- Győződjön meg arról, hogy a lemez írási gyorsítótárazási funkciója le van tiltva.