跟踪是 GPFS 文件系统中一个非常重要的功能。对于开发人员来说,它可以帮助开发人员看到系统运行过程中内部的、更底层的信息,以此来找到问题并解决。对于非开发人员,一般是看不懂这些底层信息的。但掌握跟踪功能的设置,可以让我们在发现问题时,给开发或服务团队提供更准确、更有价值的日志信息。下面就简单介绍一下如何修改跟踪属性以及如何使其生效。
修改跟踪属性的方法
mmchconfig trace="trace_class trace_level [trace_class trace_level]..."
或者:
mmtracectl --set --trace="trace_class trace_level [trace_class trace_level]..."
例如:mmtracectl --set --trace="tm 2 thread 1 vnode 5"
在众多的跟踪属性中,我们究竟要修改哪些默认值是要根据实际情况决定的。对于不同的问题,会需要不同方面的属性。
使修改生效的方法:
1. 在修改属性命令后增加 – i 参数,意思是马上生效。如:mmtracectl --set --trace="tm 2 thread 1 vnode 5" -i
2. 重启整个 GPFS
mmshutdown – a
mmstartup -a
查看当前跟踪属性的设置
通过 mmfsadm showtrace 或者 mmlsconfig 命令,可以查看当前跟踪属性的设置情况。例如:运行上面的修改跟踪属性的命令后,可以通过 mmfsadm showtrace 或者 mmlsconfig 命令进行确认,看相应属性的修改是否生效。
node1:~ # mmlsconfig
Configuration data for cluster node1:
---------------------------------------
clusterName node1
clusterId 12402633003866146335
clusterType lc
autoload yes
minReleaseLevel 3.2.1.6
dmapiFileHandleSize 32
cnfsSharedRoot /tiam_utility/cnfs
cnfsReboot yes
pagepool 1G
maxFilesToCache 20000
maxMBpS 500
worker1Threads 144
prefetchThreads 144
dmapiMountTimeout 120
envVar LC_ALL="" LC_CTYPE="en_US.UTF-8"
assertOnStructureError yes
trace tm 2 thread 1 vnode 5
traceFileSize 0
cnfsNFSDprocs 128
nfsPrefetchStrategy 1
File systems in cluster node1:
--------------------------------
/dev/tiam_utility
node1:~ # mmfsadm showtrace
Current trace levels:
( 省略 )
thread : 1(operations in Thread class)
tm : 2(token manager)
ts : 0 (Tiger Shark specific code)
user1 : 0 (Used for miscellaneous tracing and)
user2 : 0 (debugging purposes)
vnode : 5(vnode layer of VFS kernel support)
( 省略 )