You need to tell the script all the names of the obdfilter instances.
These should be up and running already . If some are on different
You need to tell the script all the names of the obdfilter instances.
These should be up and running already . If some are on different
automatically detect the local obdfilter instances.
All the obdfilter instances are driven directly. The script
automatically detect the local obdfilter instances.
All the obdfilter instances are driven directly. The script
Here the script drives one or more instances of obdecho server via instances
of echo_client running on 1 or more nodes.
Here the script drives one or more instances of obdecho server via instances
of echo_client running on 1 or more nodes.
- You just need to pass parameters case=network and
- server_nid="<name/nid_of_server>" to the script. The script will do the
- required setup for network case.
-
+ You just need to pass parameters case=network and
+ targets="<hostname/ip_of_server>" to the script. The script will do the
+ required setup for network case.
+
3. The Stripe F/S over the Network.
Here the script drives one or more instances of obdfilter via instances
3. The Stripe F/S over the Network.
Here the script drives one or more instances of obdfilter via instances
Note that the script is _NOT_ scalable to 100s of nodes since it is only
intended to measure individual servers, not the scalability of the system
as a whole.
Note that the script is _NOT_ scalable to 100s of nodes since it is only
intended to measure individual servers, not the scalability of the system
as a whole.
-where it should keep its working files. Customization variables are
-described clearly at Customization variables Section in the script.
+where it should keep its working files. Customization variables are
+described clearly at Customization variables Section in the script.
+Please see maximum supported value ranges for customization variables
+in the script.
- List all OSTs that you wish to test
- On all OSS machines:
Remember, write tests are destructive! This test should be run prior to
startup of your actual Lustre filesystem. If that is the case, you will not
need to reformat to restart Lustre - however, if the test is terminated before
- List all OSTs that you wish to test
- On all OSS machines:
Remember, write tests are destructive! This test should be run prior to
startup of your actual Lustre filesystem. If that is the case, you will not
need to reformat to restart Lustre - however, if the test is terminated before
- Determine the obdfilter instance names on all the clients, column 4
of 'lctl dl'. For example:
- Determine the obdfilter instance names on all the clients, column 4
of 'lctl dl'. For example:
Here the obdfilter instance names are oss01-sdb, oss01-sdd, oss02-sdi.
Since you are driving obdfilter instances directly, set the shell array
Here the obdfilter instance names are oss01-sdb, oss01-sdd, oss02-sdi.
Since you are driving obdfilter instances directly, set the shell array
To run against a network:
------------------------
For the second case i.e. obdfilter-survey over network, following setup
is to be done.
- Install all lustre modules including obdecho.
- Start lctl and check for the device list. The device list must be empty.
To run against a network:
------------------------
For the second case i.e. obdfilter-survey over network, following setup
is to be done.
- Install all lustre modules including obdecho.
- Start lctl and check for the device list. The device list must be empty.
-- It is suggested that there should be passwordless enrty between client
- and server machine to avoid typing password.
+- It is suggested that there should be passwordless enrty between client
+ and server machine to avoid typing password.
- To run obdfilter-surevy against network you just need to pass parameter
- case=netdisk and server_nid="<name/nid_of_server>" to the script.
-
-e.g. $ nobjhi=2 thrhi=2 size=1024 server_nid="<name/nid_of_server>" \
- case=network sh obdfilter-survey
+ To run obdfilter-surevy against network you just need to pass parameter
+ case=netdisk and targets="<hostname/ip_of_server>" to the script.
+
+e.g. $ nobjhi=2 thrhi=2 size=1024 targets="<hostname/ip_of_server>" \
+ case=network sh obdfilter-survey
-On server side you can see the stats at :
- /proc/fs/lustre/obdecho/<ost-testfs>/ststs
-where, 'ost_testfs' is the obdecho server created through script.
+On server side you can see the stats with the following command:
+ lctl get_param obdecho.*.stats
1. Automated run:
Setup the lustre with required OST's. Make sure that obdecho.ko module is
present. Then invoke the obdfilter-survey script with parameter case=netdisk.
1. Automated run:
Setup the lustre with required OST's. Make sure that obdecho.ko module is
present. Then invoke the obdfilter-survey script with parameter case=netdisk.
2. Manual run:
While running manually you need to tell the script all the names of the
echo_client instances, which should already be up and running.
2. Manual run:
While running manually you need to tell the script all the names of the
echo_client instances, which should already be up and running.
-sz 67108864K is the total amount of data read or written (in KB).
-rsz 1024 is the record size (size of each echo_client I/O, in KB).
+sz 67108864K is the total amount of data read or written (in bytes).
+rsz 1024K is the record size (size of each echo_client I/O, in bytes).
obj 8 is the total number of objects over all OSTs
thr 8 is the total number of threads over all OSTs and objects
write is the test name. If more tests have been specified they
obj 8 is the total number of objects over all OSTs
thr 8 is the total number of threads over all OSTs and objects
write is the test name. If more tests have been specified they
613.54 is the aggregate bandwidth over all OSTs measured by
dividing the total number of MB by the elapsed time.
[64.00, 82.00] are the minimum and maximum instantaneous bandwidths seen on
613.54 is the aggregate bandwidth over all OSTs measured by
dividing the total number of MB by the elapsed time.
[64.00, 82.00] are the minimum and maximum instantaneous bandwidths seen on
Note that although the numbers of threads and objects are specifed per-OST
in the customization section of the script, results are reported aggregated
Note that although the numbers of threads and objects are specifed per-OST
in the customization section of the script, results are reported aggregated
# threads for varying numbers of concurrent regions. This shows how
the OSS performs for a given number of concurrently accessed objects
(i.e. files) with varying numbers of I/Os in flight.
# threads for varying numbers of concurrent regions. This shows how
the OSS performs for a given number of concurrently accessed objects
(i.e. files) with varying numbers of I/Os in flight.
test. These numbers help find pathologies in file the file system block
allocator and the block device elevator.
test. These numbers help find pathologies in file the file system block
allocator and the block device elevator.
-The included plot-obdfilter script is an example of processing the output
-files to a .csv format and plotting graph using gnuplot.
+The included iokit-plot-obdfilter script is an example of processing the
+output files to a .csv format and plotting graph using gnuplot.