Penerapan Transactional NTFS
Transactional NTFS (TxF), seperti kebanyakan mekanisme transaksi, tergantung pada urutan penulisan data yang benar. Memastikan urutan penulisan yang benar memerlukan kontrol eksplisit penyimpanan sementara data. Untuk memenuhi persyaratan ini, TxF mengharuskan drive cakram menerapkan mekanisme kontrol cache sebagai bagian dari antarmuka drive standar seperti SCSI, SATA, dan ATA.
Mekanisme kontrol caching yang digunakan oleh TxF adalah penanda yang dikenal sebagai fitur Force Unit Access (FUA). Bendera ini menentukan bahwa drive harus menulis data ke penyimpanan media yang stabil sebelum sinyal selesai. Pada titik kritis tertentu dalam transaksi, TxF perlu mengeluarkan FUA untuk memastikan bahwa beberapa data kontrol yang diperlukan untuk berhasil memutar kembali transaksi tidak hilang jika kegagalan daya terjadi.
Drive disk kelas server (SCSI dan Fiber Channel) umumnya mendukung flag FUA. Mulai dari Vista, Windows mendukung bendera FUA hanya untuk disk SCSI dan Fiber Channel.
Pada drive umum (ATA/SATA/USB), TxF memiliki periode kerentanan di mana kegagalan daya drive dapat mengakibatkan TxF tidak dapat mengembalikan transaksi dengan benar, sehingga meninggalkan data dalam keadaan tidak konsisten kecuali cache tulis drive dinonaktifkan.
Beberapa Adaptor Bus Host (HBA) dan pengontrol penyimpanan (misalnya, sistem RAID) memiliki cache bawaan yang didukung baterai. Karena perangkat ini mempertahankan data yang di-cache jika kesalahan daya terjadi, disk apa pun yang terhubung dengannya tidak diperlukan untuk menghormati bendera FUA. Selanjutnya, disk yang catu dayanya dilindungi oleh catu daya tanpa gangguan (UPS) tidak perlu menghormati bendera FUA. Ini karena UPS akan mempertahankan daya cukup lama bagi disk untuk menyiram cache-nya ke media.
Menonaktifkan cache tulis pada drive menghilangkan persyaratan bagi drive untuk mematuhi flag FUA. Anda dapat menonaktifkan pengaturan cache penulisan pada disk dengan mengeluarkan kode kontrol IOCTL_DISK_SET_CACHE_INFORMATION. Status cache tulis (aktif/mati) akan dipertahankan di seluruh reboot sistem. Mengeluarkan kode kontrol ini akan memiliki konsekuensi performa yang sangat signifikan untuk semua I/O yang dikeluarkan untuk disk tersebut, yang kemungkinan besar akan menjadi penurunan performa yang nyata. Penggunaan kode kontrol ini harus dipertimbangkan dengan cermat sebelum penyebaran.
Nota
Agar TxF mampu melindungi integritas data Anda secara konsisten melalui kesalahan daya, sistem harus memenuhi setidaknya salah satu kriteria berikut:
- Gunakan disk kelas server (SCSI, Saluran Fiber).
- Pastikan disk-disk terhubung ke HBA cache yang didukung baterai.
- Gunakan pengontrol penyimpanan (misalnya, sistem RAID) sebagai perangkat penyimpanan.
- Pastikan daya ke disk dilindungi oleh sebuah UPS.
- Pastikan bahwa fitur penyimpanan sementara penulisan pada disk dinonaktifkan.