Whamcloud - gitweb
Let's even be specific about the fact that it's the script library that we
[fs/lustre-release.git] / lustre / doc / lctl.lyx
index 4600144..268dc3b 100644 (file)
@@ -1,5 +1,5 @@
-#LyX 1.2 created this file. For more info see http://www.lyx.org/
-\lyxformat 220
+#LyX 1.3 created this file. For more info see http://www.lyx.org/
+\lyxformat 221
 \textclass amsart-plain
 \language english
 \inputencoding auto
 
 \layout Section
 
-LCTL
+lctl
 \layout Subsection
 
-NAME
-\layout Standard
+NAME 
+\layout Description
 
-lctl - low level Lustre file system configuration utility
+lctl Low level Lustre filesystem configuration utility.
 \layout Subsection
 
 SYNOPSIS
@@ -69,17 +69,94 @@ The program can be invoked in interactive mode by issuing
 lctl.
 
 \series default 
- After than commands are issued as below.
+ After that, commands are issued as below.
+ The most common commands in lctl are (in matching pairs) 
+\family typewriter 
+\size small 
+device
+\family default 
+\size default 
+ and 
+\family typewriter 
+\size small 
+attach
+\family default 
+\size default 
+, 
+\family typewriter 
+\size small 
+detach
+\family default 
+\size default 
+ and 
+\family typewriter 
+\size small 
+setup
+\family default 
+\size default 
+, 
+\family typewriter 
+\size small 
+cleanup
+\family default 
+\size default 
+ and 
+\family typewriter 
+\size small 
+connect
+\family default 
+\size default 
+, 
+\family typewriter 
+\size small 
+disconnect
+\family default 
+\size default 
+ and 
+\family typewriter 
+\size small 
+help
+\family default 
+\size default 
+, and 
+\family typewriter 
+\size small 
+quit
+\family default 
+\size default 
+.
+ To get a complete listing of available commands, type 
+\family typewriter 
+\size small 
+help
+\family default 
+\size default 
+ at the lctl prompt.
+ To get basic help on the meaning and syntax of a command, type 
+\family typewriter 
+\size small 
+help command
+\family default 
+\size default 
+.
+  Command completion is activated with the 
+\family typewriter 
+\size small 
+TAB
+\family default 
+\size default 
+ key, and command history is available via the up- and down-arrow keys.
 \layout Standard
 
-For non-interactive single threaded use, one uses the second invocation
+For non-interactive single threaded use, one uses the second invocation,
  which runs 
 \emph on 
 command
 \emph default 
- after connecting to the 
+ after connecting to the device
 \emph on 
-device.
+.
 
 \emph default 
  
@@ -88,217 +165,811 @@ device.
 --device The device number to be used for the operation.
  The value of devno is an integer, normally found by calling 
 \emph on 
-lctl name2dev 
+lctl device_list/dl
 \emph default 
-on a device name.
+.
  
 \layout Description
 
 --threads How many threads should be forked doing the command specified.
- The numthreads variable is a strictly positivie integer indicating how
many threads should be started.
- Verbose can take values <XXXX>, 
+ The numthreads variable is a strictly positive integer indicating how many
+ threads should be started.
+ The 
 \emph on 
 devno 
 \emph default 
-is used as above.
-\layout Subsection
+option is used as above.
+\layout Description
 
-SUBCOMMANDS
+--ignore_errors\SpecialChar ~
+|\SpecialChar ~
+ignore_errors Ignore errors that occur during script processing.
 \layout Description
 
-network\SpecialChar ~
-config
+dump Save ioctl buffer to file.
+\layout LyX-Code
+
+\layout Description
+
+Network\SpecialChar ~
+Configuration
 \begin_deeper 
 \layout Description
 
+--net\SpecialChar ~
+
+\series bold 
+<tcp/elan/myrinet>
+\series default 
+\SpecialChar ~
+
+\series bold 
+<command> 
+\series default 
+Indicate the network type to be used for the operation.
+\layout Description
+
 network\SpecialChar ~
 <tcp/elans/myrinet> Indicate what kind of network applies for the
  configuration commands that follow.
 \layout Description
 
