亚洲一区精品自拍_2021年国内精品久久_男同十八禁gv在线观看_免费观看a级性爱黄片

Article / 文章中心

阿里云文件存儲NAS是否支持inotify?

發(fā)布時間:2019-06-03 點擊數(shù):1572

使用 inotifywait 配合 rsync 是一種常見的準實時數(shù)據(jù)備份/同步方案,但在NAS文件系統(tǒng)上 inotifywait 無法正常工作,這是由于 inotify 本身的實現(xiàn)機制導(dǎo)致的。

inotifywait 原理簡介

inotifywait 是Linux 內(nèi)核子模塊 inotify 的用戶態(tài)接口實現(xiàn),inotify 實現(xiàn)在 VFS 層,當文件操作到達 VFS 層時,inotify 模塊會將操作類型(創(chuàng)建/刪除/屬性改變等)和操作對象(文件名)反饋給用戶態(tài),用戶態(tài)的 inotifywait 即可將本次操作信息輸出給用戶。

NAS 上使用 inotifywait 存在的問題

由于 inotify 是在 kernel 的 VFS 層實現(xiàn)的,因此在 NFS 文件系統(tǒng)上,遠程客戶端對 NFS 文件系統(tǒng)的操作無法被本地 kernel 所感知,inotify 也就無法感知遠程客戶端的文件修改操作。

因此,在 NAS 上使用 inotifywait 會出現(xiàn)以下現(xiàn)象:

?在客戶端 A 和 B 同時掛載一個 NAS 文件系統(tǒng),在客戶端 A 啟動 inotifywait 監(jiān)聽掛載目錄。

?在客戶端 A 上操作掛載目錄中的文件,可以被 inotifywait 感知。

?在客戶端 B 上操作掛載目錄中的文件,inotifywait 無法感知任何文件操作。

替代方案

一個可行的替代方案是使用 FAM, FAM 是一個用來監(jiān)聽文件或目錄的庫,全部在用戶態(tài)實現(xiàn),原理是在后臺運行一個 daemon,定時掃描目錄,獲取文件變化情況。

但是使用 FAM 存在以下幾個缺陷:

?需要自己寫程序調(diào)用 FAM 接口實現(xiàn)功能。

?對于文件數(shù)目很多的場景,使用該方案性能會較差,可能消耗大量資源,無法做到很好的實時性。

阿里云代理商 阿里鉑金合作伙伴