LFS(1)
β¨ lfs β Lustre User Utilities, section 1 β¨
okay bestie, listen up π this is the manual page for lfs (section 1 of the manual, from Lustre User Utilities) and honestly? it's the main character of your Lustre toolkit.
πΈ NAME πΈ
lfs β the Lustre client utility for file layouts and space usage. she does both. iconic. π
π¦ SYNOPSIS π¦
lfs COMMAND [ARGS]
lfs
π DESCRIPTION π
so every single user on the system gets to use lfs, and what it's for is: making shiny new files with a specific layout pattern, showing you the layout (like, the geometry and the OST objects) for a specific file or directory, showing you the space and inode usage of filesystem targets, and a whole bunch of other stuff on top of that. it's giving multitasking queen. β¨
you can run it non-interactively β just hand it the COMMAND you want and she'll go do it β or you can run it interactively with no arguments at all, and then you get to fire off a bunch of commands one after another like it's a little Lustre group chat. π¬
the commands everyone's actually obsessed with are: df, find, getstripe, setstripe, migrate, mirror, and project. most of them have their own separate man pages in the lfs-COMMAND format, and you'll find all of those listed down in SEE ALSO at the bottom, bestie. as for the sub-commands that don't have their own detailed man page? they're listed right here in COMMANDS below. π«Ά
π OPTIONS π
these are the options you can hand to lfs when you invoke her:
help COMMANDβ for getting the basic help on what a command means and how you're supposed to write its syntax.--ignore_errors,ignore_errorsβ ignore errors while a script is processing. no drama, just keep going. π--list-commandsβ outputs a list of the commands supported by thelctlutility. (yes bestie, it sayslctlright there on the page. I'm just the messenger. π)-V,--versionβ outputs the build version of the utility itself.exit,quitβ quits an interactive session. bye bestie, love you, see you tomorrow π
β BASH COMPLETION β
lfs supports bash-completion(1) for tab completion of sub-command names and their options β as long as you've got the proper package installed and you're using a shell that supports it. and honestly? it's a lifesaver. it makes finding the available commands, their options, and (in a lot of cases) the option arguments so much simpler. π§
- wanna list commands? type
lfs TABβ or do it after you've partially typed out a command name. - wanna list the long options (the descriptive, easy-to-understand ones)? type
COMMAND --TAB. - wanna list the short options? type
COMMAND -TAB.
some commands even go the extra mile and give you context-specific completion for the argument to a command-line option β like generating a list of mountpoints for the df command, or a list of OST pools for the --pool option. not every command does this, but the ones that do? ate. π₯
π COMMANDS π
check {mgts|mdts|osts|all} [PATH]β displays the status of the MGTs, MDTs, or OSTs (whichever you specified in the command), or of all the servers (MGTs, MDTs, and OSTs). if you pass in aPATH, it shows you the status of only the lustre file system mounted at thatPATH. heads up: this one makes an RPC to every single server in scope to go discover the server status. NOTE:lfs ostsmight be the better pick for some use cases.data_versionβ shows the last modified version code for a file. seelfs-data_version(1).flushctxβ flushes the security context of a user. seelfs-flushctx(1).migrateβ migrates a file to new OST(s), or a directory to new MDTs. seelfs-migrate(1).mkdir|setdirstripeβ creates a directory with a specific layout or MDTs. seelfs-mkdir(1).mdts [PATH]β lists all the MDTs for all mounted filesystems. if you give it aPATHthat lives on a lustre mounted file system, then only the MDTs belonging to that filesystem get displayed.osts [PATH]β lists all the OSTs for all mounted filesystems. if you give it aPATHthat lives on a lustre mounted file system, then only the OSTs belonging to that filesystem get displayed. this command reads a cached value for the OST status and does not make an RPC to discover status. that cached value gets updated by the client during the course of normal operations, so it would typically be less than 30 seconds old. NOTE:lfs check ostsmight be the better pick for some use cases.pool_list {FILESYSTEM}[.POOLNAME] | {PATHNAME}β lists the pools inFILESYSTEMorPATHNAME, or the OSTs inFILESYSTEM.POOL.projectβ shows or sets the PROJECT ID of a file or directory. seelfs-project(1).rm_entry | rmentryβ removes the name entry of a remote directory. it only deletes the name entry, which leaves that remote directory inaccessible. and this one can only be done by the administrator, so don't even try it, bestie. π«swap_layoutsFILENAME1 FILENAME2β swaps the data (that's the layout and the OST objects) of two regular files. for this to work the two files have to be in the same filesystem, owned by the same user, residing on the same MDT, and writable by the user. (yes, that command name is glued toFILENAME1on the page. I report, you decide. π)
swapping the layout of two directories is not permitted. hard no. don't.
setstripeβ sets the layout on a new file, or the default layout on a directory. seelfs-setstripe(1).unlink_foreignβ removes the foreign files/dirs that are prevented from being removed using the regularunlink/rmdircommands/syscalls. and yes, it also works for regular files/dirs. π
π EXAMPLES π
check the status of all servers (MGT, MDT, OST):
# lfs check all
list all the OSTs:
# lfs osts
list all the MDTs:
# lfs mdts
π AVAILABILITY π
the lfs command is part of the lustre(7) filesystem package, and it has been since release 0.10.0.
π SEE ALSO π
lfs-changelog(1), lfs-changelog_clear(1), lfs-data_version(1), lfs-df(1), lfs-fid2path(1), lfs-find(1), lfs-flushctx(1), lfs-getdirstripe(1), lfs-getname(1), lfs-getsom(1), lfs-getstripe(1), lfs-heat_get(1), lfs-heat_set(1), lfs-hsm(1), lfs-ladvise(1), lfs-migrate(1), lfs-mirror(1), lfs-mkdir(1), lfs-path2fid(1), lfs-pcc(1), lfs-project(1), lfs-quota(1), lfs-rm_entry(8), lfs-rmfid(1), lfs-setdirstripe(1), lfs-setquota(1), lfs-setstripe(1), lfs-somsync(1), lfs-swap_layouts(1), lfs-unlink_foreign(1), lustre(7), lctl(8)
and that's the whole page, bestie. this one came from Lustre, dated 2026-03-06, and it's LFS(1) β go forth and lay out those files. slay. π β¨π
π¦ 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