stafd¶
nvme-stas 2.4.1
Name
stafd — STorage Appliance Finder
Synopsis
stafd [OPTIONS…]
Description
stafd is a system daemon that can be used to automatically locate and connect to NVMe-oF Discovery Controllers using mDNS service discovery. It can also be manually configured with stafd.conf(5) to connect to Discovery Controllers that cannot be located using mDNS.
Options
The following options are understood:
-h,--helpPrint the help text and exit.
--versionPrint the version string and exit.
-fFILE,--conf-file=FILE
Specify a different configuration file than
stafd.conf(5) (default:
/etc/stas/stafd.conf).
-s,--syslog
Send messages to syslog instead of stdout. Use this when running
stafd as a daemon. (default: “false”).
--tron
Trace ON. (default: “false”)
--idl=FILE
Print D-Bus IDL to FILE and exit.
Exit status
On success, 0 is returned, a non-zero failure code otherwise.
Daemonization
stafd is managed by systemd. The following operations are
supported:
**Table 1. **
Command |
Description |
|---|---|
$ systemctl start stafd
|
Start daemon. |
$ systemctl stop stafd
|
Stop daemon. The |
$ systemctl restart stafd
|
Effectively a |
$ systemctl reload stafd
|
Reload configuration. This is done
in real time without restarting the
daemon. The |
Design
stafd use the GLib main loop. The GLib Python module
provides several low-level building blocks that stafd requires. In
addition, many Python modules “play nice” with GLib such as
dasbus (D-Bus package) and pyudev (UDev package). GLib
also provides additional components such as timers, signal
handlers, and much more.
stafd connects to the avahi-daemon using D-Bus. The
avahi-daemon, or simply Avahi, is an mDNS discovery service
used for zero-configuration networking (zeroconf). stafd registers
with Avahi to automatically locate Central Discovery Controllers
(CDC) and Direct Discovery Controllers (DDC). When Avahi finds
Discovery Controllers (DC), it notifies stafd which connects to
the DC with the help of the libnvme library. Once a connection
to a DC is established, stafd can retrieve the discovery log pages
from that DC and cache them in memory.
Configuration
stafd can automatically locate discovery controllers (DC) with the
help of Avahi and connect to them. However, stafd can also operate
in a non-automatic mode based on manually entered configuration.
In other words, DCs can be entered in a configuration named
/etc/stas/stafd.conf. This configuration file also provides
additional parameters, such as log-level attributes used for
debugging purposes.
D-Bus API
The interface to stafd is D-Bus. This allows other programs, such
as stafctl, to communicate with stafd. The D-Bus address is
org.nvmexpress.staf.
See Also
stafd.conf(5), stafd.service(8), stafctl(1), org.nvmexpress.staf(5).