+interface_list Print the interface entries.
+\layout Description
+
+add_interface\SpecialChar ~
+
+\series bold 
+<
+\series default 
+ip>\SpecialChar ~
+[netmask] Add an interface entry.
+\layout Description
+
+del_interface\SpecialChar ~
+[ip] Delete an interface entry.
+\layout Description
+
+peer_list Print the peer entries.
+\layout Description
+
+add_peer\SpecialChar ~
+
+\series bold 
+<
+\series default 
+nid>\SpecialChar ~
+
+\series bold 
+<
+\series default 
+host>\SpecialChar ~
+
+\series bold 
+<
+\series default 
+port> 
+\series bold 
+Add a peer entry.
+\layout Description
+
+del_peer\SpecialChar ~
+[
+\series bold 
+<
+\series default 
+nid>]\SpecialChar ~
+[
+\series bold 
+<
+\series default 
+host>]\SpecialChar ~
+[ks] Remove a peer entry.
+\layout Description
+
+autoconn_list Print autoconnect entries.
+\layout Description
+
+add_autoconn\SpecialChar ~
+
+\series bold 
+nid
+\series default 
+\SpecialChar ~
+
+\series bold 
+ipaddr
+\series default 
+\SpecialChar ~
+
+\series bold 
+port
+\series default 
+\SpecialChar ~
+
+\series bold 
+[ise]
+\series default 
+ Add an autoconnect entry.
+\layout Description
+
+del_autoconn\SpecialChar ~
+
+\series bold 
+[<nid>]
+\series default 
+\SpecialChar ~
+
+\series bold 
+[<host>]
+\series default 
+\SpecialChar ~
+
+\series bold 
+[ks]
+\series default 
+ Remove an autoconnect entry.
+\layout Description
+
+conn_list Print all the connected remote nid.
+\layout Description
+
 connect\SpecialChar ~
-[[<hostname>\SpecialChar ~
-<port>]\SpecialChar ~
-|\SpecialChar ~
-<elan\SpecialChar ~
-id>] 
+<hostname>\SpecialChar ~
+<port>\SpecialChar ~
+[iIOC] This will establish a connection to a remote
+ network, network 
+\emph on 
+id
+\emph default 
+ given by the hostname/port combination.
 \layout Description
 
-disconnect 
+disconnect\SpecialChar ~
+<nid> Disconnect from a remote 
+\emph on 
+nid
+\emph default 
+.
 \layout Description
 
-mynid 
+active_tx This command should print active transmits, and it is only used
+ for elan network type.
 \layout Description
 
-add_uuid 
+mynid\SpecialChar ~
+[nid] Informs the socknal of the local 
+\emph on 
+nid
+\emph default 
+.
+ It defaults to hostname for tcp networks and is automatically setup for
+ elan/myrinet networks.
 \layout Description
 
-close_uuid 
+shownid Print the local NID.
 \layout Description
 
-del_uuid 
+add_uuid\SpecialChar ~
+<uuid>\SpecialChar ~
+<nid>\SpecialChar ~
+<net_type> Associate a given UUID with an 
+\emph on 
+nid.
 \layout Description
 
-add_route 
+close_uuid\SpecialChar ~
+<uuid>\SpecialChar ~
+<net_type> Disconnect a UUID.
 \layout Description
 
-del_route 
+del_uuid\SpecialChar ~
+<uuid> Delete a UUID association.
 \layout Description
 
-route_list 
+add_route\SpecialChar ~
+<gateway>\SpecialChar ~
+<target>\SpecialChar ~
+[<target>] Add an entry to the portals routing
+ table for the given target.
+ The arguments should be nid.
+ If only one <target> is provided, this command should only add the route
+ for this target.
+ But, if both of the <target>s are provides, this command should add the
+ route for all the target in the range specified by the two targets(from
+ low nid to high nid).
 \layout Description
 
-recv_mem 
+del_route\SpecialChar ~
+<gateway>\SpecialChar ~
+[<target>]\SpecialChar ~
+[<target>] Delete the route entry for the given
+ targets from the portals routing table.
+ The arguments should be nid.
+\layout Description
+
+set_route\SpecialChar ~
+<gateway>\SpecialChar ~
+<up/down>\SpecialChar ~
+[<time>] Enable/disable routes via the given
+ gateway in the protals routing table.
+ <time> is used to tell when a gateway comes back online.
 \layout Description
 
-send_mem 
+route_list Print the complete portals routing table.
 \layout Description
 
-nagle
+fail\SpecialChar ~
+nid|_all_\SpecialChar ~
+[count] Fail/restore communications.
+ Omitting the 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.
+ The argument 
+\begin_inset Quotes eld
+\end_inset 
+
+nid
+\begin_inset Quotes erd
+\end_inset 
+
+ is used to specify the gateway, which is one peer of the communication.
 \end_deeper 
 \layout Description
 
