Close Menu
DPC Virtual Tips
    Read More

    SlurmDBD Is Down: What Continues Working and What Does Not

    August 15, 2026

    How to Investigate Jobs Stuck in COMPLETING State on Slurm

    August 14, 2026

    Linux Server Has Free Memory but Is Swapping: Why?

    August 13, 2026
    • Home
    • About Us
    • Contact
    • Cookie Policy
    • Comment Policy
    • Privacy Policy
    • Terms of Use
    • Disclaimer
    Sunday, August 16
    DPC Virtual Tips
    • Home
    • Operating Systems
    • PowerFlex
    • HPC
    • Virtualization
    • About the Author
    • About Us
    • Contact
    DPC Virtual Tips
    Home » SlurmDBD Is Down: What Continues Working and What Does Not
    HPC

    SlurmDBD Is Down: What Continues Working and What Does Not

    DaniloBy DaniloAugust 15, 2026No Comments9 Mins Read
    Facebook Twitter Pinterest LinkedIn Tumblr Email
    slurmdb down
    Share
    Facebook Twitter LinkedIn Pinterest Email

    When SlurmDBD is down in a Slurm HPC cluster, the impact can look more serious than it actually is. SlurmDBD is central to persistent accounting and account-management data, but it is not the daemon that directly schedules jobs or controls compute nodes during normal cluster operation.

    That distinction matters during an outage. If slurmctld was already running and had previously synchronized with SlurmDBD, the controller can usually continue operating from cached association, limit, and fair-share information while accounting messages accumulate locally for later delivery.

    The situation becomes more critical when SlurmDBD remains unavailable for an extended period, administrators need database-backed tools, or slurmctld must start without usable cached information. Understanding these boundaries helps avoid unnecessary cluster-wide disruption while the accounting service is being restored.

    Where SlurmDBD Fits in the Architecture

    A typical Slurm deployment has several independent components. slurmctld is the central controller responsible for scheduling jobs and managing cluster state, while slurmd runs on compute nodes and launches or supervises workloads. SlurmDBD sits beside this execution path and provides the interface between Slurm and its accounting database.

    When AccountingStorageType=accounting_storage/slurmdbd is configured, accounting records are sent through SlurmDBD to the underlying MySQL or MariaDB database. The same database commonly stores users, accounts, associations, QOS definitions, usage history, and information needed for fair-share and resource-limit policies.

    This separation is intentional. SchedMD notes that SlurmDBD offloads database processing from the controller, helping prevent a slow or overloaded database from directly slowing normal controller operations. Therefore, a SlurmDBD outage is not automatically equivalent to a Slurm controller outage.

    What Continues Working

    The most important operational point is that an already-running slurmctld can normally continue scheduling during a temporary SlurmDBD outage.

    Existing jobs continue running on their compute nodes. Slurm does not terminate healthy workloads simply because the accounting daemon becomes unreachable. The slurmd daemons continue managing job execution, and the controller (slurmctld) continues maintaining the active cluster state.

    New jobs can also generally continue to be submitted and scheduled because the controller retains the accounting-related information it already received. SchedMD specifically documents that slurmctld caches user limits and fair-share information, allowing a short SlurmDBD outage to be tolerated.

    Commands that obtain live scheduling information from slurmctld also remain useful. For example:

    squeue

    still queries jobs managed by the controller, while:

    sinfo

    continues showing partition and node information.

    Administrative commands such as:

    scontrol show job <jobid>
    scontrol show node <node>

    also depend primarily on the controller rather than the accounting database.

    This is why users may continue submitting jobs, checking queues, and running workloads even while administrators are receiving SlurmDBD connection errors in the logs.

    What Happens to Accounting Records

    The next concern can be: if SlurmDBD cannot accept accounting updates, are job records immediately lost?

    For a short outage, normally no.

    When SlurmDBD becomes unavailable, slurmctld queues accounting messages instead of requiring every database operation to complete synchronously. Once communication is restored, the queued records are transferred to SlurmDBD. Slurm also documents that cached controller information is written to local storage during shutdown and recovered when possible at startup.

    This behavior provides an important buffer between scheduling operations and the accounting database.

    An administrator can inspect the queue with:

    sdiag

    Look for:

    DBD Agent queue size

    According to the sdiag documentation, this value grows when messages intended for SlurmDBD cannot be processed because SlurmDBD or the database is unavailable. A small temporary increase is expected during an outage. A continuously growing queue requires attention.

    The MaxDBDMsgs Limit Matters

    An important point must be clear here:

    • The Slurm controller (slurmctld) cannot store an unlimited number of database messages.

    The relevant setting is:

    MaxDBDMsgs

    Check it with:

    scontrol show config | grep -i MaxDBDMsgs

    When communication with SlurmDBD is unavailable, slurmctld queues messages, but MaxDBDMsgs limits how large that queue can become so the controller does not consume memory indefinitely. Current Slurm documentation defines a minimum of 10,000 messages and calculates the default using cluster size when that results in a higher value.

    This changes the severity of a long outage.

    If the queue reaches its limit, behavior depends on max_dbd_msg_action. With the default discard behavior, Slurm starts purging selected accounting messages and can eventually stop tracking new ones, creating accounting data loss. With exit, slurmctld terminates instead of discarding the messages.

    For that reason, do not assume accounting information can be buffered forever.

    What Stops Working or Becomes Unreliable

    Database-oriented tools are where the outage becomes immediately visible.

    sacct normally retrieves job and job-step accounting information from Slurm accounting storage. Historical queries may therefore fail or become unavailable while SlurmDBD cannot be reached. Even after service returns, very recent records may temporarily appear incomplete until queued updates have been processed.

    The impact is even clearer with:

    sacctmgr

    sacctmgr uses the database interface provided by SlurmDBD to view and modify accounts, users, associations, and related accounting objects. If SlurmDBD is unavailable, normal database-backed account-management operations should not be expected to work.

    The same applies to reporting tools such as:

    sreport

    because these reports are generated from accounting data and database rollups.

    So while:

    squeue

    may look completely normal, commands such as the following will not work as expected:

    sacct
    sacctmgr
    sreport

    Associations, QOS, and Fair Share During the Outage

    Resource policies require a little more attention. If the controller already has associations, QOS definitions, user limits, and fair-share information in its internal cache, it can continue using that information while SlurmDBD is unavailable. SchedMD explicitly documents caching of user limits and fair-share information by slurmctld.

    We can inspect portions of the controller’s cached accounting information with:

    scontrol show assoc_mgr

    The assoc_mgr output displays the controller’s internal cache for users, associations, and QOS records.

    This means existing policies do not simply disappear when SlurmDBD goes offline. However, the cache represents information already known to the controller. Database changes are a different matter. Adding a new account, creating a new association, or modifying a QOS through sacctmgr requires access to SlurmDBD.

    Operationally, the distinction can be summarized as:

    Existing cached policy --> Continues to be enforced
    
    New accounting database change --> Unavailable until SlurmDBD returns

    That is especially important in clusters using AccountingStorageEnforce, associations, QOS limits, or fair-share scheduling.

    Example:

    Be Careful with slurmctld Restarts

    A running controller surviving a SlurmDBD outage is not the same situation as a controller starting for the first time.

    Slurm can persist cached account, association, and limit information locally so that an existing controller installation can recover it across restarts. However, SchedMD also warns that SlurmDBD must be available when slurmctld is initially started without such cached information, because the controller has no authoritative local copy yet.

    ⚠️ This is an important troubleshooting detail!

    If SlurmDBD is down but slurmctld is healthy and jobs are scheduling normally, restarting the controller without a specific reason can introduce additional risk.

    First and foremost, stay calm, take a breath, and determine whether the actual problem is:

    • the slurmdbd service;
    • network connectivity between slurmctld and SlurmDBD;
    • MUNGE authentication;
    • MySQL or MariaDB availability;
    • database storage;
    • or a configuration mismatch.

    ⚠️ Do not turn an accounting outage into a controller outage unnecessarily!

    A Practical SlurmDBD Outage Check

    We can start on the SlurmDBD server. Access it from the command line and check the slurmdbd service status:

    systemctl status slurmdbd

    Then inspect recent log messages:

    journalctl -u slurmdbd --since "-30 min"

    On the controller (slurmctld), look for database communication errors:

    journalctl -u slurmctld --since "-30 min"

    Then check the database-message backlog:

    sdiag

    Pay particular attention to:

    DBD Agent queue size

    Next, confirm that the core scheduling path is healthy:

    scontrol ping
    squeue
    sinfo

    These commands help establish whether you have only an accounting-service failure or a broader Slurm control-plane problem.

    We can then test database-backed functionality separately, using the following commands:

    sacct -S today
    sacctmgr show cluster

    If squeue and sinfo work while sacctmgr fails, the evidence strongly points toward the accounting path rather than the scheduler itself.

    If SlurmDBD is running but still cannot operate correctly, inspect the database service and connectivity as well:

    systemctl status mariadb

    or:

    systemctl status mysqld

    depending on the platform.

    Also check authentication, available disk space, database logs, firewall rules, and DNS or hostname resolution where applicable.

    Consider a Backup SlurmDBD

    As we told you before, database outages can create a high impact for the HPC environment. Based on that, sites that require additional resilience can configure a backup SlurmDBD.

    Relevant settings include:

    AccountingStorageBackupHost

    in slurm.conf, and:

    DbdBackupHost

    in slurmdbd.conf.

    SchedMD states that the backup SlurmDBD must have access to the same underlying database as the primary daemon. The primary and backup instances also need compatible authentication and database access.

    This can protect against the failure of the SlurmDBD host itself, although it does not remove the database backend from the overall failure domain.

    What to Expect After SlurmDBD Returns

    Once SlurmDBD becomes reachable again, slurmctld begins forwarding the accounting records accumulated during the outage.

    Important: Do not assume that every accounting query will be complete immediately after the service starts. Depending on the amount of data in the controller cache, it may take some time to commit to SlurmDBD.

    We can use the following command to check the value on DBD Agent queue size:

    sdiag | grep -i "DBD Agent queue size"

    The value should move back toward its normal level as the backlog is processed.

    Then compare current scheduler state with accounting information:

    squeue

    and:

    sacct -S today

    Recent completed jobs should gradually appear correctly in the accounting database.

    Final Words

    A temporary SlurmDBD outage is therefore usually an accounting-service incident rather than an immediate scheduling emergency. An already-initialized controller can keep scheduling jobs, enforcing cached policies, and buffering accounting messages while the database path is repaired.

    The important boundary is time. The longer SlurmDBD remains unavailable, the larger the queued accounting backlog becomes and the closer the controller moves toward MaxDBDMsgs. Watching that queue, preserving a healthy slurmctld, and restoring SlurmDBD before the buffer becomes exhausted is usually the safest way to handle the incident.

    If you are new to the Slurm HPC world, don’t be afraid of that. We have written an article introducing this subject. Click here to access it.

    Additionally, if you want a hands-on adventure, we have written an article explaining how to deploy a Slurm cluster in a lab environment. Click here to access the article.

    Enjoy 🙂

    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    Previous ArticleHow to Investigate Jobs Stuck in COMPLETING State on Slurm
    Danilo

    Infrastructure Engineer with experience in Virtualization, Linux, Windows Server and learning automation using Python. DPC Virtual Tips was created to share practical tutorials, lab experiences and troubleshooting guides focused on enterprise infrastructure technologies.

    Related Posts

    How to Investigate Jobs Stuck in COMPLETING State on Slurm

    August 14, 2026

    Slurm Node Is DRAINED: How to Find the Exact Reason

    August 10, 2026

    Why Is My Slurm Job Pending? How to Decode Every Common Reason

    August 9, 2026
    Leave A Reply Cancel Reply

    Search
    Categories
    • HPC (12)
    • Operating Systems (85)
    • PowerFlex (22)
    • Virtualization (129)
    Read More
    HPC

    SlurmDBD Is Down: What Continues Working and What Does Not

    By DaniloAugust 15, 20260
    HPC

    How to Investigate Jobs Stuck in COMPLETING State on Slurm

    By DaniloAugust 14, 20260
    Operating Systems

    Linux Server Has Free Memory but Is Swapping: Why?

    By DaniloAugust 13, 20260
    Operating Systems

    How to Determine Whether Packet Loss Is Local or Network Related on Linux

    By DaniloAugust 12, 20260
    Operating Systems

    How to Investigate TCP Retransmissions on Linux

    By DaniloAugust 11, 20260
    Latest Posts

    SlurmDBD Is Down: What Continues Working and What Does Not

    August 15, 2026

    How to Investigate Jobs Stuck in COMPLETING State on Slurm

    August 14, 2026

    Linux Server Has Free Memory but Is Swapping: Why?

    August 13, 2026
    Images from Gallery
    hpc main commands
    linux commands
    install rock linux
    lustre fs
    shell scripting
    vSAN Trace Files
    Categories
    • HPC
    • Operating Systems
    • PowerFlex
    • Virtualization
    • Home
    • About Us
    • Contact
    • Cookie Policy
    • Comment Policy
    • Privacy Policy
    • Terms of Use
    • Disclaimer
    Copyright © 2026, DPC Virtual Tips. All rights reserved.

    Type above and press Enter to search. Press Esc to cancel.

    We use cookies to ensure your best experience on our website. If you continue using our website, we'll assume you agree to our cookie policy