Supporting ATA/SCSI/NVMe pass-through

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Folks,

What library or command line utility does Ceph uses to send raw
ATA/SCSI/NVMe commands to the physical storage device consumed as an
OSD? In other words, a library/CLI that uses SG_IO ioctl to send
SAT/SCSI commands to ATA/SCSI devices and NVME_IOCTL_ADMIN_CMD to send
NVMe commands?

I looked into libstorage but it's seems like a library dealing with
logical management.

Some of the use cases such a library that can send ATA/SCSI/NVMe
commands would be able to handle are:
- Changing the power mode of devices (e.g. a policy that an
orchestrator sets for every OSD consumed by it to be always set to
standby_z)
- Changing the write cache setting of devices (e.g. a dashboard toggle
switch to set the OSD write cache on/off)
- repurpose or erase a physical device using industry standard crypto
erase supported by all three commands sets.
- extract telemetry or crash dump from device using standard logs
available in each command set.
- much richer device information page on the dashboard, that includes
physical drive capabilities, settings etc.

I can think of a number of other use cases where such a library will be needed.

If such capability doesn't exist in Ceph today, may I recommend using
opensea-api libraries?
https://github.com/seagate/opensea-api
There are command line utilities built on top of this library, called
openSeaChest that do perform the above use cases I described on direct
attached devices.
https://github.com/Seagate/openSeaChest

Thanks,
-Muhammad



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux