stacd

nvme-stas 1.0

## Name

stacd — STorage Appliance Connector

## Synopsis

`stacd` [OPTIONS...]

## Description

stacd is a system daemon that can be used to automatically connect to NVMe-oF I/O Controllers using the discovery log pages collected by stafd(8). It can also be manually configured with stacd.conf(5) to connect to I/O Controllers that otherwise cannot be found automatically.

## Options

The following options are understood:

`-h`, `--help`

  Print the help text and exit.

`--version`

  Print the version string and exit.

`-fFILE`, `--conf-file=FILE`

  Specify a different configuration file than stacd.conf(5) (default: `/etc/stas/stacd.conf`).

`-s`, `--syslog`

  Send messages to syslog instead of stdout. Use this when running stacd 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

stacd is managed by `systemd`. The following operations are supported:

Table 1.

Command | Description
--- | ---
    $ systemctl start stacd
| Start daemon.
    $ systemctl stop stacd
| Stop daemon. The `SIGTERM` signal is used to tell the daemon to stop.
    $ systemctl restart stacd
| Effectively a `stop` + `start`.
    $ systemctl reload stacd
| Reload configuration. This is done in real time without restarting the daemon. The `SIGHUP` signal is used to tell the daemon to reload its configuration file. Note that configuration parameters that affect connections (e.g. `kato`), will not apply to existing connections. Only connections established after the configuration was changed will utilize the new configuration parameters.

## Design

stacd use the `GLib` main loop. The `GLib` Python module provides several low-level building blocks that stacd 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.

## Configuration

stacd can automatically set up the I/O connections to discovered storage subsystems. However, stacd 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`. This configuration file also provides additional parameters, as log-level attributes used for debugging purposes.

## D-Bus API

The interface to stacd is D-Bus. This allows other programs, such as stacctl, to communicate with stacd. The D-Bus address is `org.nvmexpress.stac`.

## See Also

stacd.conf(5), stacd.service(8), stacctl(1), stafd(8), org.nvmexpress.stac(5).