Whamcloud - gitweb
LU-6142 lnet: SPDX for lnet/include/ and misc files
[fs/lustre-release.git] / lnet / doc / lst.8
1 .\" SPDX-License-Identifier: GPL-2.0
2 .
3 .TH lst 8 "2017 Jan 12" Lustre "configuration utilities"
4 .SH NAME
5 lst \- Start the Lustre LNET Self-test
6 .SH SYNOPSIS
7 .B "lst"
8 .br
9 .B "lst --list-commands"
10 .SH DESCRIPTION
11 LNET self-test helps site administrators confirm that Lustre
12 Networking (LNET) has been properly installed and configured.
13 The self-test also confirms that LNET and the network software
14 and hardware underlying it are performing according to expectations.
15 .LP
16 Every LNET self-test runs in the context of a session.  A node can be
17 associated with only one session at a time to ensure the session has
18 exclusive use of the nodes on which it is running. A session is created,
19 controlled and monitored from a single node; this is referred to as the
20 self-test console.
21 .LP
22 Any node may act as the self-test console.  Nodes are named and allocated
23 to a self-test session in groups.  This allows all nodes in a group to
24 be referenced by a single name.
25 .LP
26 Test configurations are built by describing and running test batches.
27 A test batch is simply a named collection of tests, with each test
28 composed of a number of individual point-to-point tests running in parallel.
29 These individual point-to-point tests are instantiated according to the
30 test type, source group, target group and distribution specified when the
31 test is added to the test batch.
32 .LP
33 .SH OPTIONS
34 .TP
35 .B --list-commands
36 Output a list of the commands supported by the lst utility
37 .SH MODULES
38 To run LNET self-test, load these modules: libcfs, lnet, lnet_selftest
39 and any one of the klnds (i.e, ksocklnd, ko2iblnd...).
40 To load all necessary modules, run modprobe lnet_selftest, which
41 recursively loads the modules that lnet_selftest depends on.
42 .LP
43 There are two types of nodes for LNET self-test: the console node and
44 test nodes. Both node types require all previously-specified modules
45 to be loaded. (The userspace test node does not require these modules.)
46 .LP
47 A console user can invite a test node to join the test session by running
48 lst add_group \fINID\fR.
49 .LP
50 .SH UTILITIES
51 .B lst
52 is the user interface for the self-test console (run on console node).
53 It provides a list of commands to control the entire test system,
54 such as create session, create test groups, etc.
55 .LP
56 .SH EXAMPLE SCRIPT
57 Below is a sample LNET self-test script which simulates the traffic
58 pattern of a set of Lustre servers on a TCP network, accessed by Lustre
59 clients on an IB network (connected via LNET routers), with half the
60 clients reading and half the clients writing.
61 .LP
62 .nf
63 #!/bin/bash
64 export LST_SESSION=$$
65 lst new_session read/write
66 lst add_group servers 192.168.10.[8,10,12-16]@tcp
67 lst add_group readers 192.168.1.[1-253/2]@o2ib
68 lst add_group writers 192.168.1.[2-254/2]@o2ib
69 lst add_batch bulk_rw
70 lst add_test --batch bulk_rw --from readers --to servers \
71     brw read check=simple size=1M
72 lst add_test --batch bulk_rw --from writers --to servers \
73     brw write check=full size=4K
74 # start running
75 lst run bulk_rw
76 # display server stats for 30 seconds
77 lst stat servers & sleep 30; kill $!
78 # tear down
79 lst end_session
80 .fi
81 .SH SEE ALSO
82 This manual page was extracted from Introduction to LNET Self-Test,
83 section 19.4.1 of the Lustre Operations Manual.  For more detailed
84 information, please refer to that document.