Есть ли быстрый способ понять тип «хранилища» в Linux? Это жесткий диск или SSD (или NVMe)? Уже известно, что хост - это физическая машина, а не виртуальная машина. Первое, о чем я подумал - rotationalфлаг под /sys/block/<device>/queue/каталогом. Но по моему опыту даже для SSD-устройств оно может содержать значение «1». Вторым способом, более реалистичным и правдивым, была латентность. Это немного сложнее измерить (некоторые работают с / proc / diskstats), но выглядит более предпочтительным.
Есть ли другие способы? Важно отметить, что мне не нужно знать точную модель «хранилища», просто ее тип.
smartctlупомянутыми здесь другими утилитами, такими как lshwи lsblkсообщают ту же информацию. См. Также askubuntu.com/q/792814/295286
lshw. Также lsblkполагается на rotationalфлаг в каталоге sysfs, поэтому я не могу доверять ему. smartctlиспользует вызов ioctl и запрашивает информацию напрямую с устройства.