自宅で動かしているFreeBSDのWebサーバはHDDをGPTでZFSのミラーリングで運用しています。しかしながらこのサーバは ls
が遅かったりちょっとしたディスクアクセスでいわゆる「詰まる」状態が続いてました。とはいえたいしたことないですし、GPTとZFSの相性のせいかなぁと思って放置していました。
で、先ほど別件でちょっと気になってSMARTを使ってそのHDDを調べてみました。
# portmaster -d sysutils/smartmontools
(snip)
# smartctl -a /dev/ada0
(snip)
193 Load_Cycle_Count 0x0012 001 001 000 Old_age Always - 3595400
(snip)
え?! なにこれ。クッキークリッカーで大きな数字を見慣れた私ですら驚く数字。もうこわれてるのと同じやん? 実はこのサーバのHDDはモバイル用の2.5インチでして、どうもAPMの影響でガンガンヘッドが退避してものスゴい数字になってしまってる模様。
だいたい動かしっぱなしのサーバマシンでAPMなヘッドの退避も意味のない話なので、HDDのAPMを切る方法を検索してみました。Linuxとかならhdparmなんですが、FreeBSDはataidleを使うらしいですね。
# portmaster -d sysutils/ataidle
(snip)
# ataidle -P 0 /dev/ada0
# ataidle -P 0 /dev/ada1
その効果は抜群。いままでの「詰まり」がウソのように普通のサーバになりました。いやもう何事も放置しちゃアカンという教訓です。