man sm-notify(sm-notify Command manual in Chinese)
Collection of my translations：http://www.cnblogs.com/f-ck-need-u/p/7048359.html
sm-notify Command is used to send restart notification information toNFS Opposite end, It plays an important role in the process of lock state recovery. The instructions for this command are mostly andrpc.statd All the same.
SM-NOTIFY(8) System Manager's Manual SM-NOTIFY(8) NAME sm-notify -
Send system restart notification toNFS End to end tools SYNOPSIS/usr/sbin/sm-notify [-dfn] [-m minutes] [-v name] [-p
notify-port] [-P path] DESCRIPTION File lock is not part of persistent file system state. Therefore, the lock status will be lost when the host restarts.
When the remote host restarts, The network file system must be able to detect the loss of lock state. WhenNFS On client restart,NFS service
The client must release all file locks requested by the client. After the server is restarted, The client must be able to remind the server of its application All file locks requested for.
aboutNFSv2 andNFSv3, Using the network status monitorNetwork Status Monitor(NSM) Agreement to informNFS Opposite end about weight
Kai's business. stayLinux upper,NSM The service process consists of two independent user space programs： ● rpc.statd
The daemons are used to listen for restart messages from other hosts, And manage the list of hosts that need to be notified when the local host restarts. ● sm-notify An assistant program, Used to notify when the local system restartsNFS Opposite end.
( translator's note： In other wordsrpc.statd Is the recipient of the restart message, andsm-notify Is the informer of information) localNFS Lock manager(NFS lock
manager,NLM) It will be localrpc.statd Warn each remote peer in the list Status needs to be monitored. When the local system restarts,sm-
notify The command will notify the peerNSM Service about restarting matter. When the remote host restarts, Remote to endsm-
notify Notify localrcp.statd, Then tell the localNFS Lock manager, The local lock manager will maintain the lock of the file corresponding to the restart end. NSM OPERATION IN
DETAIL NFS The first file lock interaction between the client and the server will cause theNLM All contact their localNSM Service to
Store their end-to-end information. stayLinux upper, That is, let the local manager contactrpc.statd Daemon.
rpc.statd WillNFS Peer information is recorded on persistent storage. This information describes how to contact the remote if the local system restarts
Opposite end, How to identify the information that the peer reports it is restarting, And how to notify when the peer says it has restartedNLM.
Each client will send a file lock request called clientcaller_name Hostname.NFS The server can
Send async to client with this hostnameGRANT call, Or notify the client that it has restarted. Linux
NFS The server cancaller_name Or the client's network address is provided torpc.statd. In order to observeNSM
Agreement, The name or address is called peermon_name. in addition, The local lock manager will tellrpc.statd Its own hostname, In order to observeNSM Agreement, This hostname is calledmy_name.
stayNFS in,NFS The server does not inform the client of the interaction behavior of its host name. thereforeNFS The client does not actually know the server
Ofmon_name, Though inSM_NOTIFY It will be used in the request.Linux NFS The client is obtained from the mount command by using the
To identify the startingNFS Server side. Reboot notification When the local system restarts, Localsm-
notify Command to read monitoring peer list from persistent storage, And sendSM_NOTIFY request
For each remote peer in the listNSM Service process, Its usemon_name String to specify the send destination. To identify which owner Machine has been restarted, After reboot, the host will usesm-
notify Command sendmy_name Character string. Long-rangerpc.statd Will use The string matches the counterpart in its monitor list to find the sendSM_NOTIFY Requested host.
Ifrpc.statd No matching received in its monitoring listSM_NOTIFY Opposite end of request, The notification will not be forwarded
To local lock manager. in addition, Each peer has a unique32 Bit integerNSM Status code, After every reboot,sm-notify life
Make it collide and repeat.rpc.statd Use this number to distinguish between restart or notification replay. NFS Part of lock recovery is to rediscover which peer needs to be monitored again. After every reboot,sm-
notify Orders will be clear Monitoring list on empty persistent storage. OPTIONS-d takesm-notify Attached to its control terminal and operated at the front desk, So that the notifier can be monitored directly. -f
Send notification information, Even after the last system restartsm-notify It's been run once. -m retry-time
Specifies when a response is not received, Resend notice in this period, In minutes. If not specified, besm-notify attempt stay15 Send notifications for minutes. Designated as0 Time,sm-
notify Unlimited notifications will be sent, Until it's manuallykill fall. Notifications will be reissued in the following cases： fail in send, Remote host not responding, Long-rangeNSM Service not registered, Long-rangemon_name
Parsed asIP Address timeDNS error. Only when a valid response from the remote host is received, This remote host will be removed from the notification list. howeverSM_NOTIFY in Keep one result.sm-
notify There is no way for a remote host to identify the sender and whether it has recovered correctly Locked state.-n preventsm-notify Update local system'sNSM Status number. -p port
Appointsm-notify Source port number when sending system restart notification. If not specified, Use random temporary port number. This option may be used when a notification needs to cross the firewall. -P,
--state-directory-path pathname AppointNSM Parent directory of state information saving path. If not specified, The default is/var/lib/nfs/statd.
sm-notify After startup,sm-notify Will try to useUID/GID Set the owner and group of this directory. -v ipaddr | hostname
Specifies the source network address to use when sending system restart notifications, And sendSM_NOTIFY Request timemon_name Parameter value. If this option is not specified, besm-
notify Will use generic address as source address, And usemy_name Send asSM_NOTIFY Request timemon_name. If this option is specified, besm-
notify ConversionsIPV4 Address is host name, Send asSM_NOTIFY Request timemon_name.
This option is more suitable for hosts with multiple network card interfaces, Especially when the remote peer needs to receive notifications from the specified address. ADDITIONAL NOTES
Lock recovery after a host reboot is critical to maintaining data consistency and preventing unnecessary application hangs. In order to make
rpc.statd Match more efficientlySM_NOTIFY request, Some best practices should be followed, Include： SystematicUTS Name needs andNFS Used to make connectionsDNS Name matches.
( notes： If you don't know what to doUTS name, We can simply think thatUTS Name is the host name) SystematicUTS Name should always befqdn Name of the format.
SystematicUTS Forward and reverse of namesDNS It is better to keep the mapping consistent. The host name of the server that the client uses to mount should match the one it sendsSM_NOTIFY In requestmon_name.
uninstallNFS There is no need to stop the status monitoring at either end of the client or server when the file system is running. Both ends may continue to monitor for a while
time, In case of new mounts and additional file locks between the two endsNFS Traffic appears.
stayLinux upper, If not installed in the kernel lock module, All remoteNFS The opposite end will not be monitored. This could happen inNFS Of
Client side, for example, Auto mount tool removed allNFS Mount point, Because they are idle and inactive. IPv6 and TI-RPC support TI-RPC is a
pre-requisitefor 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 /proc/sys/fs/nfs/
nsm_local_state kernel's copy of the NSM state number SEE ALSO rpc.statd(8),
nfs(5), uname(2), hostname(7) RFC 1094 - "NFS: Network File System Protocol
Specification" RFC 1813 - "NFS Version 3 Protocol Specification" OpenGroup
Protocolsfor Interworking: XNFS, Version 3W - Chapter 11 AUTHORS Olaf Kirch
<[email protected]> Chuck Lever <[email protected]> 1 November 2009 SM-NOTIFY(8)
Below isNFS Related translation：
translate：man rpcbind(rpcbind Chinese Manual) <http://www.cnblogs.com/f-ck-need-u/p/7302577.html>
translate：man nfsd(rpc.nfsd Chinese Manual) <http://www.cnblogs.com/f-ck-need-u/p/7302580.html>
translate：man mountd(rpc.mountd Chinese Manual)
translate：man statd(rpc.statd Chinese Manual) <http://www.cnblogs.com/f-ck-need-u/p/7302593.html>
translate：man sm-notify(sm-notify Command manual in Chinese)
translate：man exportfs(exportfs Command manual in Chinese)
Partial translation：man nfs <http://www.cnblogs.com/f-ck-need-u/p/7305755.html#blogmannfs>