NFS desteğini inotify?
Ağa bakıldığında, inotify'ın NFS'yi destekleyebileceği, ancak çok sınırlı bir şekilde görüneceği anlaşılıyor.
sergi # 1
Nedeni şu StackOverflow Soru-Cevap bölümünde açıklanmıştır: NFS ile inotify .
kabul edilen cevaptan alıntı
inotify çalışmak için çekirdekten destek gerektirir. Bir uygulama bir dizini izlediğinde, çekirdekten bu değişiklikler meydana geldiğinde onu bilgilendirmesini ister. Değişiklik gerçekleştiğinde, bu değişiklikleri diske yazmanın yanı sıra, çekirdek de izleme işlemini bildirir.
Uzak bir NFS makinesinde, değişiklik çekirdek tarafından görülemez; tamamen uzaktan gerçekleşir. NFS inotify'dan önce gelir ve NFS'de veya eşdeğeri herhangi bir şeyde ağ düzeyinde destek yoktur.
sergi # 2
İnotify SSS bölümüne bakarsanız biraz daha araştırma yapmak
S: Sysfs (procfs, nfs ...) izleyebilir miyim?
Basitçe konuşulursa: evet, ancak bazı sınırlamalarla. Bu sınırlamalar çekirdek sürümleri arasında değişiklik gösterir ve küçülme eğilimi gösterir. Lütfen belirli dosya sistemleri hakkındaki bilgileri okuyun.
Yani destekleniyor mu?
Nihayetinde yaşadığınız şey, NFS'nin yerel olarak monte edilen dosya sistemleriyle aynı özelliklerin hepsine eşdeğer bir elma sağlamadığıdır.
Örneğin bir nfs linux iş parçacığından :
- CIFS'de yerleşik bildirim özellikleri vardır (oplocks)
- NFS bildirim için "kiralamalar" sağlar
Buradaki nokta, CIFS ve NFS gibi alternatif dosya sisteminin, doğrudan inotify için herhangi bir destek varsa, çok temel sunduğudur.
NFS v4 durumu
NFS v4 durumu hakkındaki IBM makalesinden alıntı
NFS sürüm 4, istemcinin durum oluşturması veya yeniden kurması için bir protokol sağlar ve sonraki sunucu durum bilgisi olan işlemlerin sahipliğini önceden kurulmuş durumlarla ilişkilendirir. İstemci sorununu çözmek için, NFS sürüm 4 istemcisinin durumu sunucu tarafından belirtilen kiralama süresi içinde rutin olarak yenilemesi gerekir. Kiralama zaman aşımına uğradığında, sunucu istemci için kaynakları serbest bırakabilir ve diğer uygulamalar için kullanılabilir hale getirebilir.
- İstemci, bir getattr işlemi düzenleyerek sunucu tarafından belirtilen kiralama zaman aşımı özelliğini alır. getattr durum bilgisi olan bir işlem değildir, bu nedenle önceden durumun belirlenmesini gerektirmez. Bir getattr işlemi, setclientid veya setclientid_confirm işleminden önce gelebilir.
- Kira sürelerini ayarlamak ve ayarlamak için NFS sunucusunun kira süresi site özelliğine bakın. *
inotify
, NFS'de olay olmadığını gösterir .