LinuxでSSD/HDDのアクセス速度を確認する"hdparm -tT"
おはようございます。匠技術研究所の谷山 亮治です。
運用中のサーバーが、時々I/Oエラーで動作不具合を起こすのでSSD/HDDのアクセス速度を確認しました。
サーバーをLiveUSBドライブにインストールしたLinuxで起動し、SSD/HDDのヘルスチェックを行います。
1)LiveUSBの作成
今回は、仕事用のUbuntu上で、Boot可能なUSBメモリ作成機能を使い、16.04.1 LTSのisoイメージを書き込みました。Windows上でも作成できます。
2)LiveUSBでUbuntuを起動
LiveUSBをサーバーに取り付け、UEFI機能で起動ディスクに指定して起動します。当方のサーバーはBIOS起動していたので、予めUEFI起動に切り替えた上でLiveUSBでの起動指定を行いました。
Ubuntu起動画面で「Ubuntuを試用する」を選ぶと、UbuntuがRAM上に展開されて起動します。英語モードで起動するので、キーボードも英語モードで認識されます。
3)LiveUSBでSSD/HDDのヘルスチェックをする
ディスクアクセス速度を測ることでディスクの状態を確認します。
ディスクの一覧を取得します。起動したUbuntuが自動検出したディスクの情報が表示されます。
$ sudo fdisk -l
...省略
Disk /dev/sda: 55.9 GiB, 60022480896 bytes, 117231408 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 16065 46893734 46877670 22.4G bf Solaris
/dev/sda2 46893735 82060019 35166285 16.8G bf Solaris
/dev/sda3 82060020 90253169 8193150 3.9G bf Solaris
/dev/sda4 90253170 117210239 26957070 12.9G 62 unknown
...省略
上記ディスク情報でテスト対象のディスクデバイスを確認し、アクセス速度を測ります。
上記のようにOSがLinuxでない場合でも問題ありません。
$ sudo hdparm -tT /dev/sda
/dev/sda:
Timing cached reads: 11206 MB in 2.00 seconds = 5611.12 MB/sec
Timing buffered disk reads: 392 MB in 3.01 seconds = 130.12 MB/sec
$
4)善し悪しの判断
ディスクのアクセス速度は、測定の度に異なり、何度か測ることで概ねの速度を知ることができます。アクセス速度は、接続規格、ディスクの性能で大きく異なります。
様々なディスクを測定して、傾向を知っていれば、ディスクのアクセス速度が極端に遅い場合は、ディスクの故障を知ることができます。