.\"
.\"  Copyright 2001-2003 Sistina Software, Inc.
.\"  Copyright (C) 2004 Red Hat, Inc.  All rights reserved.


.\" groff -t -e -mandoc -Tlatin1 gulm_tool.8 | less

.tl 'gulm_tool(8)' 'gulm_tool(8)'

\fBNAME\fP
.in +7
gulm_tool - Interface to Grand Unified Lock Manager
.sp
.in -7
\fBSYNOPSIS\fP
.in +7
\fBgulm_tool\fP command [options]
.sp
.in -7

\fBDESCRIPTION\fP
.in +7
\fBgulm_tool\fP is an interface to a variety of options available to
running \fBlock_gulmd\fP servers.

The second parameter for most commands is the hostname or IP of the server
followed by the port at
which it runs.  Keep in mind that in the simplest setup, there are three
servers running on a host.  For this, there is a short hand for the default
server ports.  So you can use "core", "ltpx", and "lt000" through "lt256"
for the port value instead of the actual number.  If you are using
different ports for the \fBlock_gulmd\fP servers, you will need to use the
numbers.  If you don't specify the port, "core" is assumed.

.sp
.in -7

\fBCOMMANDS\fP
.in +7

.\"======================================
\fBCommands that only core understands\fP
.in +7

\fBshutdown\fP \fIserver\fR:core
.in +7
This command is use to stop a gulm server cleanly.  This can only be sent
to the "core" port.

The use of this command is the proper way to shutdown gulm servers.  It is
preferred over the use of SIGTERM.  Any other method will result in a
fencing action against the server node.
.sp
.in -7

\fBnodelist\fP \fIserver\fR:core
.in +7
Get a list of the nodes currently logged into the master server.
.in -7

\fBnodeinfo\fP \fIserver\fR:core \fInode name\fR
.in +7
Get information for a single node.
.in -7

\fBservicelist\fP \fIserver\fR:core
.in +7
Get list of services connected to this node.
.in -7

\fBforeceexpire\fP \fIserver\fR:core \fInode name\fR
.in +7
Force the node to move into the Expired State.  This will cause the node to
be fenced.
.in -7


.in -7
.\"======================================
\fBCommands that can be sent to any server\fP
.in +7

\fBgetstats\fP \fIserver:port\fR
.in +7
This gets a list of whatever statistics the specified server carries.
.sp
.in -7

\fBsetverb\fP \fIserver:port\fR \fIverbose_flags\fR
.in +7
Sets which types of messages can be logged.

\fIverbose flags\fR is a comma separated list of the possible flags.  If a
flag is prefixed with a '-', it is unset, other wise it is set.  The
special flag 'clear' unsets all verbosity flags.  Any flag that is not
recognized is ignored.

The verbosity flags for gulm:

.TS
l l.
Network	Basic network related messages
Network2	T{
More specific network messages
T}
Network3	A debug message for nearly every packet
Fencing	T{
When calling out to the fencing sub-system
T}
Heartbeat	T{
Every heartbeat sent and received
T}
Locking	T{
Various internal informational messages about the locks
T}
Forking	T{
Anytime a child processes is spawned
T}
ServerState	T{
Print out a message when ever the server changes state, saying what state
it is now in.
T}
JIDMap	T{
Details of each JID Mapping request
T}
LockUpdates	T{
Lock requests sent to slaves
T}
LoginLoops	T{
Messages related to searching for and becoming the Master
T}

ReallyAll	All messages above
Default	same as -v "Network,Fencing,Forking"
All	T{
same as -v "ReallyAll,-Network3,-LockUpdates"
T}
.TE

Since Network3, and LockUpdates are so verbose, and rarely
needed, they are excluded from the 'All' flag.

Do not use ReallyAll unless you are willing to deal with 100M and larger
log files.  A loaded system can produce up to a megabyte a minute with the
ReallyAll flag.

.sp
.in -7

.in -7
.\"======================================
\fBCommands that only gulm_tool understands\fP
.in +7

\fBversion\fP or \fB-V\fP
.in +7
Print out the version information of this program.
.in -7

\fB--help\fP or \fB-h\fP
.in +7
Print out the commands with brief descriptions.
.in -7

.in -7
.in -7

\fBSEE ALSO\fP
.in +7
lock_gulmd(8)

