-#LyX 1.2 created this file. For more info see http://www.lyx.org/
-\lyxformat 220
-\textclass manpage
+#LyX 1.3 created this file. For more info see http://www.lyx.org/
+\lyxformat 221
+\textclass amsart
\language english
\inputencoding auto
\fontscheme times
\layout Section
+lmc
+\layout Subsection
+
NAME
-\layout Standard
+\layout Description
-lctl - low level Lustre file system configuration utility
-\layout Section
+lmc Lustre configuration maker.
+\layout Subsection
SYNOPSIS
\layout Standard
\series bold
-lctl
+lmc [options] --add <objectype> [args]
\layout Standard
\series bold
-lctl\SpecialChar ~
---device\SpecialChar ~
-<devno> <command\SpecialChar ~
-[args]>
+lmc [options] --remove <objecttype> [args] -- [NOT IMPLEMENTED]
\layout Standard
\series bold
-lctl\SpecialChar ~
---threads\SpecialChar ~
-<numthreads>\SpecialChar ~
-<verbose>\SpecialChar ~
-<devno>\SpecialChar ~
-<command [args]>
-\layout Section
+lmc [options] --convert [args] -- [NOT IMPLEMENTED]
+\layout Subsection
DESCRIPTION
\layout Standard
-The program can be invoked in interactive mode by issuing
+At present
\series bold
-lctl.
-
+\emph on
+lmc
+\series default
+\emph default
+, when invoked, adds configuration data to the config file.
+ In future,
+\series bold
+\emph on
+lmc
\series default
- After than commands are issued as below.
+\emph default
+ will also be able to remove configuration data or convert its format.
+ A Lustre cluster consists of several components - MDS's, mount-points,
+ OSTs, LOVs and whatever those reference (e.g nets and profiles).
+ A single configuration file would be generated for the complete cluster.
+ In the
+\series bold
+\emph on
+lmc
+\series default
+\emph default
+ command line interface, each of these components is associated with an
+
+\emph on
+objecttype
+\emph default
+.
+
\layout Standard
-For non-interactive single threaded use, one uses the second invocation
- which runs
+The
\emph on
-command
+objecttype
\emph default
- after connecting to the
+ refers to a collection of related configuration entities and can be one
+ of
+\series bold
+net
+\series default
+,
+\series bold
+ MDS
+\series default
+,
+\series bold
+ LOV
+\series default
+,
+\series bold
+ OST
+\series default
+,
+\series bold
+ mtpt
+\series default
+,
+\series bold
+ route
+\series default
+,
+\series bold
+ echo_client, or cobd.
+
+\series default
+We describe the arguments required for the addition of each
\emph on
-device.
-
+objecttype
\emph default
+.
+\layout Standard
+
+To generate configuration data associated with systems in a Lustre cluster:
\layout Description
---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
+-
\emph default
-on a device name.
+-add\SpecialChar ~
+node Adds a new node in the cluster configuration.
+\begin_deeper
+\layout Standard
+
+The arguments required are:
\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>,
-\emph on
-devno
-\emph default
-is used as above.
-\layout Section
+--node\SpecialChar ~
+''node_name'' This will create a new node with the given name if not
+ already present.
+\layout Description
-SUBCOMMANDS
+--timeout\SpecialChar ~
+<num> Timeout before going into recovery
\layout Description
-network\SpecialChar ~
-config
-\begin_deeper
+--lustre_upcall\SpecialChar ~
+<path> Set the location of the Lustre upcall scripts used
+ by the client for recovery
\layout Description
-network\SpecialChar ~
-<tcp/elans/myrinet> Indicate what kind of network applies for the
- configuration commands that follow.
+--portals_upcall\SpecialChar ~
+<path> Specify the location of the Portals upcall scripts
+ used by the client for recovery
\layout Description
-connect\SpecialChar ~
-[[<hostname>\SpecialChar ~
-<port>]\SpecialChar ~
-|\SpecialChar ~
-<elan\SpecialChar ~
-id>]
+--upcall\SpecialChar ~
+<path> Specify the location of both (Lustre and Portals) upcall
+ scripts used by the client for recovery
+\layout Description
+
+--group_upcall\SpecialChar ~
+<path> Specify the location of the group upcall scripts used by the MDS
+ for determiningsupplementary group membership
\layout Description
-disconnect
+--ptldebug\SpecialChar ~
+<debug_level> Set the portals debug level.
\layout Description
-mynid
+--subsytem\SpecialChar ~
+<subsystem_name> Specify which Lustre subsystems have debug output
+ recorded in the log.
+\end_deeper
\layout Description
-add_uuid
+
+\emph on
+-
+\emph default
+-add\SpecialChar ~
+net Adds a network device descriptor for the given node, with parameters
+ as indicated.
+\begin_deeper
+\layout Standard
+
+The arguments required are:
\layout Description
-close_uuid
+--node\SpecialChar ~
+''node_name'' This will create a new node with the given name if not
+ already present.
+ This is also used to specify a specific node for other elements.
+\layout Description
+
+--nettype\SpecialChar ~
+<type> Specify the network type.This can be
+\series bold
+tcp, elan, gm.
+\layout Description
+
+--nid\SpecialChar ~
+nid The network
+\emph on
+id
+\emph default
+, e.g.
+ ElanID or IP address as used by Portals.
+ If
+\emph on
+nid
+\emph default
+ is '*', then the local address of the interface with specified
+\series bold
+nettype
+\series default
+is will be substituted when the node is configured with lconf.
+ An
+\emph on
+nid
+\emph default
+ of
+\emph on
+'*'
+\emph default
+ should be used only for the generic
+\emph on
+client
+\emph default
+ configuration.
\layout Description
-del_uuid
+--cluster_id\SpecialChar ~
+id Specify the cluster ID.
\layout Description
-add_route
+--hostaddr\SpecialChar ~
+addr Specify the host address.
+ lconf will transfer it to the real host address.
\layout Description
-del_route
+--router Optional flag to mark this node as a router
\layout Description
-route_list
+--port\SpecialChar ~
+[port] Optional arguement to indicate the tcp port.
+ The default is 988.
+
\layout Description
-recv_mem
+--tcpbuf\SpecialChar ~
+<size> Optional arguement.
+ The default TCP buffer size is 1MB.
\layout Description
-send_mem
+--irq_affinity\SpecialChar ~
+0|1 Optional arguement.
+ Default is 0.
\layout Description
-nagle
+--nid_exchange\SpecialChar ~
+0|1 Optional arguement since some OSTs might not have the
+ required support.
+ This is turned off by default, value of 1 will turn it ON.
+
\end_deeper
\layout Description
-device\SpecialChar ~
-selection
+--add\SpecialChar ~
+mds
\begin_deeper
\layout Description
-newdev
+--node\SpecialChar ~
+<node\SpecialChar ~
+name> Name of the node on which the MDS resides
+\layout Description
+
+--mds\SpecialChar ~
+<mds_name> Specify MDS name.
\layout Description
-name2dev
+--mdsuuid\SpecialChar ~
+<uuid> Specify MDS uuid.
\layout Description
-device
+--failover Enable failover support on MDS.
\layout Description
-device_list
+--dev\SpecialChar ~
+<pathname> Path of device on local system.
+ If the is a file, then a loop device is created and used as the block device.
+\layout Description
+
+--size\SpecialChar ~
+<size> Optional argument indicating the size (in KB) of the device
+ to be created (used typically for loop devices).
+\layout Description
+
+--node\SpecialChar ~
+<nodename> Adds an MDS to the specified node.
+ This requires a
+\emph on
+--node
+\emph default
+ argument, and it must not be a profile node.
+\layout Description
+
+--fstype\SpecialChar ~
+ldiskfs|ext3 Optional argument used to specify the file system type.
+ Default is ext3. For 2.6 kernels the ldiskfs filesystem must be used.
+\layout Description
+
+--inode_size\SpecialChar ~
+<size> Specify new inode size for underlying ext3 file system. Must be a
+ power of 2 between 128 and 4096. The default inode size is selected based
+ on the default number of stripes specified for the filesystem.
+\layout Description
+
+--group_upcall\SpecialChar ~
+<pathname> The group upcall program to call for resolving a user's secondary
+ groups. The default value is NONE, which means that the MDS will use whatever
+ supplementary group is passed from the client. The supplied upcall is
+ /usr/sbin/l_getgroups, which gets groups from the MDS's /etc/group file
+ based on the client-supplied UID.
+
+--mkfsoptions\SpecialChar ~
+<options> Optional argument to mkfs.
+\layout Description
+
+--mountfsoptions\SpecialChar ~
+<options> Optional argument to mount fs.
+ Mount options will be passed by this argument.
+ For example, extents are to be enabled by adding ",extents" to the --mountfsopt
+ions option.
+
+\begin_inset Quotes eld
+\end_inset
+
+errors=remount-ro
+\begin_inset Quotes erd
+\end_inset
+
+ and
+\begin_inset Quotes eld
+\end_inset
+
+asyncdel
+\begin_inset Quotes erd
+\end_inset
+
+ can also be added to it.
+\layout Description
+
+--journal_size\SpecialChar ~
+<size> Optional arguement to specify the journal size for
+ the ext3 file system.
+ The size should be in the units expected by
+\series bold
+mkfs
+\series default
+, so for ext3 it should be in MB.
+ If this is option is not used, the ext3 filesystem will be configured
+ with a journal size dependent upon how large the filesystem is.
\end_deeper
\layout Description
-device\SpecialChar ~
-config
+--add\SpecialChar ~
+lov Creates an LOV with the specified parameters.
+ The
+\emph on
+mds_name
+\emph default
+ must already exist in the descriptor.
\begin_deeper
\layout Description
-attach
+--lov\SpecialChar ~
+<name> Specify LOV name.
\layout Description
-setup
+--mds\SpecialChar ~
+<name> Specify the mds name.
\layout Description
-cleanup
+--stripe_sz\SpecialChar ~
+<size> Specify the stripe size in bytes. This much data is written to each
+ stripe before starting to write in the next stripe. Default is 1048576.
\layout Description
-detach
+--stripe_cnt\SpecialChar ~
+<count> A value of 0 for this means to use the currently optimal number
+ of stripes. Default is 1 stripe per file.
\layout Description
-lovconfig
+--stripe_pattern\SpecialChar ~
+<pattern> Only Pattern 0 (RAID 0) is supported currently.
\end_deeper
\layout Description
-device\SpecialChar ~
-operations
+--add\SpecialChar ~
+ost Creates an OBD, OST, and OSC.
+ The OST and OBD are created on the specified node.
\begin_deeper
\layout Description
-probe
+--ost\SpecialChar ~
+<name> Assign a name to the OST device.
\layout Description
-close
+--node\SpecialChar ~
+<nodename> Node on which the OST service is run, can not be a profile
+ node.
\layout Description
-getattr
+--failover Enable failover support on OST.
\layout Description
-setattr
+--dev\SpecialChar ~
+<pathname> Path of device on local system.
+ If this is a file, then a loop device is created and used as the block
+ device.
\layout Description
-create
+--size\SpecialChar ~
+[size] Optional argument indicating the size (in KB) of the device
+ to be created (used typically for loop devices).
\layout Description
-destroy
+--osdtype\SpecialChar ~
+obdfilter|obdecho Specify the type of OSD.
\layout Description
-test_getattr
+--lov\SpecialChar ~
+<name> Optional arguement.
+ Name of LOV to which this OSC will be attached.
+
\layout Description
-test_brw
+--ostuuid\SpecialChar ~
+UUID Specify the UUID of the OST device.
+
\layout Description
-test_ldlm
+--fstype\SpecialChar ~
+ldiskfs|ext3 Optional arguement used to specify the file system type.
+ Default is ext3.
\layout Description
-ldlm_regress_start
+--inode_size\SpecialChar ~
+<size> Specify new inode size for underlying ext3 file system.
\layout Description
-ldlm_regress_stop
+--mkfsoptions\SpecialChar ~
+<options> Optional argument to mkfs.
\layout Description
-dump_ldlm
+--mountfsoptions\SpecialChar ~
+<options> Optional argument to mount fs.
+ Mount options will be passed by this argument.
+ For example, extents are to be enabled by adding ",extents" to the --mountfsopt
+ions option.
+
+\begin_inset Quotes eld
+\end_inset
+
+errors=remount-ro
+\begin_inset Quotes erd
+\end_inset
+
+ and
+\begin_inset Quotes eld
+\end_inset
+
+asyncdel
+\begin_inset Quotes erd
+\end_inset
+
+ can also be added to it.
\layout Description
-newconn
+--journal_size\SpecialChar ~
+<size> Optional arguement to specify the journal size for
+ the ext3 file system.
+ The size should be in the units expected by
+\series bold
+mkfs
+\series default
+, so for ext3 it should be in MB.
+ If this is option is not used, the ext3 filesystem will be configured
+ with a journal size dependent upon how large the filesystem is.
\end_deeper
\layout Description
-debug
+--add\SpecialChar ~
+mtpt Creates a mount-point on the specified node for the given LOV.
\begin_deeper
\layout Description
-debug_kernel
+--node\SpecialChar ~
+node Node or profile node that will use the
+\emph on
+mtpt
+\emph default
+.
+\layout Description
+
+--path\SpecialChar ~
+/mnt/path Specify the mountpoint for Lustre.
\layout Description
-debug_file
+--mds\SpecialChar ~
+mds_name Specify the mds name, which will provide service for this
+ client.
\layout Description
-clear
+--ost\SpecialChar ~
+ost_name\SpecialChar ~
+|\SpecialChar ~
+--lov\SpecialChar ~
+lov_name Specify the ost or lov, which will provide service
+ for this client.
\layout Description
-mark
+--clientoptions Specify the options for Lustre, such as async.
+\end_deeper
\layout Description
-filter
+--add\SpecialChar ~
+route Creates a static route through a gateway to a specific
+\emph on
+nid
+\emph default
+ or a range of
+\emph on
+nid
+\emph default
+'s.
+\begin_deeper
\layout Description
-show
+--node\SpecialChar ~
+node Node to add the route to.
\layout Description
-debug_list\SpecialChar ~
-modules
+--router Optional flag to mark a node as router.
\layout Description
-panic
+--gw\SpecialChar ~
+nid The
+\emph on
+nid
+\emph default
+ of the gateway (must be a local interface or a peer).
+\layout Description
+
+--gateway_cluster_id\SpecialChar ~
+id Specify the id of the cluster, to which the gateway
+ belongs.
+\layout Description
+
+--target_cluster_id\SpecialChar ~
+id Specify the id of the cluster, to which the target
+ of the route belongs.
+\layout Description
+
+--lo\SpecialChar ~
+nid For a range route, this is the lo value
+\emph on
+nid.
+\layout Description
+
+--hi\SpecialChar ~
+nid For a range route, this is the hi value
+\emph on
+nid.
\end_deeper
\layout Description
-control
+--add\SpecialChar ~
+echo-client Used for testing purpose only.
+
\begin_deeper
\layout Description
-help
+--node\SpecialChar ~
+nodename
+\emph on
+
+\emph default
+Node on which the echo-client resides.
+\end_deeper
+\layout Description
+
+\end_deeper
+\layout List
+\labelwidthstring 00.00.0000
+
+
+\series bold
+Options
\layout Description
-exit
+--reference Print short reference for commands.
\layout Description
-quit
-\end_deeper
-\layout Section
+--verbose Print system commands as they are run.
+\layout Description
+
+--batch\SpecialChar ~
+filename Used to execute lmc commands in batch mode.
+\layout Description
+
+--output\SpecialChar ~
+filename Send output to the file.
+ If the file exists, it will be overwritten.
+\layout Description
+
+--merge\SpecialChar ~
+filename
+\emph on
+
+\emph default
+Add the new element to an existing file.
+
+\layout Subsection
EXAMPLES
-\layout Section
+\layout Subsubsection
-BUGS
+--add net
+\layout Standard
+
+
+\series bold
+lmc --node adev3 --add net --nid adev3 --cluster_id 0x1000 --nettype tcp
+ --hostaddr adev3-eth0 --port 988
+\layout Standard
+
+
+\series bold
+lmc --node adev3 --add net --nid adev3 --cluster_id 0x2000 --nettype tcp
+ --hostaddr adev3-eth1 --port 989
+\series default
+\emph on
+
+\layout Standard
+
+Used to add a Lustre node to a specified Lustre cluster through a network
+ interface.
+ In this example, Lustre node adev3 has been added to 2 Lustre clusters
+ whose cluster_id are 0x1000 and 0x2000 separately through 2 network interface
+ cards: adev3-eth0 and adev3-eth1.
+ adev3 would listen in some specified port(s) to prepare for possible connection
+ requests from nodes in these two clusters.
+\layout Subsubsection
+
+--add route
\layout Standard
-None are known.
-\layout Section
-AUTHOR
+\series bold
+lmc --node adev3 --add route --nettype tcp --gw 5 --gateway_cluster_id 0x1000
+ --target_cluster_id 0x1000 --lo 4 --hi 7
\layout Standard
-Cluster File Systems, Inc.
- 2002 - created
+Used to add a route entry for a Lustre node.
+ Here Lustre node adev3 is told it has a new route entry that now it could
+ send packets to Lustre nodes whose nids is from 4 to 7 with the help of
+ Lustre gateway node whose nid is 5.
+ Besides, Lustre gateway node is in cluster whose id is 0x1000 and target
+ of the route belongs to cluster whose id is also 0x1000.
+ The network in this route path is a tcp network.
+\layout Subsection
+
+BUGS
+\layout Standard
+
+None are known.
\the_end