STACD(8)
π STACD(8) β stacd π
okay so bestie, welcome to the stacd page, section 8, and honestly? she's a whole vibe. let's get into it π«Ά
β¨ NAME β¨
stacd β the STorage Appliance Connector πΈ
π SYNOPSIS π
stacd [OPTIONS...]
π¦ DESCRIPTION π¦
so like, stacd is a system daemon β the kind that just quietly lives its life in the background being iconic π
β and what she does is automatically connect to NVMe-oF I/O Controllers using the discovery log pages that stafd(8) collected. teamwork, fr fr.
she can also be set up manually with stacd.conf(5), which is how you connect to I/O Controllers that literally cannot be found automatically. no judgment, some of them are just shy π.
π OPTIONS π
here's everything she understands, bestie:
-h,--helpβ prints the help text and dips. that's it, that's the whole thing β¨--versionβ prints the version string and exits. flex a little π-fFILE,--conf-file=FILEβ use a different configuration file thanstacd.conf(5). the default is/etc/stas/stacd.confπ-s,--syslogβ send messages to syslog instead of stdout. use this when you're runningstacdas a daemon. (default:false) π--tronβ Trace ON. (default:false) π₯--idl=FILEβ print D-Bus IDL to FILE and exit. π¦
π EXIT STATUS π
on success you get 0, and if it fails you get a non-zero failure code. periodt.
π DAEMONIZATION π
stacd is managed by systemd, and these are the operations she supports:
$ systemctl start stacdβ start the daemon π$ systemctl stop stacdβ stop the daemon. theSIGTERMsignal is what tells the daemon to stop π$ systemctl restart stacdβ effectively a stop + start π$ systemctl reload stacdβ reload the configuration. this happens in real time without restarting the daemon, and theSIGHUPsignal is what tells the daemon to reload its configuration file π
β οΈ okay important, don't skip this one: configuration parameters that affect connections (like kato) will not apply to existing connections. only connections established after the configuration was changed will utilize the new configuration parameters. so like, old connections are grandfathered in, no cap π
π§ DESIGN π§
stacd uses the GLib main loop. the GLib Python module gives her several low-level building blocks that she genuinely requires, and on top of that, a lot of Python modules "play nice" with GLib β like dasbus (the D-Bus package) and pyudev (the UDev package) π. GLib also brings extra components like timers, signal handlers, and much, much more β¨.
π CONFIGURATION π
stacd can automatically set up the I/O connections to discovered storage subsystems. but β plot twist β she can also operate in a non-automatic mode based on manually entered configuration π. in other words, storage subsystems can be entered in a configuration file named /etc/stas/stacd.conf. that same configuration file also provides additional parameters, like log-level attributes used for debugging purposes π.
π D-BUS API π
the interface to stacd is D-Bus. that's how other programs, such as stacctl, get to talk to her π«Ά. the D-Bus address is org.nvmexpress.stac.
β SEE ALSO β
stacd.conf(5), stacd.service(8), stacctl(1), stafd(8), org.nvmexpress.stac(5).
aaaand that's the page bestie π
this was nvme-stas version 2.4.1, page STACD(8) β go forth and connect some storage appliances, you've got this πΈβ¨π
π¦ where this page comes from
- ubuntu resolute: nvme-stas 2.4.1-3build1 Β· Apache-2.0
- ubuntu stonking: nvme-stas 2.4.1-3build1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms