mirror of
				https://github.com/xcat2/xcat-core.git
				synced 2025-10-31 11:22:27 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			113 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			113 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| =head1 Name
 | |
| 
 | |
| psh - parallel remote shell
 | |
| 
 | |
| =head1 B<Synopsis>
 | |
| 
 | |
| B<psh> [B<-i> I<interface>] [B<-f> I<fanout>] [B<-l> I<user>] I<noderange> I<command>
 | |
| 
 | |
| B<psh> {B<-h>|B<--help>|B<-v>|B<--version>}
 | |
| 
 | |
| =head1 B<Description>
 | |
| 
 | |
| B<psh> is a utility used to run a command across a list of nodes in parallel.
 | |
| 
 | |
| B<ssh> must be set up to allow no prompting for B<psh> to work.
 | |
| 
 | |
| Note:
 | |
| 
 | |
| This command does not run through xcatd like most xCAT commands do.
 | |
| This means you must either run it on the management node, or have a network connection between
 | |
| your machine and the nodes. It does not support hierarchy, use xdsh to run remote command from the
 | |
| management node to the compute node via a service node.
 | |
| 
 | |
| B<psh> arguments need to precede noderange, otherwise, you will get unexpected errors.
 | |
| 
 | |
| =head1 B<Options>
 | |
| 
 | |
| =over 7
 | |
| 
 | |
| =item B<-i> I<interface>
 | |
| 
 | |
| The NIC on the node that psh should communicate with.  For example, if I<interface> is B<eth1>,
 | |
| then psh will concatenate B<-eth1> to the end of every node name before ssh'ing to it.  This
 | |
| assumes those host names have been set up to resolve to the IP address of each of the eth1 NICs.
 | |
| 
 | |
| =item B<-f> I<fanout>
 | |
| 
 | |
| Specifies a fanout value for the maximum number of  concur-
 | |
| rently  executing  remote shell processes.
 | |
| 
 | |
| =item B<-l> I<user>
 | |
| 
 | |
| Log into the nodes as the specified username.  The default is to use the same username as you
 | |
| are running the psh command as.
 | |
| 
 | |
| =item B<-n|--nonodecheck>
 | |
| 
 | |
| Do not send the noderange to xcatd to expand it into a list of nodes.  Instead, use the noderange exactly as it is specified.
 | |
| In this case, the noderange must be a simple list of comma-separated hostnames of the nodes.
 | |
| This allows you to run B<psh> even when xcatd is not running.
 | |
| 
 | |
| =item I<noderange>
 | |
| 
 | |
| See L<noderange(3)|noderange.3>.
 | |
| 
 | |
| =item I<command>
 | |
| 
 | |
| Command  to  be run in parallel.  If no command is give then B<psh>
 | |
| enters interactive mode.  In interactive mode a  ">"  prompt  is
 | |
| displayed.   Any  command entered is executed in parallel to the
 | |
| nodes in the noderange. Use "exit" or "Ctrl-D" to end the interactive session.
 | |
| 
 | |
| =item B<-h>|B<--help>
 | |
| 
 | |
| Print help.
 | |
| 
 | |
| =back
 | |
| 
 | |
| =head1 B<Environment> B<Variables>
 | |
| 
 | |
| =over 4
 | |
| 
 | |
| =item B<XCATPSHFANOUT>
 | |
| 
 | |
| Specifies  the fanout value. This variable is overridden by
 | |
| the B<-f> flag.  Default is 64.
 | |
| 
 | |
| =back
 | |
| 
 | |
| =head1 B<Examples>
 | |
| 
 | |
| =over 3
 | |
| 
 | |
| =item 1.
 | |
| Run uptime on 3 nodes:
 | |
| 
 | |
|  psh node4-node6 uptime
 | |
| 
 | |
| Output is similar to:
 | |
| 
 | |
|  node4: Sun Aug  5 17:42:06 MDT 2001
 | |
|  node5: Sun Aug  5 17:42:06 MDT 2001
 | |
|  node6: Sun Aug  5 17:42:06 MDT 2001
 | |
| 
 | |
| =item 2.
 | |
| Run a command on some BladeCenter management modules:
 | |
| 
 | |
|  psh amm1-amm5 'info -T mm[1]'
 | |
| 
 | |
| =item 3.
 | |
| Remove the tmp files on the nodes in the 1st frame:
 | |
| 
 | |
|  psh rack01 'rm -f /tmp/*'
 | |
| 
 | |
| Notice the use of '' to forward shell expansion.  This is not necessary
 | |
| in interactive mode.
 | |
| 
 | |
| =back
 | |
| 
 | |
| =head1 B<See> B<Also>
 | |
| 
 | |
| L<noderange(3)|noderange.3>, L<pscp(1)|pscp.1>, L<pping(1)|pping.1>, L<prsync(1)|prsync.1>
 |