What: /sys/fs/lustre/version
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Shows current running lustre version.
What: /sys/fs/lustre/pinger
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Shows if the lustre module has pinger support.
"on" means yes and "off" means no.
What: /sys/fs/lustre/health_check
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Shows whenever current system state believed to be "healthy",
"NOT HEALTHY", or "LBUG" whenever lustre has experienced
an internal assertion failure
What: /sys/fs/lustre/jobid_name
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Currently running job "name" for this node to be transferred
to Lustre servers for purposes of QoS and statistics gathering.
Writing into this file will change the name, reading outputs
currently set value.
What: /sys/fs/lustre/jobid_var
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Control file for lustre "jobstats" functionality, write new
value from the list below to change the mode:
disable - disable job name reporting to the servers (default)
procname_uid - form the job name as the current running
command name and pid with a dot in between
e.g. dd.1253
nodelocal - use jobid_name value from above.
What: /sys/fs/lustre/timeout
Date: June 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Controls "lustre timeout" variable, also known as obd_timeout
in some old manual. In the past obd_timeout was of paramount
importance as the timeout value used everywhere and where
other timeouts were derived from. These days it's much less
important as network timeouts are mostly determined by
AT (adaptive timeouts).
Unit: seconds, default: 100
What: /sys/fs/lustre/max_dirty_mb
Date: June 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Controls total number of dirty cache (in megabytes) allowed
across all mounted lustre filesystems.
Since writeout of dirty pages in Lustre is somewhat expensive,
when you allow to many dirty pages, this might lead to
performance degradations as kernel tries to desperately
find some pages to free/writeout.
Default 1/2 RAM. Min value 4, max value 9/10 of RAM.
What: /sys/fs/lustre/debug_peer_on_timeout
Date: June 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Control if lnet debug information should be printed when
an RPC timeout occurs.
0 disabled (default)
1 enabled
What: /sys/fs/lustre/dump_on_timeout
Date: June 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Controls if Lustre debug log should be dumped when an RPC
timeout occurs. This is useful if yout debug buffer typically
rolls over by the time you notice RPC timeouts.
What: /sys/fs/lustre/dump_on_eviction
Date: June 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Controls if Lustre debug log should be dumped when an this
client is evicted from one of the servers.
This is useful if yout debug buffer typically rolls over
by the time you notice the eviction event.
What: /sys/fs/lustre/at_min
Date: July 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Controls minimum adaptive timeout in seconds. If you encounter
a case where clients timeout due to server-reported processing
time being too short, you might consider increasing this value.
One common case of this if the underlying network has
unpredictable long delays.
Default: 0
What: /sys/fs/lustre/at_max
Date: July 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Controls maximum adaptive timeout in seconds. If at_max timeout
is reached for an RPC, the RPC will time out.
Some genuinuely slow network hardware might warrant increasing
this value.
Setting this value to 0 disables Adaptive Timeouts
functionality and old-style obd_timeout value is then used.
Default: 600
What: /sys/fs/lustre/at_extra
Date: July 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Controls how much extra time to request for unfinished requests
in processing in seconds. Normally a server-side parameter, it
is also used on the client for responses to various LDLM ASTs
that are handled with a special server thread on the client.
This is a way for the servers to ask the clients not to time
out the request that reached current servicing time estimate
yet and give it some more time.
Default: 30
What: /sys/fs/lustre/at_early_margin
Date: July 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Controls when to send the early reply for requests that are
about to timeout as an offset to the estimated service time in
seconds..
Default: 5
What: /sys/fs/lustre/at_history
Date: July 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Controls for how many seconds to remember slowest events
encountered by adaptive timeouts code.
Default: 600
What: /sys/fs/lustre/llite/<fsname>-<uuid>/blocksize
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Biggest blocksize on object storage server for this filesystem.
What: /sys/fs/lustre/llite/<fsname>-<uuid>/kbytestotal
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Shows total number of kilobytes of space on this filesystem
What: /sys/fs/lustre/llite/<fsname>-<uuid>/kbytesfree
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Shows total number of free kilobytes of space on this filesystem
What: /sys/fs/lustre/llite/<fsname>-<uuid>/kbytesavail
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Shows total number of free kilobytes of space on this filesystem
actually available for use (taking into account per-client
grants and filesystem reservations).
What: /sys/fs/lustre/llite/<fsname>-<uuid>/filestotal
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Shows total number of inodes on the filesystem.
What: /sys/fs/lustre/llite/<fsname>-<uuid>/filesfree
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Shows estimated number of free inodes on the filesystem
What: /sys/fs/lustre/llite/<fsname>-<uuid>/client_type
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Shows whenever this filesystem considers this client to be
compute cluster-local or remote. Remote clients have
additional uid/gid convrting logic applied.
What: /sys/fs/lustre/llite/<fsname>-<uuid>/fstype
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Shows filesystem type of the filesystem
What: /sys/fs/lustre/llite/<fsname>-<uuid>/uuid
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Shows this filesystem superblock uuid
What: /sys/fs/lustre/llite/<fsname>-<uuid>/max_read_ahead_mb
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Sets maximum number of megabytes in system memory to be
given to read-ahead cache.
What: /sys/fs/lustre/llite/<fsname>-<uuid>/max_read_ahead_per_file_mb
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Sets maximum number of megabytes to read-ahead for a single file
What: /sys/fs/lustre/llite/<fsname>-<uuid>/max_read_ahead_whole_mb
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
For small reads, how many megabytes to actually request from
the server as initial read-ahead.
What: /sys/fs/lustre/llite/<fsname>-<uuid>/checksum_pages
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Enables or disables per-page checksum at llite layer, before
the pages are actually given to lower level for network transfer
What: /sys/fs/lustre/llite/<fsname>-<uuid>/stats_track_pid
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Limit Lustre vfs operations gathering to just a single pid.
0 to track everything.
What: /sys/fs/lustre/llite/<fsname>-<uuid>/stats_track_ppid
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Limit Lustre vfs operations gathering to just a single ppid.
0 to track everything.
What: /sys/fs/lustre/llite/<fsname>-<uuid>/stats_track_gid
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Limit Lustre vfs operations gathering to just a single gid.
0 to track everything.
What: /sys/fs/lustre/llite/<fsname>-<uuid>/statahead_max
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Controls maximum number of statahead requests to send when
sequential readdir+stat pattern is detected.
What: /sys/fs/lustre/llite/<fsname>-<uuid>/statahead_agl
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Controls if AGL (async glimpse ahead - obtain object information
from OSTs in parallel with MDS during statahead) should be
enabled or disabled.
0 to disable, 1 to enable.
What: /sys/fs/lustre/llite/<fsname>-<uuid>/lazystatfs
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Controls statfs(2) behaviour in the face of down servers.
If 0, always wait for all servers to come online,
if 1, ignote inactive servers.
What: /sys/fs/lustre/llite/<fsname>-<uuid>/max_easize
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Shows maximum number of bytes file striping data could be
in current configuration of storage.
What: /sys/fs/lustre/llite/<fsname>-<uuid>/default_easize
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Shows maximum observed file striping data seen by this
filesystem client instance.
What: /sys/fs/lustre/llite/<fsname>-<uuid>/xattr_cache
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Controls extended attributes client-side cache.
1 to enable, 0 to disable.
What: /sys/fs/lustre/llite/<fsname>-<uuid>/unstable_stats
Date: Apr 2016
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Shows number of pages that were sent and acknowledged by
server but were not yet committed and therefore still
pinned in client memory even though no longer dirty.
What: /sys/fs/lustre/ldlm/cancel_unused_locks_before_replay
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Controls if client should replay unused locks during recovery
If a client tends to have a lot of unused locks in LRU,
recovery times might become prolonged.
1 - just locally cancel unused locks (default)
0 - replay unused locks.
What: /sys/fs/lustre/ldlm/namespaces/<name>/resource_count
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Displays number of lock resources (objects on which individual
locks are taken) currently allocated in this namespace.
What: /sys/fs/lustre/ldlm/namespaces/<name>/lock_count
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Displays number or locks allocated in this namespace.
What: /sys/fs/lustre/ldlm/namespaces/<name>/lru_size
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Controls and displays LRU size limit for unused locks for this
namespace.
0 - LRU size is unlimited, controlled by server resources
positive number - number of locks to allow in lock LRU list
What: /sys/fs/lustre/ldlm/namespaces/<name>/lock_unused_count
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Display number of locks currently sitting in the LRU list
of this namespace
What: /sys/fs/lustre/ldlm/namespaces/<name>/lru_max_age
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Maximum number of milliseconds a lock could sit in LRU list
before client would voluntarily cancel it as unused.
What: /sys/fs/lustre/ldlm/namespaces/<name>/early_lock_cancel
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Controls "early lock cancellation" feature on this namespace
if supported by the server.
When enabled, tries to preemtively cancel locks that would be
cancelled by verious operations and bundle the cancellation
requests in the same RPC as the main operation, which results
in significant speedups due to reduced lock-pingpong RPCs.
0 - disabled
1 - enabled (default)
What: /sys/fs/lustre/ldlm/namespaces/<name>/pool/granted
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Displays number of granted locks in this namespace
What: /sys/fs/lustre/ldlm/namespaces/<name>/pool/grant_rate
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Number of granted locks in this namespace during last
time interval
What: /sys/fs/lustre/ldlm/namespaces/<name>/pool/cancel_rate
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Number of lock cancellations in this namespace during
last time interval
What: /sys/fs/lustre/ldlm/namespaces/<name>/pool/grant_speed
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Calculated speed of lock granting (grant_rate - cancel_rate)
in this namespace
What: /sys/fs/lustre/ldlm/namespaces/<name>/pool/grant_plan
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Estimated number of locks to be granted in the next time
interval in this namespace
What: /sys/fs/lustre/ldlm/namespaces/<name>/pool/limit
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Controls number of allowed locks in this pool.
When lru_size is 0, this is the actual limit then.
What: /sys/fs/lustre/ldlm/namespaces/<name>/pool/lock_volume_factor
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Multiplier for all lock volume calculations above.
Default is 1. Increase to make the client to more agressively
clean it's lock LRU list for this namespace.
What: /sys/fs/lustre/ldlm/namespaces/<name>/pool/server_lock_volume
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Calculated server lock volume.
What: /sys/fs/lustre/ldlm/namespaces/<name>/pool/recalc_period
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Controls length of time between recalculation of above
values (in seconds).
What: /sys/fs/lustre/ldlm/services/ldlm_cbd/threads_min
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Controls minimum number of ldlm callback threads to start.
What: /sys/fs/lustre/ldlm/services/ldlm_cbd/threads_max
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Controls maximum number of ldlm callback threads to start.
What: /sys/fs/lustre/ldlm/services/ldlm_cbd/threads_started
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Shows actual number of ldlm callback threads running.
What: /sys/fs/lustre/ldlm/services/ldlm_cbd/high_priority_ratio
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Controls what percentage of ldlm callback threads is dedicated
to "high priority" incoming requests.
What: /sys/fs/lustre/{obdtype}/{connection_name}/blocksize
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Blocksize on backend filesystem for service behind this obd
device (or biggest blocksize for compound devices like lov
and lmv)
What: /sys/fs/lustre/{obdtype}/{connection_name}/kbytestotal
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Total number of kilobytes of space on backend filesystem
for service behind this obd (or total amount for compound
devices like lov lmv)
What: /sys/fs/lustre/{obdtype}/{connection_name}/kbytesfree
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Number of free kilobytes on backend filesystem for service
behind this obd (or total amount for compound devices
like lov lmv)
What: /sys/fs/lustre/{obdtype}/{connection_name}/kbytesavail
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Number of kilobytes of free space on backend filesystem
for service behind this obd (or total amount for compound
devices like lov lmv) that is actually available for use
(taking into account per-client and filesystem reservations).
What: /sys/fs/lustre/{obdtype}/{connection_name}/filestotal
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Number of inodes on backend filesystem for service behind this
obd.
What: /sys/fs/lustre/{obdtype}/{connection_name}/filesfree
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Number of free inodes on backend filesystem for service
behind this obd.
What: /sys/fs/lustre/mdc/{connection_name}/max_pages_per_rpc
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Maximum number of readdir pages to fit into a single readdir
RPC.
What: /sys/fs/lustre/{mdc,osc}/{connection_name}/max_rpcs_in_flight
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Maximum number of parallel RPCs on the wire to allow on
this connection. Increasing this number would help on higher
latency links, but has a chance of overloading a server
if you have too many clients like this.
Default: 8
What: /sys/fs/lustre/osc/{connection_name}/max_pages_per_rpc
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Maximum number of pages to fit into a single RPC.
Typically bigger RPCs allow for better performance.
Default: however many pages to form 1M of data (256 pages
for 4K page sized platforms)
What: /sys/fs/lustre/osc/{connection_name}/active
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Controls accessibility of this connection. If set to 0,
fail all accesses immediately.
What: /sys/fs/lustre/osc/{connection_name}/checksums
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Controls whenever to checksum bulk RPC data over the wire
to this target.
1: enable (default) ; 0: disable
What: /sys/fs/lustre/osc/{connection_name}/contention_seconds
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Controls for how long to consider a file contended once
indicated as such by the server.
When a file is considered contended, all operations switch to
synchronous lockless mode to avoid cache and lock pingpong.
What: /sys/fs/lustre/osc/{connection_name}/cur_dirty_bytes
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Displays how many dirty bytes is presently in the cache for this
target.
What: /sys/fs/lustre/osc/{connection_name}/cur_grant_bytes
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Shows how many bytes we have as a "dirty cache" grant from the
server. Writing a value smaller than shown allows to release
some grant back to the server.
Dirty cache grant is a way Lustre ensures that cached successful
writes on client do not end up discarded by the server due to
lack of space later on.
What: /sys/fs/lustre/osc/{connection_name}/cur_lost_grant_bytes
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Shows how many granted bytes were released to the server due
to lack of write activity on this client.
What: /sys/fs/lustre/osc/{connection_name}/grant_shrink_interval
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Number of seconds with no write activity for this target
to start releasing dirty grant back to the server.
What: /sys/fs/lustre/osc/{connection_name}/destroys_in_flight
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Number of DESTROY RPCs currently in flight to this target.
What: /sys/fs/lustre/osc/{connection_name}/lockless_truncate
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Controls whether lockless truncate RPCs are allowed to this
target.
Lockless truncate causes server to perform the locking which
is beneficial if the truncate is not followed by a write
immediately.
1: enable ; 0: disable (default)
What: /sys/fs/lustre/osc/{connection_name}/max_dirty_mb
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Controls how much dirty data this client can accumulate
for this target. This is orthogonal to dirty grant and is
a hard limit even if the server would allow a bigger dirty
cache.
While allowing higher dirty cache is beneficial for write
performance, flushing write cache takes longer and as such
the node might be more prone to OOMs.
Having this value set too low might result in not being able
to sent too many parallel WRITE RPCs.
Default: 32
What: /sys/fs/lustre/osc/{connection_name}/resend_count
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Controls how many times to try and resend RPCs to this target
that failed with "recoverable" status, such as EAGAIN,
ENOMEM.
What: /sys/fs/lustre/lov/{connection_name}/numobd
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Number of OSC targets managed by this LOV instance.
What: /sys/fs/lustre/lov/{connection_name}/activeobd
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Number of OSC targets managed by this LOV instance that are
actually active.
What: /sys/fs/lustre/lmv/{connection_name}/numobd
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Number of MDC targets managed by this LMV instance.
What: /sys/fs/lustre/lmv/{connection_name}/activeobd
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Number of MDC targets managed by this LMV instance that are
actually active.
What: /sys/fs/lustre/lmv/{connection_name}/placement
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Determines policy of inode placement in case of multiple
metadata servers:
CHAR - based on a hash of the file name used at creation time
(Default)
NID - based on a hash of creating client network id.