man statd(rpc.statd中文手冊),statdrpc.statd

來源:互聯網
上載者:User

man statd(rpc.statd中文手冊),statdrpc.statd

rpc.statd程式主要實現NFS鎖相關內容,如普通的檔案鎖(NLM、NSM)、檔案委託、租約等,但注意,它和sm-notify組合起來才能實現整個NFS鎖機制,具體見下文翻譯文檔中的說明。

RPC.STATD(8)                          System Manager's Manual                       RPC.STATD(8)NAME       rpc.statd - NSM服務守護進程SYNOPSIS       rpc.statd [-dh?FLNvV] [-H prog] [-n my-name] [-o outgoing-port]                 [-p listener-port] [-P path]                 [--nlm-port port] [--nlm-udp-port port]DESCRIPTION       檔案鎖不是持久檔案系統狀態的一部分。因此當主機重啟時鎖的狀態會丟失。       當遠程主機重啟時,網路檔案系統必須能夠探測到鎖狀態的丟失。當NFS用戶端重啟時,NFS服務       端必須釋放該用戶端所申請的所有檔案鎖。在服務端重啟後,用戶端必須能夠提醒服務端它所申       請的所有檔案鎖。       對於NFSv2和NFSv3,使用網路狀態監控器Network Status Monitor(NSM)協議來通知NFS對端關於重       啟的事情。在Linux上,NSM服務進程由兩個獨立的使用者空間程式組成:          ● rpc.statd                            該守護進程用於監聽其他主機的重啟訊息,並管理本地主機重啟時需要通知的主機列表。          ● sm-notify              一個輔助程式,用於在本地系統重啟時通知NFS對端。                  (譯者註:也就是說rpc.statd是重啟資訊的接收者,而sm-notify是資訊的通知者)       本地NFS鎖管理器(NFS lock manager,NLM)會它本地的rpc.statd發出警告說列表中的每個遠程對端       狀態都需要被監控。當本地系統重啟時,sm-notify命令會通知對端上的NSM服務關於自己重啟的       事。當遠程主機重啟時,遠程對端的sm-notify通知本地的rcp.statd,然後將此資訊告訴本地NFS       鎖管理器,本地鎖管理器將維護與重啟端對應檔案的鎖。NSM OPERATION IN DETAIL       NFS用戶端和服務端之間的第一個檔案鎖互動行為會使得兩端的NLM都去聯絡它們本地的NSM服務以       儲存它們對端的資訊。在Linux上,也就是讓本地所管理器去聯絡rpc.statd守護進程。       rpc.statd會將NFS對端資訊記錄在持久儲存上。該資訊描述了如果本地系統重啟時如何去聯絡遠程       對端,如何識別對端報告它在重啟的資訊,以及當對端說它已經重啟完成時如何通知NLM。       每個用戶端在每個檔案鎖請求中都會發送一個稱為用戶端caller_name的主機名稱。NFS服務端可以使       用該主機名稱向用戶端發送非同步GRANT調用,或者通知用戶端它已經重啟完成。       Linux NFS服務端可以將用戶端的caller_name或用戶端的網路地址提供給rpc.statd。為了遵守NSM       協議,該名稱或地址被稱為對端mon_name。另外,本地鎖管理器會告訴rpc.statd它自己的主機名稱,       為了遵守NSM協議,該主機名稱被稱為my_name。       在NFS中,NFS服務端沒有通知用戶端它的主機名稱的互動行為。因此NFS用戶端實際上不知道服務端       的mon_name,儘管在SM_NOTIFY請求中會使用的它。Linux NFS用戶端是通過使用從掛載命令中擷取       到的服務端主機名稱或地址來識別正在啟動的NFS服務端的。   Reboot notification       當本地系統重啟時,本地的sm-notify命令從持久儲存中讀取監控對端列表,並發送SM_NOTIFY請求       給列表中每個遠程對端的NSM服務進程,它使用mon_name字串來指定發送目標。為了識別哪個主       機已經重啟完成,重啟後的主機會使用sm-notify命令發送my_name字串。遠程rpc.statd將使用       該字串與其監控列表中的對端相匹配以找出發送SM_NOTIFY請求的主機。              如果rpc.statd在它的監控列表中未找到能匹配接收到的SM_NOTIFY請求的對端,則通知不會被轉寄       給本地鎖管理器。另外,每個對端都專屬一個32位整數NSM狀態代碼,在每次重啟之後,sm-notify命       令都會讓它碰撞重複。rpc.statd使用該號碼來區分是重啟還是通知重放。       NFS鎖恢複的一部分是重新發現哪個對端需要被再次監控。在每次重啟之後,sm-notify命令都會清       空持久儲存上的監控列表。OPTIONS       -d, --no-syslog              若同時指定了"-F"選項,則表示讓rpc.statd不再向syslog中寫日誌,而是輸出的stderr中。       -F, --foreground              使得rpc.statd附在控制終端上以便NSM操作可以直接被監控到,主要是為了調試。如果不指              定該選項,則rpc.statd啟動後立即進入後台運行。       -h, -?, --help              輸出rpc.statd命令的使用說明並退出。       -H, --ha-callout prog              指定一個高可用callout程式。如果未指定該選項,則不執行任何callout程式。詳細說明見              下面的"High-availability callouts"段落。       -L, --no-notify              阻止rpc.statd在其啟動時運行sm-notify命令,以及阻止保留已存在的NSM狀態號碼和監控列              表。              注意:sm-notify命令包含了一次檢查以確保在每次系統重啟後它僅運行了一次。若rpc.statd              以不帶"-L"選項重啟時,這可以防止虛假的重啟通知。       -n, --name ipaddr | hostname              指定RPC監聽通訊端綁定的地址。如果未指定該選項,rpc.statd使用通配地址(即0.0.0.0)。                            該字串也會被傳遞給sm-notify命令,用於作為發送重啟通知請求時的源地址。詳細內容見              sm-notify(8)的man文檔。       -N     讓rpc.statd執行sm-notify命令然後退出。由於sm-notify命令可直接運行,該選項已廢棄。       -o, --outgoing-port port              指定當sm-notify命令發送重啟通知時使用的源連接埠號碼。詳細內容見sm-notify(8)的man文檔。       -p, --port port              指定rpc監聽通訊端監聽的連接埠號碼。如果未指定該選項,則rpc.statd會嘗試從/etc/services中              擷取,如果擷取成功,則為所有監聽通訊端都設定此連接埠號碼,否則將為每個監聽通訊端都選擇              一個隨機連接埠號碼。                            該選項在SM_NOTIFY需要穿越防火牆時可以用來調整連接埠號碼,防止被防火牆堵住。       -T, --nlm-port port              指定監聽NLM請求的連接埠號碼。除非使用了"-U"單獨指定了UDP連接埠號碼,否則將同時監聽TCP和UDP的              連接埠號碼。       -U, --nlm-udp-port port              指定監聽NLM請求的UDP連接埠號碼。       -P, --state-directory-path pathname              指定NSM狀態資訊儲存路徑的父目錄。如果未指定該選項,則預設為/var/lib/nfs/statd。              程式啟動之後,rpc.statd將嘗試為此目錄使用UID和GID設定它的所有者和所屬組。       -v, -V, --version              輸出rpc.statd的版本號碼並退出。SECURITY       The rpc.statd daemon must be started as root to acquire privileges needed to create sockets with       privileged source ports, and  to  access the state information database.  Because rpc.statd mai-       ntains a long-running network service, however, it drops root privileges as soon as it starts up       to reduce the risk of a privilege escalation attack.       During normal operation, the effective user ID it chooses is the owner of the state directory.         This allows  it  to  continue  to  access files in that directory after it has dropped its root       privileges.  To control which user ID rpc.statd chooses, simply use chown(1) to set the owner of        the state directory.       You can also protect your rpc.statd listeners using the tcp_wrapper library or iptables(8).  To       use  the  tcp_wrapper  library,  add  the hostnames  of peers that should be allowed access to        /etc/hosts.allow. Use the daemon name statd even if the rpc.statd binary has a different filename.       For further information see the tcpd(8) and hosts_access(5) man pages.ADDITIONAL NOTES       主機重啟後的鎖恢複對於維護資料一致性和防止不必要的應用程式掛起至關重要。為了能讓       rpc.statd更高效地匹配SM_NOTIFY請求,應該遵守一些最佳實務,包括:              系統的UTS名稱需要和NFS對端用來做聯絡的DNS名稱相匹配。              (註:若不知何為UTS名,可以簡單地認為UTS名稱就是主機名稱)              系統的UTS名稱應該總是fqdn格式的名稱。              系統的UTS名的正向和反向DNS映射最好要保持一致。              用戶端用來掛載的服務端的主機名稱最好能匹配它所發送的SM_NOTIFY請求中的mon_name。       卸載NFS檔案系統時無需停止用戶端或服務端任意一端的狀態監控。兩端可能會繼續保持監控一段       時間,以防這兩端間後續再次出現新的掛載和額外的檔案鎖的NFS流量出現。       在Linux上,如果沒有裝在核心鎖模組,所有的遠程NFS對端都不會被監控。這可能會發生在NFS的       用戶端上,例如,自動掛載工具移除了所有NFS掛載點,因為它們處於空閑非使用中。   High-availability callouts       在rpc.statd成功處理SM_MON, SM_UNMOU和SM_UNMON_ALL請求時或接收到SM_NOTIFY時,rpc.statd可以       執行一個特定的回調(callout)程式。這個程式在高可用NFS(HA-NFS)環境下可用來跟蹤鎖狀態,特別       是某節點主機重啟後資源需要遷移時。       callout程式的名稱由rpc.statd的"-H"選項指定。該程式運行時有4個參數:第一個參數是add-client       或del-client或sm-notify,這取決於之所以要調用callout的原因。第二個參數是監控對端的mon_name。       第三個參數是鎖管理器要add-client或del-client時的caller_name,否則則是發送SM_NOTIFY請求的IP       地址。第四個參數是SM_NOTIFY請求中的state_value。   IPv6 and TI-RPC support       TI-RPC is a pre-requisite for supporting NFS on IPv6. If TI-RPC support is built into rpc.statd,       it attempts to start listeners on network transports  marked 'visible' in /etc/netconfig. As       long as at least one network transport listener starts successfully, rpc.statd will operate.FILES       /var/lib/nfs/statd/sm    directory containing monitor list       /var/lib/nfs/statd/sm.bak                                directory containing notify list       /var/lib/nfs/statd/state NSM state number for this host       /var/run/run.statd.pid   pid file       /etc/netconfig           network transport capability databaseSEE ALSO       sm-notify(8),nfs(5),rpc.nfsd(8),rpcbind(8),tcpd(8),hosts_access(5),iptables(8),netconfig(5)       RFC 1094 - "NFS: Network File System Protocol Specification"       RFC 1813 - "NFS Version 3 Protocol Specification"       OpenGroup Protocols for Interworking: XNFS, Version 3W - Chapter 11AUTHORS       Jeff Uphoff <juphoff@users.sourceforge.net>       Olaf Kirch <okir@monad.swb.de>       H.J. Lu <hjl@gnu.org>       Lon Hohberger <hohberger@missioncriticallinux.com>       Paul Clements <paul.clements@steeleye.com>       Chuck Lever <chuck.lever@oracle.com>                                  1 November 2009                                 RPC.STATD(8)

以下是NFS相關翻譯篇:

翻譯:man rpcbind(rpcbind中文手冊)翻譯:man nfsd(rpc.nfsd中文手冊)翻譯:man mountd(rpc.mountd中文手冊)翻譯:man statd(rpc.statd中文手冊)翻譯:man sm-notify(sm-notify命令中文手冊)翻譯:man exportfs(exportfs命令中文手冊)部分翻譯:man nfs

 

回到系列文章大綱:http://www.cnblogs.com/f-ck-need-u/p/7048359.html

轉載請註明出處:http://www.cnblogs.com/f-ck-need-u/p/7302593.html註:若您覺得這篇文章還不錯請點擊下右下角的推薦,有了您的支援才能激發作者更大的寫作熱情,非常感謝!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.