LCTL-LFSCK_START(8)
π LCTL-LFSCK_START(8) β the glow-up edition π
okay bestie, sit down, hydrate, because this is the lctl-lfsck_start page from the Lustre Configuration Utilities section 8, and it's literally the "start online Lustre File System Check" button. let's get into it β¨
β¨ NAME β¨
lctl-lfsck_start β start online Lustre File System Check π©Ί
πΈ SYNOPSIS πΈ
lctl lfsck_start [-M|--device {MDT,OST}_DEVICE] [-A|--all] [-c|--create-
ostobj[on|off]] [-C|--create-mdtobj[on|off]]
[-d|--delay-create-ostobj[on|off]]
[-e|--errorcontinue|abort] [-h|--help]
[-n|--dryrun[on|off]] [-o|--orphan] [-r|--reset]
[-s|--speedSPEED_LIMIT] [-t|--type
LFSCK_TYPE[,LFSCK_TYPE...]] [-w|--window-sizeSIZE]
like, yes, the synopsis is doing the absolute most with those line breaks, but it's exactly what you type. no notes π
π¦ DESCRIPTION π¦
Start LFSCK on the specified MDT or OST device, with whatever parameters you hand it. that's the whole vibe: you point it at a device, you tell it how you want the check done, and it goes. β¨
π OPTIONS π
-M,--device {MDT,OST}_DEVICEβ the MDT or OST device you want to start LFSCK/scrub on. if you don't pass-M, it'll pick an available Lustre device on the current server all on its own, no cap. BUT π¨ you do have to specify the device explicitly (see the-Moption) in these cases: if there are multiple devices on the current server that belong to different Lustre filesystems, or if-Aisn't specified and there are multiple devices on the current server.-A,--allβ start LFSCK on every available device in the system with one single LFSCK command. and that one command? it can be run on any MDT device in the system. multi-device slay π-c,--create-ostobj [on|off]β create the lost OST-object for a dangling LOV EA, either'off'(the default) or'on'. in default mode, when LFSCK finds some MDT-object with a dangling reference, it will report the inconsistency but will not repair it. if you give it'on', then LFSCK will re-create the missed OST-object. π οΈ-C,--create-mdtobj [on|off]β create the lost MDT-object for a dangling name entry, either'off'(the default) or'on'. in default mode, when LFSCK finds a dangling name entry, it will report the inconsistency but will not repair it. if you give it'on', then LFSCK will re-create the missed MDT-object. π οΈ-d,--delay-create-ostobj [on|off]β delay creating the lost OST-object for a dangling LOV EA until orphan OST-objects are handled, either'off'(the default) or'on'. if both--create-ostobjand the delay option are'on', then LFSCK will NOT create the OST-object to repair a dangling LOV EA unless all the OST-objects have been handled. this avoids repairing a dangling LOV EA incorrectly because of LOV EA corruption. the side-effect: as long as one OST doesn't join the layout LFSCK or fails to complete the scanning, then repairing dangling LOV EA gets skipped. for a large system with a lot of OSTs, that condition may be a bit strict. the default value is'off'. π (trade-offs, bestie, trade-offs)-e,--error ERROR_HANDLEβ with error_handle as'abort', then if the repair of a file isn't possible, LFSCK will save the current position and stop with an error. otherwise the default behavior is to'continue'if the repair of a file isn't possible.-h,--helpβ show the usage message. the classic π«Ά-n,--dryrun [on|off]β do a trial run with no changes made, if'on'or no argument is given. default is'off', which means any inconsistencies found will be repaired. so like,offis not a drill β οΈ-o,--orphanβ handle orphan objects, such as orphan OST-objects for layout LFSCK, by linking them under the.../.lustre/lost+founddirectory. found family, literally π₯Ή-r,--resetβ set the current position of object iteration back to the beginning of the specified device. the non-specified parameters also get reset to their defaults. by default (i.e. without-r), the iterator will resume scanning from the last saved checkpoint position, and other unspecified parameters will be the same as the prior incomplete run. so it's giving "fresh start" vs "pick up where you left off" π-s,--speed SPEED_LIMITβ set the upper limit of LFSCK processing in objects per second, to reduce load on the servers and storage. if no value is specified, the saved value is used (if resuming from a checkpoint). otherwise the default value of0is used, which means check the filesystem as quickly as possible.0= no chill, maximum speed π₯-t,--type LFSCK_TYPE[,LFSCK_TYPE...]β the type of LFSCK checking/repair to execute. if no type is given and the previous run was incomplete, or internal consistency checks detected an error, then the same types are used for the next run. otherwise, the default is to check all types of consistency. any time LFSCK is triggered on an ldiskfs MDT or OST, then OI Scrub is run. valid types are a comma-separated list of one or more of:scrubto run only the local OI Scrub on ldiskfs targets,namespacefor FID-in-dirent and linkEA checking on the MDT(s),layoutfor MDT-OST cross-reference consistency, andallto run all of the available check types. pick your fighter(s) π-w,--window-size SIZEβ specifies the maximum number of in-flight requests being processed at one time. this controls the load placed on remote OSTs when running layout checks. by default there are at most1024outstanding requests. bestie really said "know your limits" β
β AVAILABILITY β
lctl-lfsck-start is part of the lustre(7) filesystem package since release 2.3.0. it's been iconic for a minute π
π«Ά SEE ALSO π«Ά
lctl(8), lctl-lfsck-query(8), lctl-lfsck-stop(8)
and that's the page, bestie! π this one lives in the Lustre Configuration Utilities corner of the manual, dated 2024-08-13, and the source is Lustre. go forth, start that LFSCK, and may your dangling references be few. mwah π
β¨
π¦ where this page comes from
- ubuntu stonking: lustre-client-utils 2.17.58+dfsg-0ubuntu2 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms