Linux系で使用しているディスクがSSDかHDDかを確認する方法です。
サーバ納品書などあればサクッと確認できますが、そんなもの保存しているわけないじゃないか。
SSDかHDDかを確認する
SSDかHDDかを確認する場合は/sys/blockにあるrotationalを確認します。
SSDは0が返る
SSDの場合は0が返ります。
# cat /sys/block/sda/queue/rotational
0
HDDは1が返る
HDDの場合は1が返ります。
# cat /sys/block/sda/queue/rotational
1
本当か?
疑り深い性格なもので、本当かどうか確かめたいと思います。
smartでディスクのモデル番号を取得してネットで調べてディスクがSSDかHDDかを確認します。
SSDの調査
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223.6G 0 disk
├sda1 8:1 0 1G 0 part /boot
└sda2 8:2 0 222.6G 0 part
├centos-root 253:0 0 214.6G 0 lvm /
└centos-swap 253:1 0 8G 0 lvm [SWAP]
sr0 11:0 1 1024M 0 rom
まずはlsblkでデバイス名を調べます。
diskのデバイス名はsdaであることがわかります。
# smartctl -a /dev/sda
smartctl 7.0 2018-12-30 r4883 [x86_64-linux-3.10.0-229.el7.x86_64] (local build)
Copyright (C) 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Family: Crucial/Micron BX/MX1/2/3/500, M5/600, 1100 SSDs
Device Model: CT240BX500SSD1
Serial Number: X18999
LU WWN Device Id: 0 000000 000000000
Firmware Version: M6CR013
User Capacity: 240,057,409,536 bytes [240 GB]
~
次にsmartctlでディスクの情報を調べます。
Model FamilyにSSDsがあるのでSSDだと思いますが、一応モデルを確認します。
モデルが「CT240BX500SSD1」なので、これをネットで検索します。
間違いなくSSDであることがわかります。
# cat /sys/block/sda/queue/rotational
0
これで、sdaがSSDの場合はrotationalが0になることがわかりました。
HDDの調査
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 298.1G 0 disk
├sda1 8:1 0 512M 0 part /boot
├sda2 8:2 0 4G 0 part [SWAP]
└sda3 8:3 0 293.6G 0 part /
sr0 11:0 1 1024M 0 rom
まずはlsblkでデバイス名を調べます。
diskのデバイス名はsdaであることがわかります。
# smartctl -a /dev/sda
smartctl 7.0 2018-12-30 r4883 [x86_64-linux-3.10.0-327.36.1.el7.x86_64] (local build)
Copyright (C) 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Family: Seagate Barracuda 7200.10
Device Model: ST3320620AS
Serial Number: ABCDEFG
Firmware Version: 3.ADJ
User Capacity: 320,072,933,376 bytes [320 GB]
~
次にsmartctlでディスクの情報を調べます。
モデルが「ST3320620AS」なので、これをネットで検索します。
間違いなくHDDであることがわかります。
# cat /sys/block/sda/queue/rotational
1
これで、sdaがHDDの場合はrotationalが1になることがわかりました。
まとめ
Linux系でSSDかHDDかを判定する場合はrotationalを確認します。
0ならSSDで1ならHDDです。
smart情報でモデル番号などを確認するのが確実ですが、rotationalならサクッと確認できます。