-device\SpecialChar ~
-selection
+Device\SpecialChar ~
+Selection
 \begin_deeper 
 \layout Description
 
-newdev 
+newdev Create a new device.
+\layout Description
+
+device\SpecialChar ~
+<%name|$name|devno> This will select the specified OBD device.
+  All other commands depend on the device being set.
+\layout Description
+
+cfg_device\SpecialChar ~
+<$name> Set current device being configured to <$name>.
 \layout Description
 
-name2dev 
+device_list Show all the devices.
 \layout Description
 
-device 
+dl The same as device_list.
 \layout Description
 
-device_list
+lustre_build_version Print the Lustre build version.
 \end_deeper 
 \layout Description
 
-device\SpecialChar ~
-config
+Device\SpecialChar ~
+Configuration
 \begin_deeper 
 \layout Description
 
-attach 
+attach\SpecialChar ~
+type\SpecialChar ~
+[name\SpecialChar ~
+[uuid]] 
+\shape italic 
+\emph on 
+Attach
+\shape default 
+\emph default 
+ a type to the current device (which you need to set using the 
+\family typewriter 
+\size small 
+device
+\family default 
+\size default 
+ 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.
+\layout Description
+
+setup\SpecialChar ~
+<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.
+\layout Description
+
+cleanup\SpecialChar ~
+[force|failover] Cleanup a previously setup device.
+\layout Description
+
+detach Remove driver (and name and UUID) from the current device.
+\layout Description
+
+lov_setup\SpecialChar ~
+lov-uuid\SpecialChar ~
+stripe-count\SpecialChar ~
+stripe-size\SpecialChar ~
+offset\SpecialChar ~
+pattern\SpecialChar ~
+UUID1\SpecialChar ~
+[UUID2...] Write
+ LOV configuration to an MDS device.
 \layout Description
 
-setup 
+lov_getconfig\SpecialChar ~
+lov-uuid Read LOV configuration from an MDS device.
+ Returns stripe-count, stripe-size, offset, pattern, and a list of OST UUID's.
 \layout Description
 
-cleanup 
+record\SpecialChar ~
+cfg-uuid-name Record commands that follow in log.
 \layout Description
 
-detach 
+endrecord Stop recording
 \layout Description
 
-lovconfig 
+parse\SpecialChar ~
+config-uuid-name Parse the log of recorded commands for this config.
+\layout Description
+
+dump_log\SpecialChar ~
+config-uuid-name Print log of recorded commands for this config
+ to kernel debug log.
+\layout Description
+
+clear_log\SpecialChar ~
+config-name Delete current config log of recorded commands.
 \end_deeper 
 \layout Description
 
-device\SpecialChar ~
-operations
+Device\SpecialChar ~
+Operations
 \begin_deeper 
 \layout Description
 
-probe
+probe\SpecialChar ~
+[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.
 \layout Description
 
-close 
+close
+\emph on 
+\emph default 
+Close the
+\emph on 
+\emph default 
+connection handle
+\layout Description
+
+getattr\SpecialChar ~
+<objid> Get attributes for an OST object 
+\emph on 
+<objid>
+\emph default 
+ .
+\layout Description
+
+setattr\SpecialChar ~
+<objid>\SpecialChar ~
+<mode> Set mode attribute for OST object 
+\emph on 
+<objid>
+\emph default 
+.
+\layout Description
+
+create\SpecialChar ~
+[num\SpecialChar ~
+[mode\SpecialChar ~
+[verbose\SpecialChar ~
+[lsm\SpecialChar ~
+data]]]] Create the specified number 
+\emph on 
+<num>
+\emph default 
+ of OST objects with the given 
+\emph on 
+<mode>
+\emph default 
+.
+\layout Description
+
+destroy\SpecialChar ~
+<num>\SpecialChar ~
+starting\SpecialChar ~
+at\SpecialChar ~
+<objid> Destroy <
+\emph on 
+num
+\emph default 
+> number of objects starting from the object with object id <
+\emph on 
+objid
+\emph default 
+>.
+\layout Description
+
+test_getattr\SpecialChar ~
+<num>\SpecialChar ~
+[verbose\SpecialChar ~
+[[t]objid]] Do 
+\emph on 
+<num>
+\emph default 
+\emph on 
+getattrs
+\emph default 
+ on OST object 
+\emph on 
+<objid>
+\emph default 
+ (
+\emph on 
+objectid
+\emph default 
++1 on each thread).
+\layout Description
+
+test_brw\SpecialChar ~
+[t]<num>\SpecialChar ~
+[write\SpecialChar ~
+[verbose\SpecialChar ~
+[npages\SpecialChar ~
+[[t]objid]]]] Do 
+\emph on 
+<num>
+\emph default 
+ bulk 
+\emph on 
+read
+\emph default 
+/
+\emph on 
+writes
+\emph default 
+ on OST object 
+\emph on 
+<objid>
+\emph default 
+ (
+\emph on 
+<npages>
+\emph default 
+ per I/O).
+\layout Description
+
+get_stripe\SpecialChar ~
+objid Show stripe info for an echo client object.
+\layout Description
+
+set_stripe\SpecialChar ~
+<objid>[=width!count[@offset]\SpecialChar ~
+[:id:id....] Set stripe info for an echo
+ client object.
+\layout Description
+
+unset_stripe\SpecialChar ~
+<objid> Unset stripe info for an echo client object.
+\layout Description
+
+test_ldlm Perform lock manager test.
+\layout Description
+
+ldlm_regress_start\SpecialChar ~
+[numthreads\SpecialChar ~
+[refheld\SpecialChar ~
+[numres\SpecialChar ~
+[numext]]]] Start lock manager
+ stress test.
+\layout Description
+
+ldlm_regress_stop Stop lock manager stress test.
+\layout Description
+
+dump_ldlm Dump all lock manager state, this is very useful for debugging.
+\layout Description
+
+activate Activate an import.
+\layout Description
+
+deactivate De-activate an import.
+\layout Description
+
+recover\SpecialChar ~
+[<connection\SpecialChar ~
+UUID>] Pass the information of the new target and initialize
+ the connection to this target.
 \layout Description
 
-getattr 
+lookup\SpecialChar ~
+<directory>\SpecialChar ~
+<file> Print some information of the given file.
 \layout Description
 
-setattr
+notransno Disable sending of committed transnumber updates.
 \layout Description
 
-create 
+readonly Disable writes to the underlying device.
 \layout Description
 
-destroy
+abort_recovery Abort recovery on MDS device.
 \layout Description
 
-test_getattr
+start\SpecialChar ~
+<profilename> Setup mds/ost from the llog file.
 \layout Description
 
-test_brw
+mount_option\SpecialChar ~
+profile\SpecialChar ~
+osc_name\SpecialChar ~
+[mdc_name] Add a new profile to lustre.
 \layout Description
 
-test_ldlm
+del_mount_option\SpecialChar ~
+profile Delete a specified profile.
 \layout Description
 
-ldlm_regress_start
+set_timeout\SpecialChar ~
+<secs> Set the timeout(
+\emph on 
+obd_timeout
+\emph default 
+) for server to wait before failing recovery.
+\layout Description
+
+set_lustre_upcall\SpecialChar ~
+</full/path/to/upcall> Set the lustre upcall(obd_lustre_upcall)
+ via the lustre.upcall sysctl.
+\layout Description
+
+llog_catlist List all catalog logs on current device.
+\layout Description
+
+llog_info\SpecialChar ~
+<$logname|#oid#ogr#ogen> Print log header information.
+\layout Description
+
+llog_print\SpecialChar ~
+<$logname|#oid#ogr#ogen>\SpecialChar ~
+[from]\SpecialChar ~
+[to] Print log content information.
+ It will print all records from index 1 by default.
 \layout Description
 
-ldlm_regress_stop
+llog_check\SpecialChar ~
+<$logname|#oid#ogr#ogen>\SpecialChar ~
+[from]\SpecialChar ~
+[to] Check log content information.
+ It will check all records from index 1 by default.
 \layout Description
 
-dump_ldlm 
+llog_cancel\SpecialChar ~
+<catalog\SpecialChar ~
+id|catalog\SpecialChar ~
+name>\SpecialChar ~
+<log\SpecialChar ~
+id>\SpecialChar ~
+<index> Cancel one record in log.
 \layout Description
 
-newconn 
+llog_remove\SpecialChar ~
+<catalog\SpecialChar ~
+id|catalog\SpecialChar ~
+name>\SpecialChar ~
+<log\SpecialChar ~
+id> Remove one log from catalog, erase
+ it from disk.
 \end_deeper 
 \layout Description
 
-debug
+Debug
 \begin_deeper 
 \layout Description
 
-debug_kernel 
+debug_daemon\SpecialChar ~
+[start\SpecialChar ~
+file\SpecialChar ~
+<#MB>|stop|pause|continue] Debug daemon control and
+ dump to a file.
 \layout Description
 
-debug_file 
+debug_kernel\SpecialChar ~
+[file]\SpecialChar ~
+[raw] Get debug buffer and dump to a 
+\emph on 
+file
+\emph default 
+.
 \layout Description
 
-clear 
+dk The same as debug_kernel.
 \layout Description
 
-mark 
+debug_file\SpecialChar ~
+<input>\SpecialChar ~
+[output]\SpecialChar ~
+[raw] Read debug buffer from input and dump to
+\emph on 
+output
+\emph default 
+.
+\layout Description
+
+clear Clear kernel debug buffer.
 \layout Description
 
-filter 
+mark\SpecialChar ~
+<text> Insert marker text in kernel debug buffer.
 \layout Description
 
-show 
+filter\SpecialChar ~
+<subsystem\SpecialChar ~
+id/debug\SpecialChar ~
+mask> Filter message type from the kernel debug
+ buffer.
+\layout Description
+
+show\SpecialChar ~
+<subsystem\SpecialChar ~
+id/debug\SpecialChar ~
+mask> Show specific type of messages.
 \layout Description
 
 debug_list\SpecialChar ~
-modules 
+<subs/types> List all the subsystem and debug types.
+\layout Description
+
+modules\SpecialChar ~
+<path> Provide gdb-friendly module information.
+\layout Description
+
+panic Force the kernel to panic.
 \layout Description
 
-panic
+lwt\SpecialChar ~
+start/stop\SpecialChar ~
+[file] Light-weight tracing.
+\layout Description
+
+memhog\SpecialChar ~
+<page\SpecialChar ~
+count>\SpecialChar ~
+[<gfp\SpecialChar ~
+flags>] Memory pressure testing.
 \end_deeper 
 \layout Description
 
-control
+Control
 \begin_deeper 
 \layout Description
 
-help 
+help Show a complete list of commands; 
+\emph on 
+help <command name>
+\emph default 
+ can be used to get help on specific command.
 \layout Description
 
-exit 
+exit Close the lctl session.
 \layout Description
 
-quit 
+quit Close the lctl session.
 \end_deeper 
 \layout Subsection
 
 EXAMPLES
-\layout Subsection
+\layout Description
 
-BUGS
-\layout Standard
+attach
+\layout LyX-Code
+
+
+\size small 
+# lctl
+\newline 
+lctl > newdev
+\newline 
+lctl > attach obdfilter OBDDEV OBDUUID
+\size default 
+
+\newline 
+
+\layout Description
+
+connect
+\layout LyX-Code
+
+
+\size small 
+lctl > name2dev OSCDEV
+\newline 
+2 
+\newline 
+lctl > device 2
+\newline 
+lctl > connect
+\size default 
+
+\newline 
+
+\layout Description
+
+getattr
+\layout LyX-Code
+
+
+\size small 
+lctl > getattr 12
+\newline 
+id: 12
+\newline 
+grp: 0
+\newline 
+atime: 1002663714
+\newline 
+mtime: 1002663535
+\newline 
+ctime: 1002663535
+\newline 
+size: 10
+\newline 
+blocks: 8
+\newline 
+blksize: 4096
+\newline 
+mode: 100644
+\newline 
+uid: 0
+\newline 
+gid: 0
+\newline 
+flags: 0
+\newline 
+obdflags: 0
+\newline 
+nlink: 1
+\newline 
+valid: ffffffff
+\newline 
+inline:
+\newline 
+obdmd:
+\newline 
+lctl > disconnect 
+\newline 
+Finished (success)
+\newline 
+
+\layout Description
+
+setup
+\emph on 
+\layout LyX-Code
+
+
+\size small 
+lctl > setup /dev/loop0 extN
+\newline 
+lctl > quit
+\size default 
+
+\newline 
+
+\layout LyX-Code
 
-None are known.
 \layout Subsection
 
-AUTHOR
+BUGS
 \layout Standard
 
-Cluster File Systems, Inc.
- 2002 - created
+None are known.
 \the_end