LS-VLの交換したSeagate製HDDもLoad Cycle Count値が異常増加していく(2)
やはり hdparm -Z ではダメでした。
HDDが壊れたため、新品のHDDに交換して復活させたLS-VL。交換したHDDは、元々使われていたのと同型の Seagate Barracuda ST3000DM001で、ファームウェアのバージョンが異なっているだけです(壊れたHDDはCC82、交換したHDDはCC29)。壊れた方のHDDは1年1ヵ月使用しており、その間タイマーON/OFF機能で毎日電源オン・オフを繰り返させていました。Load Cycle Count値は 67,527回になっていましたが、稼働時間は6,688時間ですので 1時間あたりのヘッド退避回数は10回程度という計算になります。
しかし、今回交換した ST3000DM001 は1ヵ月半の24時間運転でヘッド退避回数が 37,000回越え。1時間あたりのヘッド退避回数が36回ですから、明らかに多すぎです。また、壊れた方のHDDでも6分に1回程度の頻度でヘッド退避が行われていたわけですから、やはり ST3000DM001 には Intellipark相当の省電力機能があるように思えます。そして、ファームウェアによってヘッド退避する無アクセス時間に違いがあるのではないか?と思われます。
このヘッド退避を行わないようにするべく hdparmコマンド の -Zオプションを試してみたのですが、どうやらダメみたいです。
先ず、hdparm -Z /dev/sda と実行しただけでは増加現象は止まりませんでした。一旦 LS-VLの電源を切り再び電源投入すると、1時間ほどの間は増加が止まるのですが数時間すると再び増加現象が再発していました。また smartd を止めておいても再発しましたので、smartdも関係無い事が分かりました。
そこで、今度は hdparmの -Bオプションを試してみました。-Bオプションの機能は、
ドライバがサポートしていれば、APM(advanced Power Management) 機能を設定する。 低い値は積極的な電源管理を意味し、高い値はパフォーマンス優先を意味する。 255 という値は、そのドライブでの APM を無効にする。
と言うもの。-B 255 と指定すれば省電力機能は全て無効になるので、ヘッド退避回数の増加も止まるのではないか?と考えました。
試してみたら、これが当り!増加はピタリと止まりました。
ただ、このオプションは再起動すると元に戻ってしまうそうなので、起動時に自動で実行されるように仕込んでおく必要があります。以下はその備忘録です。
- /etc/init.d/ 配下に "hdparm.sh" を作る。内容は、
#!/bin/sh
/sbin/hdparm -B 255 /dev/sda
|
- "hdparm.sh" に実行権を付ける。
# chmod +x /etc/init.d/hdparm.sh
|
- /etc/rc.d/sysinit.d からシンボリックリンクを張る。
# cd /etc/rc.d/sysinit.d
# ln -s ../../init.d/hdparm.sh S98_hdparm.sh
|
この設定により Load Cycle Count値が異常増加する現象は止めることができましたが、消費電力は増加するものと思われます。ヘッド退避は HDDが Active状態から Idle状態に遷移すると行われるようで、Idle状態では1W程度消費電力が減るそうです。また、常時 Active状態にある事から、HDDの温度も上がりやすくなるでしょう。温度管理もしっかりしなければ寿命を縮める結果になるかもしれません。
省電力機能を無効にして24時間運転することで HDDの寿命が伸びるのか?仮に伸びたとして本来節約できた電気代をペイできるのか?これは誰にも分からないと思います。全て自己責任でと言うことになります。
|