IT二刀流にはプロモーションが含まれています。

LinuxでディスクがSSDかHDDかを確認する方法

CPU

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ならサクッと確認できます。

ITエンジニアの転職

いまITエンジニアの需要は急拡大しています。
ITエンジニアの経験があれば好条件で転職することも難しくありません。

転職ドラフト

☆ 支援ご協力のお願い ☆

この記事が「役に立った」と感じたら

投げ銭の「OFUSEで応援」で支援して頂けたら励みになります!

OFUSEのやり方(説明)

関連記事
記事特集