Есть ли быстрый способ понять тип «хранилища» в 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 и запрашивает информацию напрямую с устройства.