slurmdbd(8)

πŸ’– slurmdbd(8) β€” Slurm Daemon πŸ’–

okay bestie, gather round, because today we're talking about slurmdbd, aka the Slurm Database Daemon, and she is literally the main character of your accounting setup. This page lives in section 8 of the manual (that's the daemons-and-admin-stuff section, iykyk) and it's giving "secure enterprise-wide database access realness." 🫢


✨ NAME ✨

slurmdbd β€” Slurm Database Daemon. that's it, that's the name, short and iconic. πŸ‘‘


🌸 SYNOPSIS 🌸

slurmdbd [OPTIONS...]

she takes options. optionally. slay. πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

so here's the tea: slurmdbd provides a secure enterprise-wide interface to a database for Slurm. no cap. and the way that this is particularly useful? for archiving accounting records. πŸ“šβœ¨

like, all those jobs that ran, all that compute you burned β€” somebody's gotta keep the receipts, and it's her. she's the receipts keeper. the archivist. the girl with the ledger. periodt. πŸ’–


πŸŽ€ OPTIONS πŸŽ€

  • -D β€” run slurmdbd in the foreground, with logging copied to stdout. very "let me watch everything happen live" energy. lowkey the debugging bestie. πŸ”
  • -h β€” help!! print a brief summary of the command options and skedaddle. when in doubt, hit her with the -h. πŸ™ˆ
  • -n <value> β€” set the daemon's nice value to the specified value, typically a negative number. yes bestie, negative. she's asking for priority. πŸ‘‘
  • -s β€” change the working directory of slurmdbd to the LogFile path if possible, or to /var/tmp otherwise. flexible queen. ✨
  • -u β€” only display the Slurm Database version and whether conversion is needed, then exit without taking control. if no conversion is needed, 0 is returned; if conversion is needed, 1 is returned. tiny little peek-and-leave. πŸ•΅οΈβ€β™€οΈ
  • -v β€” verbose operation! multiple v's can be specified, with each v beyond the first increasing verbosity, up to 6 times (i.e. -vvvvvv). that's six v's, bestie. six. the absolute max. don't be greedy. 😭
  • -V β€” print version information and exit. short and sweet, no notes. πŸ’…

🌈 ENVIRONMENT VARIABLES 🌈

the following environment variables can be used to override settings compiled into slurmdbd. yes, she reads the room (and the env). 🧚

  • ABORT_ON_FATAL β€” when a fatal error is detected, use abort() instead of exit() to terminate the process. why would you want that? because it allows backtraces to be captured without recompiling Slurm. so useful. so real. πŸ”₯

πŸ’€ CORE FILE LOCATION πŸ’€

okay this part is important, no skipping. here's the whole vibe, exactly as it goes:

If slurmdbd is started with the -D option, then the core file will be written to the current working directory.

Otherwise, if LogFile in "slurmdbd.conf" is a fully qualified path name (starting with a slash), the core file will be written to the same directory as the log file β€” provided SlurmUser has write permission on the directory.

Otherwise, the core file will be written to "/var/tmp/" as a last resort.

And if neither of the above directories have write permission for SlurmUser? no core file will be produced. that's it. nothing. she tried. 😭


πŸ’œ SIGNALS πŸ’œ

  • SIGTERM SIGINT SIGQUIT β€” slurmdbd will shutdown cleanly, waiting for in-progress rollups to finish. graceful queen behavior. she finishes her plate before she leaves the table. πŸ“
  • SIGABRT β€” slurmdbd will perform a core dump, then exit. in-progress operations are killed. brutal but honest. πŸ’€
  • SIGHUP β€” reloads the slurm configuration files, similar to 'scontrol reconfigure'. glow-up time. ✨
  • SIGTSTP β€” stop the process from a terminal. pause her, bestie. 🫢
  • SIGUSR2 β€” reread the log level from the configs, and then reopen the log file. this should be used when setting up logrotate(8). rotater girlies know. πŸŽ€
  • SIGCHLD SIGUSR1 SIGXCPU SIGPIPE SIGALRM β€” these signals are explicitly ignored. not even reading them. blocked. 🚫

⭐ NOTES ⭐

It may be useful to experiment with different slurmctld specific configuration parameters using a distinct configuration file (e.g. timeouts). sounds fun, right?

BUT β€” and this is the ✨catch✨ β€” this special configuration file will not be used by the slurmd daemon or the Slurm programs, unless you specifically tell each of them to use it. like, she's not a mind reader. you have to actually say it. πŸ™ˆ

If you desire changing communication ports, the location of the temporary file system, or other parameters used by other Slurm components, change the common configuration file, slurm.conf. that's the group chat everyone's actually in. πŸ«‚


πŸ‘‘ COPYING πŸ‘‘

Copyright (C) 2008 Lawrence Livermore National Security. Copyright (C) 2010-2022 SchedMD LLC. Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER). CODE-OCEC-09-009. All rights reserved.

This file is part of Slurm, a resource management program. For details, see <https://slurm.schedmd.com/>.

Slurm 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; either version 2 of the License, or (at your option) any later version.

Slurm 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.

yeah bestie, that last part is in ALL CAPS in the original too. it means it. no warranty, fr fr. read the license. πŸ’…

🌟 SEE ALSO 🌟


and that's the whole page!! πŸ’– you now know slurmdbd better than she knows herself.

cute little sign-off for you, bestie: this was Slurm 26.05, from the Slurm Daemon corner of the world, and yes, that's the version and date-ish vibe stamped on the page. go forth and archive those accounting records. πŸ¦‹βœ¨

πŸ“¦ where this page comes from