nvme-stas — NVMe over Fabrics STorage Appliance Services
This page describes the services provided by the nvme-stas package.
nvme-stas is composed of two services, stafd(8)
and stacd(8),
running on a host computer (the NVMe Host).
stafd)
The tasks performed by stafd include:
Register for mDNS service type _nvme-disc._tcp
with Avahi, the service discovery daemon. This allows stafd
to automatically locate Central or Direct Discovery
Controllers (CDC, DDC) with zero-configuration networking
(zeroconf). stafd also allows users to manually enter CDCs
and DDCs in a configuration file
(/etc/stas/stafd.conf) when users
prefer not to enable mDNS-based zeroconf.
Connect to discovered or configured CDCs or DDCs.
Retrieve the list of NVMe subsystem IO Controllers or Discovery Controller referrals from the Discovery Log Page using the NVMe command "Get Log Page".
Maintain a cache of the discovery log pages.
Provide a D-Bus API where other applications can interact
with stafd. This API can be used, for example, to retrieve
the list of cached discovery log pages.
stacd)
The tasks performed by stacd include:
Read the list of storage subsystems (i.e., discovery log pages)
from stafd over the D-Bus API.
Similar to stafd, stacd can also read a list of storage
subsystems to connect to from a configuration
file: (/etc/stas/stacd.conf).
Set up the I/O controller connections to each storage subsystem.
Provide a D-Bus API where other applications can interact
with stacd. For example, an application could retrieve the
list of I/O controllers that stacd connected to.
A host must be provided with a Host NQN and a Host ID. nvme-stas
will not run without these two mandatory configuration parameters.
To follow in the footsteps of nvme-cli and libnvme,
nvme-stas will use the same Host NQN and ID that
nvme-cli and libnvme use by default.
In other words, nvme-stas will read the Host NQN and ID
from these two files by default:
/etc/nvme/hostnqn
/etc/nvme/hostid
Using the same configuration files will ensure consistency between
nvme-stas, nvme-cli, and libnvme.
On the other hand, nvme-stas can operate with a
different Host NQN and/or ID. In that case, one can specify them
in /etc/stas/sys.conf.
/etc/stas/sys.conf.
The documentation for /etc/stas/sys.conf
can be found /etc/stas/sys.conf.doc.