GNU/Linux >> Belajar Linux >  >> Linux

Perintah Yang Akan Memaksa Linux Untuk Membersihkan Cache Dari Satu File Pada Berbagi Nfs?

Terkait dengan pertanyaan ini di StackOverflow, saya ingin tahu apakah ada cara bagi saya untuk membersihkan cache NFS / memaksa Linux untuk melihat salinan file terbaru yang ada di NFS share.

Saya memiliki situasi di mana empat server Apache memasang direktori yang sama melalui NFS, dan ketika satu server membuat perubahan ke file, dibutuhkan sekitar 5 – 10 detik untuk server lain untuk melihat perubahan itu. Jika perubahan kedua dilakukan pada file tersebut dalam jendela ini, perubahan pertama mungkin akan ditimpa.

fstab entri untuk sistem file adalah:

172.16.1.15:/home               /media/home     nfs     vers=3,defaults,noauto,sync,acregmin=1          0       0

Apakah ada perintah yang akan memaksa Linux untuk membersihkan cache dari satu file pada share NFS?

Jawaban yang Diterima:

Periksa item ini, dan lihat apakah ada yang cocok untuk Anda:

  1. Di klien , jika Anda belum menggunakan cto opsi di opsi kolom /etc/fstab baris untuk sistem file NFS Anda, tambahkan. cto memberitahu klien nfs untuk membuka file melalui close-to-open, yang membuat mereka me-refresh file setiap kali mereka membukanya.

  2. Di server , pastikan sistem file Anda diekspor dengan sync opsi, dan bukan async . Dengan penulisan sinkron, klien akan mem-flush ke disk saat file ditutup. (atau dengan nfs V3, setiap kali commit() dibuat ). Mungkin ada peningkatan kinerja seperti itu, tetapi jika Anda menulis ke sistem file NFS, Anda pasti ingin sync ditetapkan.

  3. Mengikuti posting stackoverflow itu, membuka file dengan O_DIRECT hanya berfungsi jika kernel dikompilasi dengan CONFIG_NFS_DIRECTIO.

  4. Juga, pastikan Anda memiliki pengaturan berikut di file httpd.conf Anda:

    • EnableMMAP off
    • EnableSendfile off

    Dari dokumentasi penyetelan kinerja Apache:

    • Jika Anda memetakan memori file yang terletak di sistem file yang dipasang NFS dan proses di mesin klien NFS lain menghapus atau memotong file, proses Anda mungkin mendapatkan kesalahan bus saat mencoba mengakses konten file yang dipetakan lagi.
    • Menonaktifkan EnableSendfile tidak akan secara khusus membantu perilaku sinkronisasi/asinkron NFS, tetapi perlu dimatikan jika Anda menggunakan Apache dengan NFS.

Linux
  1. Jenis Sistem File Linux Dijelaskan, Yang Mana Yang Harus Anda Gunakan

  2. ln Contoh Perintah di Linux

  3. File Contoh Perintah di Linux

  1. Perintah wc Linux

  2. Perintah grep Linux

  3. Satu perintah untuk membuat direktori dan file di dalamnya perintah linux

  1. Automount share NFS di Linux menggunakan autofs

  2. 8 Contoh Perintah Kepala di Linux

  3. 8 Contoh Perintah Stat di Linux