[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