Whamcloud - gitweb
Manpage for lctl.
authorradhika <radhika>
Wed, 29 Oct 2003 20:11:11 +0000 (20:11 +0000)
committerradhika <radhika>
Wed, 29 Oct 2003 20:11:11 +0000 (20:11 +0000)
lustre/doc/lctl.8 [new file with mode: 0644]

diff --git a/lustre/doc/lctl.8 b/lustre/doc/lctl.8
new file mode 100644 (file)
index 0000000..b47579f
--- /dev/null
@@ -0,0 +1,304 @@
+.TH lctl 1 "2003 Oct 8" Lustre "configuration utilities"
+.SH NAME
+lctl \- Low level Lustre filesystem configuration utility
+.SH SYNOPSIS
+.br
+.B lctl
+.br
+.B lctl --device <devno> <command [args]>
+.br
+.B lctl --threads <numthreads> <verbose> <devno> <command [args]>
+.br
+.SH DESCRIPTION
+.B lctl
+can be invoked in interactive mode by issuing lctl command. After that, commands are issued as below. The most common commands in lctl are (in matching pairs) 
+.B device 
+and 
+.B attach
+, 
+.B detach 
+and 
+.B setup
+,
+.B cleanup 
+and
+.B connect
+,
+.B disconnect 
+and
+.B help
+, and
+.B quit.
+
+To get a complete listing of available commands, type help at the lctl prompt.  To get basic help on the meaning and syntax of a command, type help command.  Command completion is activated with the TAB key, and command history is available via the up- and down-arrow keys. 
+
+For non-interactive single-threaded use, one uses the second invocation, which runs command after connecting to the device. 
+
+.B Network Configuration
+.TP 
+network <tcp/elans/myrinet> 
+Indicate what kind of network applies for the configuration commands that follow.
+.TP 
+connect [[<hostname> <port>] | <elan id>] 
+This will establish a connection to a remote network network id given by the hostname/port combination, or the elan id.
+.TP 
+disconnect <nid> 
+Disconnect from a remote nid.
+.TP 
+mynid [nid] 
+Informs the socknal of the local nid. It defaults to hostname for tcp networks and is automatically setup for elan/myrinet networks.
+.TP 
+add_uuid <uuid> <nid> 
+Associate a given UUID with an nid.
+.TP 
+close_uuid <uuid> 
+Disconnect a UUID.
+.TP 
+del_uuid <uuid> 
+Delete a UUID association.
+.TP 
+add_route <gateway> <target> [target] 
+Add an entry to the routing table for the given target.
+.TP 
+del_route <target> 
+Delete an entry for the target from the routing table.
+.TP 
+route_list 
+Print the complete routing table.
+.TP 
+recv_mem [size] 
+Set the socket receive buffer size; if the size is omitted, the default size for the buffer is printed.
+.TP 
+send_mem [size] 
+Set send buffer size for the socket; if size is omitted, the default size for the buffer is printed.
+.TP 
+nagle [on/off] 
+Enable/disable nagle; omitting the argument will cause the default value to be printed.
+.TP 
+fail nid|all [count] 
+Fail/restore communications. Ommiting tha count implies fail indefinitely, count of zero indicates that communication should be restored. A non-zero count indicates the number of portals messages to be dropped after which the communication is restored.
+.PP
+.B Device Selection
+.TP 
+newdev 
+Create a new device.
+.TP 
+name2dev 
+This command can be used to determine a device number for the given device name.
+.TP 
+device 
+This will select the specified OBD device.  All other commands depend on the device being set. 
+.TP 
+device_list 
+Show all the devices.
+.TP 
+lustre_build_version 
+Print the Lustre build version.
+.PP
+.B Device Configuration
+.TP 
+attach type [name [uuid]] 
+Attach a type to the current device (which you need to set using the device command) and give that device a name and UUID.  This allows us to identify the device for use later, and also tells us what type of device we will have.
+.TP 
+setup <args...> 
+Type specific device setup commands. For obdfilter, a setup command tells the driver which block device it should use for storage and what type of filesystem is on that device. 
+.TP 
+cleanup 
+Cleanup a previously setup device.
+.TP 
+detach 
+Remove driver (and name and UUID) from the current device.
+.TP 
+lov_setconfig lov-uuid stripe-count default-stripe-size offset pattern UUID1 [UUID2...] 
+Write LOV configuration to an MDS device.
+.TP 
+lov_getconfig lov-uuid 
+Read LOV configuration from an MDS device. Returns default-stripe-count, default-stripe-size, offset, pattern, and a list of OST UUID's.
+.PP
+.B Device Operations
+.TP 
+probe [timeout] 
+Build a connection handle to a device. This command is used to suspend configuration until the lctl command has ensured that the MDS and OSC services are available. This is to avoid mount failures in a rebooting cluster.
+.TP 
+close 
+Close the connection handle
+.TP 
+getattr <objid> 
+Get attributes for an OST object <objid> .
+.TP 
+setattr <objid> <mode> 
+Set mode attribute for OST object <objid>.
+.TP 
+create [num [mode [verbose]]] 
+Create the specified number <num> of OST objects with the given <mode>.
+.TP 
+destroy <num> 
+Starting at <objid>, destroy <num> number of objects starting from the object with object id <objid>.
+.TP 
+test_getattr <num> [verbose [[t]objid]] 
+Do <num> getattrs on OST object <objid> (objectid+1 on each thread).
+.TP 
+test_brw [t]<num> [write [verbose [npages [[t]objid]]]] 
+Do <num> bulk read/writes on OST object <objid> (<npages> per I/O).
+.TP 
+test_ldlm 
+Perform lock manager test.
+.TP 
+ldlm_regress_start %s [numthreads [refheld [numres [numext]]]] 
+Start lock manager stress test.
+.TP 
+ldlm_regress_stop 
+Stop lock manager stress test.
+.TP 
+dump_ldlm 
+Dump all lock manager state, this is very useful for debugging
+.TP 
+activate 
+Activate an import
+.TP 
+deacttivate 
+De-activate an import
+.TP 
+recover <connection UUID> 
+.TP 
+lookup <directory> <file>
+.TP 
+notransno 
+Disable sending of committed transnumber updates
+.TP 
+readonly 
+Disable writes to the underlying device
+.TP 
+abort_recovery 
+Abort recovery on MDS device
+.TP 
+mount_option 
+Dump mount options to a file
+.TP 
+get_stripe 
+Show stripe info for an echo client object.
+.TP 
+set_stripe <objid>[ width!count[@offset] [:id:id....] 
+Set stripe info for an echo client
+.TP 
+unset_stripe <objid> 
+Unset stripe info for an echo client object.
+.PP
+.B Debug
+.TP 
+debug_daemon 
+Debug daemon control and dump to a file
+.TP 
+debug_kernel [file] [raw] 
+Get debug buffer and dump to a fileusage.
+.TP 
+debug_file <input> [output] [raw] 
+Read debug buffer from input and dump to outputusage.
+.TP 
+clear 
+Clear kernel debug buffer.
+.TP 
+mark <text> 
+Insert marker text in kernel debug buffer.
+.TP 
+filter <subsystem id/debug mask> 
+Filter message type from the kernel debug buffer.
+.TP 
+show <subsystem id/debug mask> 
+Show specific type of messages.
+.TP 
+debug_list <subs/types> 
+List all the subsystem and debug types.
+.TP 
+panic 
+Force the kernel to panic.
+.PP
+.B Control
+.TP 
+help 
+Show a complete list of commands; help <command name> can be used to get help on specific command.
+.TP 
+exit 
+Close the lctl session.
+.TP 
+quit 
+Close the lctl session.
+
+.SH OPTIONS
+The following options can be used to invoke lctl. 
+.PP
+.B --device 
+The device number to be used for the operation. The value of devno is an integer, normally found by calling lctl name2dev on a device name. 
+.B --threads 
+How many threads should be forked doing the command specified. The numthreads variable is a strictly positive integer indicating how many threads should be started. The devno option is used as above.
+.B --ignore_errors | ignore_errors 
+Ignore errors during script processing
+.B dump 
+Save ioctls to a file 
+.SH EXAMPLES
+.B attach
+
+# lctl
+.br
+lctl > newdev
+.br
+lctl > attach obdfilter OBDDEV OBDUUID
+
+.B connect
+
+lctl > name2dev OSCDEV 2 
+.br
+lctl > device 2
+.br
+lctl > connect
+
+.B getattr
+
+lctl > getattr 12
+.br
+id: 12
+.br
+grp: 0
+.br
+atime: 1002663714
+.br
+mtime: 1002663535
+.br
+ctime: 1002663535
+.br
+size: 10
+.br
+blocks: 8
+.br
+blksize: 4096
+.br
+mode: 100644
+.br
+uid: 0
+.br
+gid: 0
+.br
+flags: 0
+.br
+obdflags: 0
+.br
+nlink: 1
+.br
+valid: ffffffff
+.br
+inline:
+.br
+obdmd:
+.br
+lctl > disconnect 
+.br
+Finished (success)
+
+.B setup 
+
+lctl > setup /dev/loop0 extN
+.br
+lctl > quit
+
+.SH BUGS
+None are known.