Storage Appliance Services (nvme-stas)

Abstract

nvme-stas is an open source Linux project that provides: - A Central Discovery Controller (CDC) client for Linux - Asynchronous Event Notifications (AEN) handling - Automated NVMe subsystem connection controls - Error handling and reporting - Automatic (zeroconf) and Manual configuration nvme-stas is composed of two services, stafd and stafd, running on a Host computer. It uses the newly released libnvme 1.0 to communicate with the Linux kernel's nvme driver. The STorage Appliance Finder Daemon (stafd) performs these tasks: - Register with the Avahi daemon for service type _nvme-disc._tcp (per TP8009). This allows stafd to locate Central or Direct Discovery Controllers (CDC, DDC) with zero-touch provisioning (ZTP). stafd also allows users to manually enter CDCs and DDCs in a configuration file (/etc/stas/stafd.conf) when users prefer not to use ZTP. - Connect to discovered or configured CDCs or DDCs. - Registers with CDCs (per TP8010) - Retrieve the list of storage subsystems using the "get log page" command. - Maintain a cache of the discovered storage subsystems. - Provide a D-Bus interface where 3rd party applications can retrieve the data about the Discovery Controller connections. The STorage Appliance Connector Daemon (stacd) performs these tasks: - Read the list of storage subsystems from stafd over D-Bus. - Similar to stafd, stafc can also read a list of storage subsystems to connect to from a configuration file. - Set up the I/O controller connections to each storage subsystem. - Provide a D-Bus interface where 3rd party applications can retrieve data about the I/O controller connections. nvme-stas GitHub repo: https://github.com/linux-nvme/nvme-stas

Related Sessions