1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-27 03:21:53 +03:00
samba-mirror/ctdb/doc/onnode.1
Martin Schwenke e128e590b3 onnode documentation - update documentation to reflect recent onnode changes.
Signed-off-by: Martin Schwenke <martin@meltin.net>

(This used to be ctdb commit 2fb2eb0fd7396de33474ce43fe95c66a5784d05b)
2010-02-05 15:30:39 +11:00

226 lines
5.9 KiB
Groff

'\" t
.\" Title: onnode
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 02/05/2010
.\" Manual:
.\" Source:
.\" Language: English
.\"
.TH "ONNODE" "1" "02/05/2010" "" ""
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
onnode \- run commands on ctdb nodes
.SH "SYNOPSIS"
.HP \w'\fBonnode\ [OPTION]\ \&.\&.\&.\ NODES\ COMMAND\ \&.\&.\&.\fR\ 'u
\fBonnode [OPTION] \&.\&.\&. NODES COMMAND \&.\&.\&.\fR
.SH "DESCRIPTION"
.PP
onnode is a utility to run commands on a specific node of a CTDB cluster, or on all nodes\&.
.PP
The NODES option specifies which node to run a command on\&. You can specify a numeric node number (from 0 to N\-1) or a descriptive node specification (see DESCRIPTIVE NODE SPECIFICATIONS below)\&. You can also specify lists of nodes, separated by commas, and ranges of numeric node numbers, separated by dashes\&. If nodes are specified multiple times then the command will be executed multiple times on those nodes\&. The order of nodes is significant\&.
.PP
The COMMAND can be any shell command\&. The onnode utility uses ssh or rsh to connect to the remote nodes and run the command\&.
.SH "DESCRIPTIVE NODE SPECIFICATIONS"
.PP
The following descriptive node specification can be used in place of numeric node numbers:
.PP
all
.RS 4
All nodes\&.
.RE
.PP
any
.RS 4
A node where ctdbd is running\&. This semi\-random but there is a bias towards choosing a low numbered node\&.
.RE
.PP
ok | healthy
.RS 4
All nodes that are not disconnected, banned, disabled or unhealthy\&.
.RE
.PP
con | connected
.RS 4
All nodes that are not disconnected\&.
.RE
.PP
lvs | lvsmaster
.RS 4
The current LVS master\&.
.RE
.PP
natgw | natgwlist
.RS 4
The current NAT gateway\&.
.RE
.PP
rm | recmaster
.RS 4
The current recovery master\&.
.RE
.SH "OPTIONS"
.PP
\-c
.RS 4
Execute COMMAND in the current working directory on the specified nodes\&.
.RE
.PP
\-o <prefix>
.RS 4
Causes standard output from each node to be saved into a file with name <prefix>\&.<ip>\&.
.RE
.PP
\-p
.RS 4
Run COMMAND in parallel on the specified nodes\&. The default is to run COMMAND sequentially on each node\&.
.RE
.PP
\-q
.RS 4
Do not print node addresses\&. Normally, onnode prints informational node addresses if more than one node is specified\&. This overrides \-v\&.
.RE
.PP
\-n
.RS 4
Allow nodes to be specified by name rather than node numbers\&. These nodes don\'t need to be listed in the nodes file\&. You can avoid the nodes file entirely by combining this with
\-f /dev/null\&.
.RE
.PP
\-f <file>
.RS 4
Specify an alternative nodes file to use instead of the default\&. This option overrides the CTDB_NODES_FILE environment variable\&. See the discussion of
/etc/ctdb/nodes
in the FILES section for more details\&.
.RE
.PP
\-v
.RS 4
Print a node addresses even if only one node is specified\&. Normally, onnode prints informational node addresses when more than one node is specified\&.
.RE
.PP
\-h, \-\-help
.RS 4
Show a short usage guide\&.
.RE
.SH "EXAMPLES"
.PP
The following command would show the process ID of ctdb on all nodes
.sp
.if n \{\
.RS 4
.\}
.nf
onnode all pidof ctdbd
.fi
.if n \{\
.RE
.\}
.PP
The following command would show the last 5 lines of log on each node, preceded by the node\'s hostname
.sp
.if n \{\
.RS 4
.\}
.nf
onnode all "hostname; tail \-5 /var/log/log\&.ctdb"
.fi
.if n \{\
.RE
.\}
.PP
The following command would restart the ctdb service on all nodes\&.
.sp
.if n \{\
.RS 4
.\}
.nf
onnode all service ctdb restart
.fi
.if n \{\
.RE
.\}
.PP
The following command would run \&./foo in the current working directory, in parallel, on nodes 0, 2, 3 and 4\&.
.sp
.if n \{\
.RS 4
.\}
.nf
onnode \-c \-p 0,2\-4 \&./foo
.fi
.if n \{\
.RE
.\}
.SH "ENVIRONMENT"
.PP
\fBCTDB_NODES_FILE\fR
.RS 4
Name of alternative nodes file to use instead of the default\&. See the discussion of
/etc/ctdb/nodes
in the FILES section for more details\&.
.RE
.SH "FILES"
.PP
/etc/ctdb/nodes
.RS 4
Default file containing a list of each node\'s IP address or hostname\&.
.sp
Actually, the default is
$\fBCTDB_BASE\fR/nodes, where
\fB$CTDB_BASE\fR
defaults to
/etc/ctdb\&. If a relative path is given (via the \-f option or
\fB$CTDB_BASE\fR) and no corresponding file exists relative to the current directory then the file is also searched for in the
$\fBCTDB_BASE\fR
directory\&.
.RE
.PP
/etc/ctdb/onnode\&.conf
.RS 4
If this file exists it is sourced by onnode\&. The main purpose is to allow the administrator to set $SSH to something other than "ssh"\&. In this case the \-t option is ignored\&. For example, the administrator may choose to use use rsh instead of ssh\&.
.RE
.SH "SEE ALSO"
.PP
ctdbd(1), ctdb(1),
\m[blue]\fB\%http://ctdb.samba.org/\fR\m[]
.SH "COPYRIGHT/LICENSE"
.sp
.if n \{\
.RS 4
.\}
.nf
Copyright (C) Andrew Tridgell 2007
Copyright (C) Ronnie sahlberg 2007
Copyright (C) Martin Schwenke 2008
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or (at
your option) any later version\&.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE\&. See the GNU
General Public License for more details\&.
You should have received a copy of the GNU General Public License
along with this program; if not, see http://www\&.gnu\&.org/licenses/\&.
.fi
.if n \{\
.RE
.\}