I want to use collectl (V4.1.0-1) to get lustre (version=2.12.2_178_ga0680fe_dirty) specific stats. But, it says "-sl disabled because this system does not have lustre modules installed"! But, system does have the necessary lustre modules. Can somebody help in resolving this issue.
root@dgx1:~# collectl -sL
Use of uninitialized value $strace in pattern match (m//) at /usr/share/collectl/formatit.ph line 178.
Use of uninitialized value $speed in numeric gt (>) at /usr/share/collectl/formatit.ph line 181.
-sl disabled because this system does not have lustre modules installed
Error: no subsystems selected
type 'collectl -h' for help
root@dgx1:~#
root@dgx1:~# collectl -sl
Error: invalid subsystem 'l'
type 'collectl -h' for help
root@dgx1:~#
Following are the system details.
root@dgx1:~# uname -r
4.15.0-45-generic
root@dgx1:~# uname -a
Linux dgx1 4.15.0-45-generic #48-Ubuntu SMP Tue Jan 29 16:28:13 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
root@dgx1:~# lctl get_param version
version=2.12.2_178_ga0680fe_dirty
root@dgx1:~# lsmod | grep lustre
lustre 737280 2093
lmv 180224 3 lustre
mdc 237568 3 lustre
lov 311296 1397 lustre
ptlrpc 1306624 8 fld,osc,fid,mgc,lov,mdc,lmv,lustre
obdclass 2158592 1421 fld,osc,fid,ptlrpc,mgc,lov,mdc,lmv,lustre
lnet 557056 7 osc,ko2iblnd,obdclass,ptlrpc,mgc,lmv,lustre
libcfs 471040 12 fld,lnet,osc,fid,ko2iblnd,obdclass,ptlrpc,mgc,lov,mdc,lmv,lustre
root@dgx1:~# collectl --version
collectl V4.1.0-1 (zlib:2.074,HiRes:1.9741)
Copyright 2003-2016 Hewlett-Packard Development Company, L.P.
collectl may be copied only under the terms of either the Artistic License
or the GNU General Public License, which may be found in the source kit
I don't know the internal details of
collectlspecifically, but one likely candidate for the source of the problem is that the Lustre stats have been moving fromprocfstosysfsand/ordebugfsin newer releases due to upstream kernel coding requirements.This is handled transparently inside Lustre
lctlandlfsby looking in a number of places for the stats/parameters files{/sys/{fs,kernel/debug}/{lnet,lustre},/proc/{fs,sys}/{lnet,lustre}}, and possiblycollectlneeds to do the same (there are now library APIs to find such stats files that it could use). Thelctlbinary will also automatically mount/sys/kernel/debugif it isn't already mounted, so it may be that you need to add this to your/etc/fstabso that it is mounted whencollectlruns.