BSDCan2016 - v1.1.24a

BSDCan 2016
The Technical BSD Conference

Speakers
Rodney W. Grimes
Schedule
Day Talks #1 - 10 June - 2016-06-10
Room DMS 1160
Start time 11:15
Duration 01:00
Info
ID 686
Event type Lecture
Track System Administration
Language used for presentation English

diskctl: A permissively-licensed S.M.A.R.T. and raw disk command framework

The Self-Monitoring, Analysis and Reporting Technology or S.M.A.R.T. is a interface implemented by manufacturers of storage devices to present device “health” information to the OS. This information can include device identification and configuration information, service hours, temperature, bad block reallocation counts, SSD endurance remaining, plus vendor-specific attributes. These attributes are commonly accessed from various operating systems using the “smartmontools” project and specifically the smartctl(8) command. While widespread in its use, the smartmontools project suffers from a number of limitations, the greatest of which is a license that prevents its inclusion in BSD operating systems. The diskctl(8) project aims to address the licensing and output formatting limitations of “smartmontools” and provide a user-friendly framework for new output formatting syntaxes. In addition, diskctl(8) aims to provide device-level command communication and address issues unique to virtualized environments.

The Self-Monitoring, Analysis and Reporting Technology or S.M.A.R.T. is an industry-standard interface implemented by manufacturers of hard disk, solid state drive or SSD, and similar storage devices to present device “health” information to the controlling operating system. This information can include device identification and configuration information, service hours, temperature, bad block reallocation counts, SSD endurance remaining, plus vendor-specific attributes. These attributes are commonly accessed from various operating systems using the “smartmontools” project and specifically the smartctl(8) command. While widespread in its use, the smartmontools project does not feature a license that is suitable for inclusion in BSD Unix operating systems, does not support nVME devices, and is limited in its output formatting abilities. The diskctl(8) project aims to address the licensing and output formatting limitations of “smartmontools” and provide a user-friendly framework for new output formatting syntaxes. In addition, diskctl(8) aims to provide an interface to common ATA management commands such as IDENTIFY, plus the acoustic and power management series of commands. Finally, the diskctl(8) project project will explore the possibility of VirtIO AHCI S.M.A.R.T. and underlying zpool status pass-through for virtual machine disk devices and other opportunities relating to virtualized storage.

The Request For Comments or RFC strategy of the diskctl(8) will allow a team of subject matter experts including David Gwynne of OpenBSD and Allan Jude of FreeBSD to define the problem that diskctl(8) aims to address and reach out to their respective communities for input and collaboration on its scope, features and implementation.

The diskctl(8) project will also employ a documentation-driven strategy that will define the diskctl(8) manual page as its first deliverable, prior to any accompanying source code.