[PC]HDD SMART Shock Sense Countを試す
HDDではメディア(円盤、プラッタ)が回転してる所にヘッドで書き込みする構造上、もし衝撃が受けると、
メディアが傷つくのを防ぐために、Write動作を中断する事になってる。
そのSMART IDが191のShock Sense Countだ。(東芝の場合?)
https://www.global.toshiba/content/dam/toshiba/migration/corp/techReviewAssets/tech/review/2014/07/69_07pdf/a03.pdf
ちょうど東芝HDDが手元にあったので、試してみた。(他社製でも同じSMART項目あると思うが)
手順は以下。
1.Linux PCを用意する。
今回はUbuntuで試したが、使ってるコマンドは一般的なものなので、CentOSでもDebianでも何でも出来るはず。
ちなみに、後々HDDに衝撃(ショック)を与えるために手で揺らすため、PCケースはオープンなベンチ台タイプが良い。
例えば、玄人志向さんが出してる以下のようなやつね。
https://www.amazon.co.jp/%E7%8E%84%E4%BA%BA%E5%BF%97%E5%90%91-%E3%83%90%E3%83%A9%E3%83%83%E3%82%AF%E3%82%B1%E3%83%BC%E3%82%B9%E3%82%AD%E3%83%83%E3%83%88-%E3%82%B9%E3%83%81%E3%83%BC%E3%83%AB%E8%A3%BD-SEIGI-3GOU/dp/B0017ZMCSU
2.対象のHDDを接続した状態でUbuntuを起動
今回は東芝DT01シリーズとMG03シリーズで試した。
3.対象HDDをfdiskでパーティション作成、mkfs.ext4でフォーマット、mountでマウントした。
4.ターミナルを1つ開いて、SMART 191番を1秒間隔で表示させるようなバッチを実行しておく。
これで1秒間隔でSMART 191(Shock Sense Count)の値がターミナルに表示されていく。
ちなみに、クライアントグレードのDT01シリーズでは、そもそもSMART 191をsmartctlコマンドで取得出来なかった。(何か方法あるか?)
なので、エンタープライズグレードのMG03の方で試した。
↓これ、記憶で書いてるから、文法間違ってるかも。
5.ターミナルをもう1つ開いて、今度は以下のように書き込みコマンドを走らせる。
6.最後に、ベンチ台でオープンになってるHDDを手で持って、振ってみた。
(本当はこんな事しちゃダメです。あくまで実験ね。)
7.上記4番で実行してるバッチ画面で、SMART 191番のRAW値が確かにカウントアップされていく。
と共に、HDDから異音がしてきた。。。。
まあ、とにかく、ある一定以上のG値を検出すると、Shock Sense Countがカウントアップされる事が確認出来た。
メディアが傷つくのを防ぐために、Write動作を中断する事になってる。
そのSMART IDが191のShock Sense Countだ。(東芝の場合?)
https://www.global.toshiba/content/dam/toshiba/migration/corp/techReviewAssets/tech/review/2014/07/69_07pdf/a03.pdf
ちょうど東芝HDDが手元にあったので、試してみた。(他社製でも同じSMART項目あると思うが)
手順は以下。
1.Linux PCを用意する。
今回はUbuntuで試したが、使ってるコマンドは一般的なものなので、CentOSでもDebianでも何でも出来るはず。
ちなみに、後々HDDに衝撃(ショック)を与えるために手で揺らすため、PCケースはオープンなベンチ台タイプが良い。
例えば、玄人志向さんが出してる以下のようなやつね。
https://www.amazon.co.jp/%E7%8E%84%E4%BA%BA%E5%BF%97%E5%90%91-%E3%83%90%E3%83%A9%E3%83%83%E3%82%AF%E3%82%B1%E3%83%BC%E3%82%B9%E3%82%AD%E3%83%83%E3%83%88-%E3%82%B9%E3%83%81%E3%83%BC%E3%83%AB%E8%A3%BD-SEIGI-3GOU/dp/B0017ZMCSU
2.対象のHDDを接続した状態でUbuntuを起動
今回は東芝DT01シリーズとMG03シリーズで試した。
3.対象HDDをfdiskでパーティション作成、mkfs.ext4でフォーマット、mountでマウントした。
4.ターミナルを1つ開いて、SMART 191番を1秒間隔で表示させるようなバッチを実行しておく。
これで1秒間隔でSMART 191(Shock Sense Count)の値がターミナルに表示されていく。
ちなみに、クライアントグレードのDT01シリーズでは、そもそもSMART 191をsmartctlコマンドで取得出来なかった。(何か方法あるか?)
なので、エンタープライズグレードのMG03の方で試した。
↓これ、記憶で書いてるから、文法間違ってるかも。
#!/bin/bash
while true; do
sleep 1
smartctl -a /dev/sdb | grep 191
done
5.ターミナルをもう1つ開いて、今度は以下のように書き込みコマンドを走らせる。
dd if=/dev/zero of=/mnt/disk01/test bs=512 count=1000000
6.最後に、ベンチ台でオープンになってるHDDを手で持って、振ってみた。
(本当はこんな事しちゃダメです。あくまで実験ね。)
7.上記4番で実行してるバッチ画面で、SMART 191番のRAW値が確かにカウントアップされていく。
と共に、HDDから異音がしてきた。。。。
まあ、とにかく、ある一定以上のG値を検出すると、Shock Sense Countがカウントアップされる事が確認出来た。
スポンサーサイト