Nfs
如何安裝 nfslock 守護程序
我想學習我在網上沖浪的 NFS 鎖定機制。使用
nfslockd
或者rpc.lockd
我們可以做到。但是在 Debian 中沒有包。任何人都請幫助我是否應該在Debian中做。
舊版本的 NFS (v2/v3) 可以在沒有鎖的情況下使用。為了支持鎖定,在伺服器上使用了一個單獨的鎖定守護程序,與 nfsd 並駕齊驅。
對於 NFSv4(您已標記問題),鎖定是協議的必需部分,並且單獨的鎖定守護程序不用於 v4 服務。
如果你有一個 nfsv4 掛載,你應該能夠鎖定一個文件,就像你在本地文件系統上鎖定一個文件一樣。
感謝您的評論我想將文件鎖定在伺服器本身,如果一個客戶端使用文件,另一個客戶端在第一個客戶端發布之前不會訪問。我想避免這種類型的競爭條件。
Unix 使用諮詢鎖定,在客戶端強制執行,而不是文件系統(這是 Windows 傾向於這樣做的方式)。這意味著您的所有客戶都需要參與鎖定。
如果您的客戶在訪問文件之前請求鎖定,那麼一切都會好起來的。只有在其他客戶端釋放鎖之後,其他客戶端才能獲得鎖。
fcntl
本地和 NFS 文件系統通常都支持呼叫。查看Wikipedia 上的 UNIX 中的文件鎖定了解一些背景知識。