Un moyen rapide de vérifier le type de lecteur

10

Existe-t-il un moyen rapide de comprendre un type de "stockage" sous Linux? S'agit-il d'un disque dur ou SSD (ou NVMe)? Il est déjà connu que l'hôte est une machine physique et non une machine virtuelle. La première chose à laquelle j'ai pensé était le rotationaldrapeau sous le /sys/block/<device>/queue/répertoire. Mais d'après mon expérience, même pour les périphériques SSD, il peut contenir une valeur "1". La deuxième façon et plus réaliste et véridique était une latence. C'est un peu plus difficile à mesurer (certains fonctionnent avec / proc / diskstats), mais cela semble plus préférable.

Y a-t-il d'autres moyens? Il est important de mentionner que je n'ai pas besoin de connaître le modèle exact du "stockage", juste son type.

lesovsky
la source
1
La mesure de la latence n'est pas une bonne réponse car certains disques rotatifs sont livrés avec d'énormes caches qui peuvent ou non être faciles à distinguer des périphériques SSD pleine capacité.
anx
2
Avec smartctlmentionné ici, d'autres utilitaires tels que lshwet lsblkrapportent les mêmes informations. Voir aussi askubuntu.com/q/792814/295286
Sergiy Kolodyazhnyy
1
à quoi utiliseriez-vous ces informations? En d'autres termes, si je vous donne un programme appelé isHDDorSSD, que ferez-vous avec
aaaaa dit réintégrer Monica le
Bonnie ++ peut montrer SSD vs HDD basé sur IOPS (comme peut le faire le DD)
Warren
@Sergiy Kolodyazhnyy, je n'ai pas trouvé de telles informations dans lshw. lsblkS'appuie également sur l' rotationalindicateur dans le répertoire sysfs, donc je ne peux pas lui faire confiance. smartctlutilise l'appel ioctl et demande des informations directement depuis l'appareil.
lesovsky

Réponses:

13

Que diriez-vous de quelque chose comme sudo smartctl -a /dev/<device> | grep Rotation- si cela revient Rotation Rate: Solid State Device, alors c'est un SSD. Je ne sais pas si cette méthode à l'épreuve des balles non plus.

Janne Pikkarainen
la source
1
Ça a l'air bien, cela fonctionne même avec des disques connectés via des cartes RAID.
lesovsky
@lesovsky, je ne compterais pas sur le fait qu'il fonctionne via une carte RAID. Je n'ai pas de SSD attaché au RAID avec lequel je peux tester, mais cela montre des taux de rotation incorrects pour les disques en rotation (chaque disque de la matrice apparaît comme 10k, alors qu'ils sont tous en fait 7,2k).
Mark