我想使用 collectl (V4.1.0-1( 来获取 lustre (version=2.12.2_178_ga0680fe_dirty( 特定的统计数据。但是,它说"-sl 禁用,因为此系统没有安装光泽模块"!但是,系统确实具有必要的光泽模块。有人可以帮助解决这个问题吗?
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:~#
以下是系统详细信息。
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
我不知道collectl
的内部细节,但问题根源的一个可能的候选者是,由于上游内核编码要求,Lustre 统计数据在新版本中一直在从procfs
转移到sysfs
和/或debugfs
。
这是在Lustrelctl
中透明地处理的,并通过在许多地方查找统计信息/参数文件{/sys/{fs,kernel/debug}/{lnet,lustre},/proc/{fs,sys}/{lnet,lustre}}
来lfs
,并且可能需要collectl
执行相同的操作(现在有库API来查找可以使用的统计信息文件(。 如果尚未挂载lctl
二进制文件,它也将自动挂载/sys/kernel/debug
,因此您可能需要将其添加到/etc/fstab
,以便在运行时挂载collectl
。
collectl 需要从 2.10 版本开始修补。但请注意,collectl 不再被维护(请参阅这篇关于 collectl 的文章(。
Whamcloud的第三方工具页面上还列出了其他一些不错的和当前的替代方案。