在linux中,rpc.statd是一個進程,實現了網路狀態監控(NSM)RPC協議,通知NFS客戶端什麼時候一個NFS伺服器非正常重啟動,語法“ /sbin/rpc.statd [-F] [-d] [-?] [-n name ] [-o port ] [-p port ] [-V]」。 nfslock服務會自動啟動rpc.statd進程,不需要使用者進行設定。
下面的RPC後台進程是為NFS提供服務的
#rpc.mountd
:這個進程接受來自NFS客戶端的加載請求和驗證請求的檔案系統正在輸出。這個進程由NFS服務自動啟動,不需要使用者的設定。
rpc.nfsd
:這個進程是NFS伺服器.它和Linux核心一起工作來滿足NFS客戶端的動態需求,例如提供為每個NFS客戶端的每次請求伺服器線程。這個進程對應到nfs服務。
rpc.lockd
:一個可選的進程,它允許NFS客戶端在伺服器上對檔案加鎖。這個進程對應到nfslock服務。
rpc.statd
:這個進程實現了網路狀態監控(NSM)RPC協議,通知NFS客戶端什麼時候一個NFS伺服器非正常重啟動。這個程序被nfslock服務自動啟動。不需要使用者的配置。
rpc.rquotad
:這個程序對於遠端使用者提供使用者配額資訊。這個進程被nfs服務自動啟動,不需要使用者的設定。
#rpc.statd 服務實作了 NSM(網路狀態監視器)RPC 協定。
這項服務的名稱有些錯誤,因為它實際上並沒有像人們懷疑的那樣提供主動監控;相反,NSM 實現了重啟通知服務。
rpc.lockd 是用來在 NFS 伺服器崩潰和重新啟動時恢復鎖定的檔案服務。
使用 rpc.statd
過去,在某些 Linux 發行版上,我們需要在啟動 NFS 伺服器時單獨啟動 rpc.statd。
這主要是由於舊的 Sysvinit 系統。
現在,我們會發現啟動 NFS 將自動啟動 rpc.statd 和伺服器正常運作所需的任何其他元件。
systemctl start nfs
或(取決於發行版)
systemctl start nfs-server
在啟動時啟用伺服器時也是如此。
基於Debian 的發行版,例如Ubuntu 和Linux Mint 將在我們安裝後立即啟用NFS,因此無需執行此操作,但啟用伺服器看起來像這樣:
systemctl enable nfs
或
systemctl enable nfs-server
同樣,確切的指令取決於發行版。
「nfs-server」是一個基於 Debian 的系統。
如果我們需要自訂 rpc.statd 的行為,我們可以使用以下選項進行操作。
通常,我們不會希望單獨執行該命令。
相反,我們將複製 Systemd 服務文件,建立原始備份和新副本以自由修改。
然後,我們將使用下列選項來變更從該服務檔案呼叫服務的方式。
語法
/sbin/rpc.statd [-F] [-d] [-?] [-n name ] [-o port ] [-p port ] [-V]
操作
對於要監視的每個NFS 用戶端或伺服器機器, rpc.statd 在/var/lib/nfs/statd/sm 中建立一個檔案。
啟動時,它遍歷這些檔案並通知這些機器上的 peerrpc.statd。
選項
-F
#預設情況下,rpc.statd 在啟動時分叉並置於後台。
-F 參數告訴它要保持在前台。
此選項主要用於偵錯目的。
-d
預設情況下,rpc.statd 透過 syslog (3) 將日誌訊息傳送到系統日誌。
-d 參數強制它改為將詳細輸出記錄到 stderr。
此選項主要用於偵錯目的,只能與 -F 參數結合使用。
-n, --name name
為 rpc.statd 指定一個名稱以用作本機主機名稱。
預設情況下,rpc.statd 會呼叫 gethostname(2) 來取得本機主機名稱。
指定本機主機名稱對於具有多個介面的機器可能很有用。
-o, --outgoing-port 連接埠
為 rpc.statd 指定一個端口,以從中發送傳出狀態請求。
預設情況下,rpc.statd 會要求 portmap (8) 為其指派一個連接埠號碼。
在撰寫本文時,還沒有 portmap 總是或通常分配的標準連接埠號碼。
在實作防火牆時指定連接埠可能很有用。
-p, --port 連接埠
指定 rpc.statd 監聽的連接埠。
預設情況下,rpc.statd 會要求 portmap (8) 為其指派一個連接埠號碼。
在撰寫本文時,還沒有 portmap 總是或通常分配的標準連接埠號碼。
在實作防火牆時指定連接埠可能很有用。
-?
導致 rpc.statd 列印出命令列幫助並退出。
-V
使 rpc.statd 列印出版本資訊並退出。
TCP_WRAPPERS SUPPORT
此 rpc.statd 版本受 tcp_wrapper 函式庫保護。
如果允许客户端使用 rpc.statd,则必须授予客户端访问权限。
要允许来自 .bar.com 域的客户端的连接,我们可以在 /etc/hosts.allow 中使用以下行:
statd: .bar.com
我们必须使用守护程序名称 statd 作为守护程序名称(即使二进制文件具有不同的名称)。
以上是linux rpc.statd的作用是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!