Eine schnelle Möglichkeit, den Typ des Laufwerks zu überprüfen

10

Gibt es eine schnelle Möglichkeit, eine Art "Speicher" unter Linux zu verstehen? Ist es eine Festplatte oder SSD (oder NVMe)? Es ist bereits bekannt, dass der Host eine physische Maschine und keine VM ist. Das erste, worüber ich nachdachte, war das rotationalFlag unter /sys/block/<device>/queue/Verzeichnis. Aber meiner Erfahrung nach kann es sogar für SSD-Geräte den Wert "1" enthalten. Der zweite Weg und realistischer und wahrheitsgemäßer war eine Latenz. Es ist etwas schwieriger zu messen (einige arbeiten mit / proc / diskstats), sieht aber besser aus.

Gibt es noch andere Möglichkeiten? Es ist wichtig zu erwähnen, dass ich nicht das genaue Modell des "Speichers" kennen muss, sondern nur dessen Typ.

Lesovsky
quelle
1
Das Messen der Latenz ist keine gute Antwort, da einige Rotationsplatten mit riesigen Caches ausgestattet sind, die sich möglicherweise nicht leicht von Solid-State-Geräten mit voller Kapazität unterscheiden lassen.
Angst
2
Zusammen mit smartctlhier erwähnten, anderen Dienstprogrammen wie lshwund lsblkmelden die gleichen Informationen. Siehe auch askubuntu.com/q/792814/295286
Sergiy Kolodyazhnyy
1
Wofür würden Sie diese Informationen verwenden? Mit anderen Worten, wenn ich Ihnen ein Programm namens isHDDorSSD gebe, was werden Sie damit machen
aaaaa sagt, stellen Sie Monica am
Bonnie ++ kann SSD vs HDD basierend auf IOPS zeigen (wie kann dd)
Warren
@Sergiy Kolodyazhnyy, ich habe solche Informationen in nicht gefunden lshw. Verlässt lsblksich auch auf rotationalFlag im sysfs-Verzeichnis, daher kann ich ihm nicht vertrauen. smartctlVerwendet den ioctl-Aufruf und fragt direkt vom Gerät nach Informationen.
Lesovsky

Antworten:

13

Wie wäre es mit so etwas wie sudo smartctl -a /dev/<device> | grep Rotation- wenn dies zurückkehrt Rotation Rate: Solid State Device, dann ist das eine SSD. Ich bin mir auch nicht sicher, ob diese kugelsichere Methode.

Janne Pikkarainen
quelle
1
Sieht gut aus, funktioniert auch mit Laufwerken, die über RAID-Karten angeschlossen sind.
Lesovsky
@lesovsky, ich würde nicht damit rechnen, dass es über eine RAID-Karte funktioniert. Ich habe keine SSDs an RAID angeschlossen, mit denen ich testen kann, aber es werden falsche Rotationsraten für die sich drehenden Festplatten angezeigt (jede Festplatte im Array wird als 10.000 angezeigt, wenn alle tatsächlich 7,2 KB groß sind).
Mark