Menambahkan sebagai jawaban berdasarkan komentar Anda.
Solusinya adalah menambahkan lookupcache=none
opsi nfs mount Anda.
Apa yang terjadi adalah bahwa pertama kali klien Anda membaca file, ia melakukan pencarian NFS untuk mendapatkan fileid NFS. Itu kemudian cache NFS fileid, dan ketika Anda kembali untuk membuka file, itu menggunakan cache. Biasanya ini bukan masalah karena ketika file diperbarui fileid-nya tetap sama. Tetapi untuk beberapa alasan file lama sedang dihapus, dan yang baru dibuat (atau diganti namanya, atau sesuatu ke tempat itu bukan file yang sama).
Sekarang biasanya ini bukan masalah baik ketika klien Anda mencoba untuk membuka fileid yang tidak ada di sana, itu akan mendapatkan kesalahan dari server dan melakukan pencarian lain untuk mendapatkan fileid baru. Tetapi untuk beberapa alasan server NFS membiarkan klien membuka fileid lama itu. Mungkin klien lain memiliki file terbuka dan belum dihapus, saya tidak tahu.
Bagaimanapun cara untuk menyelesaikannya adalah memberi tahu klien untuk selalu melakukan nfslookup sebelum membuka file dengan menggunakan opsi mount nfs lookupcache=none
. Kelemahan dari ini adalah bahwa itu bisa mahal jika Anda sering membuka file karena menambah lebih banyak lalu lintas ke server NFS.
ls -i
pada klien sebelum mengedit file di server, lalu lagi setelah itu. Lihat apakah angkanya berubah. Jika mereka melakukannya karena server mengganti file dan klien tidak memperhatikan ini sampai memindai ulang direktori. Jika demikian cobalah mengatur opsi pemasanganlookupcache=none
dan lihat apakah perilakunya berubah.