beautypg.com

4 command fanout, 1 parallel distributed shell – HP Linux Server Management Software User Manual

Page 83

background image

4 Command Fanout

Command fanout utilities allow the system administrator to replicate shell commands across
multiple systems. Traditionally, administrators have created wrappers around tools such as
remote shell (see remsh(1)) and secure shell (see ssh(1)) to provide command fanout functions.

4.1 Parallel Distributed Shell

The Distributed Systems Administration Utilities (DSAU) include the open source tool Parallel
Distributed Shell (pdsh). pdsh formalizes the use of remsh and ssh for distributing commands
to groups of systems. Unlike remsh/ssh wrappers, pdsh offers the following benefits:

High performance

Commands are issued in parallel to groups of target system. pdsh supports a sliding window
or fanout setting to control the number of concurrent commands.

Command timeout settings

pdsh

supports a command execution timeout which controls how long a remote command

can execute before being disconnected (to prevent problem commands from hanging). It
also supports a connect timeout which prevents blocking when remote systems are
unreachable.

Output processing and return status

pdsh

correctly handles stdout and stderr processing and supports returning a “worst

of”return status so the caller can detect errors from remote systems.

Flexible target system specifications

pdsh

supports several mechanisms for specifying the target hosts on which to operate. They

can be specified on the command line, on stdin, in a well known file (/etc/machines)
or in a file pointed to by the WCOLL environment variable. Specific systems can be excluded
from the command line as well.

Hostlist expressions

For groups of systems using a prefixNNN naming convention (for example, h1, h2, ..., hN),
pdsh

allows target nodes specification using hostlist expressions such as “h[1-10]” which

would fan out a command to hosts named h1 through h10.

Intelligent output filtering

pdsh

prefaces each line of output with the hostname of originating system. dshbak (see

dshbak(8)) is a filter that can format the standard pdsh output in several different ways. The
dshbak -c

flag looks for output from different hosts that is identical and consolidates the

output instead of duplicating it. The header will indicate the hosts to which the consolidated
output applies.

Choice of command transports

pdsh

can use either remote shell rcmd (see rcmd(3)) or ssh as a command transport. Note

that the ssh transport offers greatly improved security. See

“Security Configuration”

(page 85)

for details.

4.1 Parallel Distributed Shell

83