Pengantar Sistem File Log Umum

Common Log File System (CLFS) adalah layanan pengelogan tujuan umum yang dapat digunakan oleh klien perangkat lunak yang berjalan dalam mode pengguna atau mode kernel. Dokumentasi ini membahas antarmuka CLFS untuk klien mode kernel. Untuk informasi tentang antarmuka mode pengguna, lihat Sistem File Log Umum di Microsoft Windows SDK.

CLFS merangkum semua fungsionalitas Algoritma untuk Semantik Eksploitasi Pemulihan dan Isolasi (ARIES). Namun, antarmuka driver perangkat CLFS (DDI) tidak terbatas pada mendukung ARIES; sangat cocok untuk berbagai skenario pengelogan.

Pekerjaan utama dari log transaksi berkinerja tinggi adalah memungkinkan klien log mengulangi riwayat secara akurat. CLFS melakukan ini dengan marshalling catatan log klien ke dalam buffer memori, memaksa mereka ke penyimpanan yang stabil, dan membaca rekaman kembali berdasarkan permintaan. Penting untuk dicatat bahwa setelah rekaman berhasil ke penyimpanan yang stabil dan media penyimpanan utuh, CLFS akan dapat membaca catatan di seluruh kegagalan sistem.

CLFS mendukung log khusus dan log multipleks. Log khusus memiliki satu aliran rekaman log yang digunakan oleh semua klien log. Log multipleks (juga disebut log umum) memiliki beberapa aliran. Setiap aliran memiliki klien sendiri dan buffer memorinya sendiri untuk marshalling catatan log, tetapi catatan dari semua buffer tersebut di-multipleks menjadi satu antrean dan dibersihkan ke satu log pada penyimpanan yang stabil. Multiplexing memungkinkan operasi I/O dari beberapa aliran dikonsolidasikan.

Ketika klien menulis rekaman ke aliran, klien mendapatkan kembali nomor urutan log (LSN) yang mengidentifikasi catatan log untuk referensi di masa mendatang. LSN yang ditetapkan ke rekaman yang ditulis ke aliran tertentu membentuk urutan yang meningkat. Artinya, LSN yang ditetapkan ke rekaman yang ditulis ke aliran selalu lebih besar dari LSN yang ditetapkan ke rekaman sebelumnya yang ditulis ke aliran yang sama.

CLFS menyediakan beberapa layanan selain marshalling, flushing, dan pengambilan catatan log. Daftar berikut ini menjelaskan beberapa layanan tambahan tersebut.

  • Ruang untuk sekumpulan rekaman log terkait dapat dicadangkan sebelumnya. Ini berarti bahwa klien dapat melanjutkan dengan transaksi yang mengetahui bahwa CLFS akan dapat menambahkan ke log semua catatan yang menjelaskan transaksi.

  • CLFS mempertahankan header untuk setiap rekaman log. Klien dapat mengatur bidang tertentu di header untuk membuat rantai rekaman tertaut yang nantinya dapat Anda lalui dalam urutan terbalik.

  • CLFS menghapus catatan log ke penyimpanan yang stabil sesuai dengan kebijakannya, tetapi juga memungkinkan klien untuk memaksa sekumpulan catatan log ke penyimpanan yang stabil.

  • CLFS mempertahankan metadata untuk log dan juga untuk setiap aliran log multipleks. Klien dapat melihat metadata dan mengatur bagian tertentu dari metadata.

  • Untuk setiap aliran, CLFS mempertahankan LSN dasar dan LSN terakhir yang dapat digunakan klien untuk menguraikan bagian aktif aliran.

  • Untuk log khusus, CLFS mempertahankan (atas permintaan klien) ekor arsip yang dapat digunakan klien untuk melacak bagian log yang telah diarsipkan.

Fitur tertentu dari CLFS (misalnya, bidang LSN sebelumnya dan Urungkan LSN berikutnya dari header rekaman) dapat paling dipahami dengan mempelajari ARIES. Untuk informasi selengkapnya tentang ARIES, lihat makalah berikut ini.

  • C. Mohan, Don Haderle, Bruce Lindsay, Hamid Pirahesh, Peter Schwarz, ARIES: Metode Pemulihan Transaksi Yang Mendukung Penguncian Fine-Granularity dan Pembatalan Parsial Menggunakan Pengelogan Write-Ahead.

  • C. Mohan, mengulangi sejarah di luar ARIES.