Bagaimana cara NFS membaca cache bekerja di Debian?

12

Saya berencana menggunakan NFS untuk melayani banyak file kecil. Mereka akan dibaca sangat sering sehingga caching sisi klien sangat penting. Apakah NFS menangani ini? Apakah ada cara untuk meningkatkan caching sisi klien dalam beberapa cara?

... atau haruskah saya melihat solusi lain? Sinkronisasi menggunakan rsync atau serentak secara berkala bukanlah suatu pilihan karena file-file tersebut dimodifikasi pada sisi klien dari waktu ke waktu.

Ztyx
sumber

Jawaban:

6

Pertama, NFS tidak menyediakan koherensi cache, jadi jika Anda membutuhkannya, Anda harus mencari di tempat lain.

Apa yang ditentukan NFS adalah model yang lebih lemah yang disebut konsistensi dekat dengan terbuka. Yang berarti bahwa ketika suatu file ditutup, data kotor apa saja dibilas ke server. Sebaliknya, ketika file dibuka, pemeriksaan atribut dilakukan, yang berarti bahwa jika klien telah membuat cache halaman dari file itu, ia memeriksa apakah halaman tersebut masih valid.

Meskipun tidak dalam spesifikasi itu sendiri, sebagian besar klien NFS memiliki sesuatu yang disebut timeout atribut cache, yaitu berapa umur atribut direktori atau file yang dibuka sebelum klien menghubungi server untuk memvalidasi ulang mereka. Di Linux, lihat opsi pemasangan actimeo = etc. Nilai yang lebih tinggi memungkinkan caching yang lebih agresif, tetapi meningkatkan risiko menggunakan data basi jika beberapa klien lain memperbarui file sementara itu.

janneb
sumber
Terimakasih atas balasan anda. Jadi, supaya saya mengerti ini dengan benar, sisi klien "cache atribut" hanya berisi cache untuk file / dir-atribut yaitu. cache tidak mengandung konten file apa pun?
Ztyx
Ya, klien menyimpan konten file dalam cache halaman, seperti halnya untuk sistem file lokal. Atribut digunakan untuk memutuskan apakah dan kapan konten file yang di-cache tidak valid.
janneb
Ah. Terima kasih banyak untuk menjawab ini. Semoga harimu menyenangkan.
Ztyx
Ketika Anda mengatakan "halaman" tampaknya itu berarti bahwa sebagian file dapat di-cache dan bagian file mungkin tidak? Ini bukan file cache bukan? Ini adalah subdivisi dari file yang dapat di-cache.
CMCDragonkai
@ CMCDragonkai: Kernel melacak konten file yang di-cache di granularity halaman (biasanya 4KB), jadi ya, itu bisa men-cache bagian dari file. Saya tidak yakin bagaimana tepatnya pembatalan cache berfungsi untuk NFS, dugaan saya adalah bahwa setelah batas waktu cache atribut ketika menghubungi server untuk memvalidasi ulang, dan jika validasi ulang gagal, maka akan menjatuhkan semua halaman yang di-cache milik file itu.
janneb