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).
STorage Appliance Finder (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.
STorage Appliance Connector (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:
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.
A new optional configuration parameters introduced in TP8010, the
Host Symbolic Name, can also be specified in /etc/stas/sys.conf.
The documentation for /etc/stas/sys.conf
can be found /etc/stas/sys.conf.doc.
stacctl(1), stacd.conf(5), stacd.service(8), stacd(8), stafctl(1), stafd.conf(5), stafd.service(8), stafd(8),