LEIL-MASTER(8)

πŸ“¦ version 5.12.0, in nixpkgs unstable

πŸ’… leil-master β€” the Leil File System metadata server, bestie edition πŸŽ€

okay so real talk: leil-master lives in section 8 of the manual (that's the sysadmin zone, iykyk), and it's the ✨main character✨ of the Leil File System metadata world. She starts, restarts, and stops the LeilFS metadata server process. Let's get into it 🫢


✨ SYNOPSIS ✨

leil-master [-c CFGFILE] [-u] [-d] [-t LOCKTIMEOUT] [ACTION]

leil-master -v

leil-master -h

🌸 DESCRIPTION 🌸

leil-master is the metadata server program of Leil File System. Depending on what parameters you hand her, she can start, restart or stop the LeilFS metadata server process. And like, if you pass her no options at all? She just starts the LeilFS metadata server β€” and yes, she kills any previously run process if the lock file exists. She's decisive like that πŸ’…

πŸ¦‹ the two personalities πŸ¦‹

Your metadata server can work in one of two modes (we call them personalities, which is iconic honestly):

  1. master
  2. shadow

If the metadata server is running the master personality, she acts as the main metadata server, governing all file system metadata modifications. Boss energy πŸ‘‘

If the metadata server is running the shadow personality, she acts as a backup metadata server, ready for immediate deployment as the new master in case the current master fails. Very "on standby, ready to be promoted" of her.

heads up bestie: shadow only accepts connections from leil-admin. So like, leil-chunkserver, leil-metalogger and leil-mount (the client) are not allowed to connect to a shadow instance. Not in her DMs, periodt πŸ™ˆ

Current metadata server personality is defined in the metadata server configuration file, and it can be changed on the fly from shadow to master by properly modifying and reloading that configuration file. Glow-up available at any time ✨

πŸ’– the master & shadow sync situation πŸ’–

Master and shadow are designed to run simultaneously in sync forever. Like, forever forever. But β€” and this is very unlikely, but still β€” it's possible (due to a memory corruption or a bug) that after some time their metadata will somehow differ 😭

Since version 2.5.2, metadata checksum is maintained both by master and shadow, so they can detect and fix possible metadata corruptions. In case a mismatch is detected, shadow asks master to double check its metadata and dump its current snapshot. After the metadata is dumped and the checksum in master is recalculated, shadow downloads the new metadata snapshot, which should ensure that master and all shadows have exactly the same metadata. Communication! Accountability! Growth! 🌈

πŸ”„ the reload moment πŸ”„

SIGHUP (or the reload ACTION) forces leil-master to reload all configuration files. Fresh start, new vibes.

⭐ OPTIONS ⭐

  • -v β€” print version information and exit. Just a quick little flex πŸ’β€β™€οΈ
  • -h β€” print usage information and exit. Your cheat sheet, bestie.
  • -c CFGFILE β€” specify an alternative path of configuration file (default is leil-master.cfg in the system configuration directory).
  • -u β€” log undefined configuration values (when default is assumed). Basically, she'll tell you when she's winging it.
  • -d β€” run in foreground, don't daemonize. She stays right there with you 🫢
  • -t LOCKTIMEOUT β€” how long to wait for the lockfile (default is 60 seconds). Patience is a virtue etc etc.
  • ACTION β€” is the one of start, stop, restart, reload, test, isalive or kill. Default action is restart. She's got range πŸ‘‘

πŸŽ€ FILES πŸŽ€

  • leil-master.cfg β€” configuration file for LeilFS master process (see leil-master.cfg(5) manual).
  • leil-exports.cfg β€” LeilFS access control file (used with leil-mounts 1.6.0 or later, see leil-exports.cfg(5) manual).
  • leil-topology.cfg β€” Network topology definitions (see leil-topology.cfg(5) manual).
  • sfsmaster.lock β€” PID file of running LeilFS master process.
  • .sfsmaster.lock β€” lock file of running LeilFS master process (created in data directory).
  • metadata.sfs, metadata.sfs.back β€” LeilFS filesystem metadata image.
  • changelog.*.sfs β€” LeilFS filesystem metadata change logs (merged into metadata.sfs once per hour).
  • data.stats β€” LeilFS master charts state.

πŸ’€ REPORTING BUGS πŸ’€

Spotted something cursed? Report bugs to the GitHub repository https://github.com/leil-io/leilfs as an issue. The devs literally want to know πŸ™


Copyright 2008-2009 Gemius SA

Copyright 2013-2019 Skytechnology sp. z o.o.

Copyright 2023-2024 Leil Storage OÜ

LeilFS is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3.

LeilFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with LeilFS. If not, see http://www.gnu.org/licenses/.


🌈 SEE ALSO 🌈

leil-metarestore(8), leil-chunkserver(8), leil-mount(1), leil-master.cfg(5), leil-exports.cfg(5), leil-topology.cfg(5), leilfs(7)


mwah, that's the whole page bestie πŸ’œ this one's from the LeilFS source (version-and-date realness: dated 1980-01-01, filed under LEIL-MASTER(8)) β€” go forth and serve that metadata responsibly πŸ§šβ€β™€οΈβœ¨

πŸ“¦ where this page comes from