LFS(1)

πŸ“¦ version 2.17.58, in ubuntu stonking

✨ 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 the lctl utility. (yes bestie, it says lctl right 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 a PATH, it shows you the status of only the lustre file system mounted at that PATH. heads up: this one makes an RPC to every single server in scope to go discover the server status. NOTE: lfs osts might be the better pick for some use cases.
  • data_version β€” shows the last modified version code for a file. see lfs-data_version(1).
  • flushctx β€” flushes the security context of a user. see lfs-flushctx(1).
  • migrate β€” migrates a file to new OST(s), or a directory to new MDTs. see lfs-migrate(1).
  • mkdir|setdirstripe β€” creates a directory with a specific layout or MDTs. see lfs-mkdir(1).
  • mdts [PATH] β€” lists all the MDTs for all mounted filesystems. if you give it a PATH that 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 a PATH that 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 osts might be the better pick for some use cases.
  • pool_list {FILESYSTEM}[.POOLNAME] | {PATHNAME} β€” lists the pools in FILESYSTEM or PATHNAME, or the OSTs in FILESYSTEM.POOL.
  • project β€” shows or sets the PROJECT ID of a file or directory. see lfs-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 to FILENAME1 on 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. see lfs-setstripe(1).
  • unlink_foreign β€” removes the foreign files/dirs that are prevented from being removed using the regular unlink/rmdir commands/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