X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=LustreDebugging.xml;h=abeef9c9db39e1fce899c750045a38759ceef8c1;hb=fa289da8d2a3a5f4f3028a2bbf0ba69ae8e91d2c;hp=eb5b1a2f3cc35ef95bcdc327a125e5db2444b130;hpb=6f3a9ccbfe770228a927c37b9e2607525799dbb9;p=doc%2Fmanual.git diff --git a/LustreDebugging.xml b/LustreDebugging.xml index eb5b1a2..abeef9c 100644 --- a/LustreDebugging.xml +++ b/LustreDebugging.xml @@ -127,7 +127,7 @@ Diagnostic and Debugging Tools packet inspection tool that allows debugging of information that was sent between the various Lustre nodes. This tool is built on top of tcpdump and can read packet dumps generated by - it. There are plug-ins available to dissassemble the LNET and + it. There are plug-ins available to dissassemble the LNet and Lustre protocols. They are located within the Lustre git repository under lustre/contrib/wireshark/. Installation @@ -646,24 +646,29 @@ Debug log: 324 lines, 258 kept, 66 dropped. attributes for a new file or directory. The lfs getstripe command takes a Lustre filename as input and lists all the objects that form a part of this file. To obtain this information for the file - /mnt/lustre/frog in a Lustre file system, run: - $ lfs getstripe /mnt/lustre/frog + /mnt/testfs/frog in a Lustre file system, run: + $ lfs getstripe /mnt/testfs/frog lmm_stripe_count: 2 lmm_stripe_size: 1048576 +lmm_pattern: 1 +lmm_layout_gen: 0 lmm_stripe_offset: 2 obdidx objid objid group 2 818855 0xc7ea7 0 0 873123 0xd52a3 0 - The debugfs tool is provided in the e2fsprogs - package. It can be used for interactive debugging of an ldiskfs file - system. The debugfs tool can either be used to check status or modify - information in the file system. In a Lustre file system, all objects that belong to a file - are stored in an underlying ldiskfs file system on the OSTs. The file - system uses the object IDs as the file names. Once the object IDs are known, use the - debugfs tool to obtain the attributes of all objects from different - OSTs. - A sample run for the /mnt/lustre/frog file used in the above example is shown here: + The debugfs tool is provided in the + e2fsprogs package. It can be used for interactive + debugging of an ldiskfs file system. The + debugfs tool can either be used to check status or + modify information in the file system. In a Lustre file system, all + objects that belong to a file are stored in an underlying + ldiskfs file system on the OSTs. The file system + uses the object IDs as the file names. Once the object IDs are known, + use the debugfs tool to obtain the attributes of + all objects from different OSTs. + A sample run for the /mnt/testfs/frog file used + in the above example is shown here: $ debugfs -c -R "stat O/0/d$((818855 % 32))/818855" /dev/vgmyth/lvmythost2 debugfs 1.41.90.wc3 (28-May-2011) @@ -717,6 +722,13 @@ Filesystem volume name: myth-OST0004 lctl> show dlmtrace lctl> debug_kernel [filename] +
+ Controlling Console Message Rate Limiting + Some console messages which are printed by Lustre are rate limited. When such messages are printed, they may be followed by a message saying "Skipped N previous similar message(s)," where N is the number of messages skipped. This rate limiting can be completely disabled by a libcfs module parameter called libcfs_console_ratelimit. To disable console message rate limiting, add this line to /etc/modprobe.d/lustre.conf and then reload Lustre modules. + options libcfs libcfs_console_ratelimit=0 + It is also possible to set the minimum and maximum delays between rate-limited console messages using the module parameters libcfs_console_max_delay and libcfs_console_min_delay. Set these in /etc/modprobe.d/lustre.conf and then reload Lustre modules. Additional information on libcfs module parameters is available via modinfo: + modinfo libcfs +
<indexterm><primary>debugging</primary><secondary>developers tools</secondary></indexterm>Lustre Debugging for Developers @@ -827,7 +839,7 @@ lctl> debug_kernel [filename] - Behaves similarly to CERROR(), but prints error messages for LNET if D_NETERR is set in the debug mask. This is appropriate for serious networking errors. Messages printed to the console are rate-limited. + Behaves similarly to CERROR(), but prints error messages for LNet if D_NETERR is set in the debug mask. This is appropriate for serious networking errors. Messages printed to the console are rate-limited. @@ -976,7 +988,7 @@ lctl> debug_kernel [filename]
Accessing the <literal>ptlrpc</literal> Request History Each service maintains a request history, which can be useful for first occurrence troubleshooting. - ptlrpc is an RPC protocol layered on LNET that deals with stateful servers and has semantics and built-in support for recovery. + ptlrpc is an RPC protocol layered on LNet that deals with stateful servers and has semantics and built-in support for recovery. The ptlrpc request history works as follows: