On Mon, Apr 13, 2009 at 01:41:13PM -0700, Mark Carlson wrote: > Pdsh is a high-performance, parallel remote shell utility. It > has built-in, thread-safe clients for Berkeley and Kerberos V4 > rsh and can call SSH externally (though with reduced > performance). Pdsh uses a "sliding window" parallel algorithm to > conserve socket resources on the initiating node and to allow > progress to continue while timeouts occur on some connections.
Kerberos V4?? Solaris does not support that, and also no one should be using Kerberos V4. I am not going to suggest using kcmd() (probably a private API) as that too has its security problems. Besides, you'd probably need an async version of it. I think use of ssh with the ConnectTimeout option is the best usage option. For those who don't care about security they can use the rsh option. > Pdsh is a variant of the rsh(1) command. Unlike rsh(1), which > runs commands on a single remote host, pdsh can run multiple > remote commands in parallel. pdsh uses a "sliding window" (or > fanout) of threads to conserve resources on the the initiating > host while allowing some connections to time out. Excellent. (Compare to the recent shmux case...) What are these: > pdsh-rcmd-mrsh Committed requires munge > pdsh-rcmd-qshell Committed requires qsnet, > pdsh-qshd (qshell server) > pdsh-rcmd-mqshell Committed requires qsnet, > munge, pdsh-mqshd (mqshell server) > pdsh-rcmd-xcpu Committed requires XCPU > service mounted on /mnt/xcpu/<hostname>/xcpu > pdsh-mod-genders Uncommitted requires > libgenders > pdsh-mod-nodeattr Uncommitted requires > nodeattr program > pdsh-mod-nodeupdown Uncommitted requires > libnodeupdown > pdsh-mod-machines Uncommitted None > pdsh-mod-rms Uncommitted requires RMS: > rmsquery, qsrmslibs > pdsh-mod-slurm Uncommitted requires slurm > pdsh-mod-dshgroup Uncommitted None > pdsh-mod-netgroup Uncommitted None Also, the manpage for pdsh talks about needing to be setuid-0 in order to run pdsh-rcmd-qshell. Are you planning on making pdsh setuid=0? (I hope not.) > The binary file would go in "usr/local/bin" We don't put anything in /usr/local. This needs to go into /usr/bin. Nico --