[lustre-discuss] Lustre-Manual on lfsck - non-existing entries?
Andreas Dilger
adilger at whamcloud.com
Tue Oct 31 14:34:04 PDT 2023
On Oct 31, 2023, at 13:12, Thomas Roth via lustre-discuss <lustre-discuss at lists.lustre.org> wrote:
>
> Hi all,
>
> after starting an `lctl lfsck_start -A -C -o` and the oi_scrub having completed, I would check the layout scan as described in the Lustre manual, "36.4.3.3. LFSCK status of layout via procfs", by
>
> > lctl get_param -n mdd.FSNAME-MDT_target.lfsck_layout
>
> Doesn't work, and inspection of 'ls /sys/fs/lustre/mdd/FSNAME-MDT0000/' shows:
> > ...
> > lfsck_async_windows
> > lfsck_speed_limit
> ...
>
> as the only entries showing the string "lfsck".
>
> > lctl lfsck_query -M FSNAME-MDT0000 -t layout
>
> does show some info, although it is not what the manual describes as output of the `lctl get_param` command.
>
>
> Issue with the manual or issue with our Lustre?
Are you perhaps running the "lctl get_param" as a non-root user? One of the wonderful quirks of the kernel is that they don't want new parameters stored in procfs, and they don't want "complex" parameters (more than one value) stored in sysfs, so by necessity this means anything "complex" needs to go into debugfs (/sys/kernel/debug) but that was changed at some point to only be accessible by root.
As such, you need to be root to access any of the "complex" parameters/stats:
$ lctl get_param mdd.*.lfsck_layout
error: get_param: param_path 'mdd/*/lfsck_layout': No such file or directory
$ sudo lctl get_param mdd.*.lfsck_layout
mdd.myth-MDT0000.lfsck_layout=
name: lfsck_layout
magic: 0xb1732fed
version: 2
status: completed
flags:
param: all_targets
last_completed_time: 1694676243
time_since_last_completed: 4111337 seconds
latest_start_time: 1694675639
time_since_latest_start: 4111941 seconds
last_checkpoint_time: 1694676243
time_since_last_checkpoint: 4111337 seconds
latest_start_position: 12
last_checkpoint_position: 4194304
first_failure_position: 0
success_count: 6
repaired_dangling: 0
repaired_unmatched_pair: 0
repaired_multiple_referenced: 0
repaired_orphan: 0
repaired_inconsistent_owner: 0
repaired_others: 0
skipped: 0
failed_phase1: 0
failed_phase2: 0
checked_phase1: 3791402
checked_phase2: 0
run_time_phase1: 595 seconds
run_time_phase2: 8 seconds
average_speed_phase1: 6372 items/sec
average_speed_phase2: 0 objs/sec
real_time_speed_phase1: N/A
real_time_speed_phase2: N/A
current_position: N/A
$ sudo ls /sys/kernel/debug/lustre/mdd/myth-MDT0000/
total 0
0 changelog_current_mask 0 changelog_users 0 lfsck_namespace
0 changelog_mask 0 lfsck_layout
Getting an update to the manual to clarify this requirement would be welcome.
Cheers, Andreas
--
Andreas Dilger
Lustre Principal Architect
Whamcloud
More information about the lustre-discuss
mailing list