ただのにっき。

ただつらつらと日記が書かれていくようです。

Tag: HDD

badblocksにてHDDの検査中。

ddを使ってドライブの隅から隅まで読み書きのテストをしていたHDDのSmartの「Current Pending Sector Count」に2が記録されていた。んで、dmesgにはこんな感じでエラーが記録されていた。

sd 5:0:0:0: [sdb] Unhandled sense code
sd 5:0:0:0: [sdb] Result: hostbyte=DID_ERROR driverbyte=DRIVER_SENSE
sd 5:0:0:0: [sdb] Sense Key : Hardware Error [current]
sd 5:0:0:0: [sdb] Add. Sense: No additional sense information
sd 5:0:0:0: [sdb] CDB: Read(10): 28 00 03 ff 8b 00 00 00 f0 00
end_request: I/O error, dev sdb, sector 67078912
__ratelimit: 20 callbacks suppressed
Buffer I/O error on device sdb, logical block 8384864
Buffer I/O error on device sdb, logical block 8384865
Buffer I/O error on device sdb, logical block 8384866
Buffer I/O error on device sdb, logical block 8384867
Buffer I/O error on device sdb, logical block 8384868
Buffer I/O error on device sdb, logical block 8384869
Buffer I/O error on device sdb, logical block 8384870
Buffer I/O error on device sdb, logical block 8384871
Buffer I/O error on device sdb, logical block 8384872
Buffer I/O error on device sdb, logical block 8384873

うーむ、Buffer I/O error。なんか嫌な予感がするので、badblocksに切り替えて(今思えば、最初からbadblokcsを使っておけばよかったな)破壊検査を実施。これは時間がかかりそうだ。

HDDのエージングってどうしたものか。

新たにサーバを構築しようとなって、HDDを調達してみたものの…これ、どうやってエージングするのが正しいのだろうか、と考えると、結構面倒くさいことになりそうな気がしてきた。

例えば、ddでディスクの隅から隅までをゼロフィルしたとして、その間に書き込めないセクタが見つかればエラーを検出してくれそうな気がする。一方で、読み込みの方は、例えば、ifに検査対象の/dev/sdXを指定することで、/dev/sdXから読み込んで、/dev/nullに書きこんであげれば(…といっても電子空間の狭間に消えて行くわけですが)、また、HDDからの読み込み中にddが読み込めないセクタに直面したら、きっとエラーが検出されるだろう(てか、検出して欲しい)

一応、テストにはなりそうな気がしてくるものの、1回、隅から隅まで読み書きしただけでOKとするのも心許ないような気がするので、読み書きを何回かくりかえすことになりそうだ。しかも、この手のテストは、隅から隅までHDDを舐め回すので、1本のHDDを処理するのにさすがに時間がかかりそうだ。しかも、RAID1+Hotspareなサーバが2台だから、テストすべきHDDは6本。orzあとは、1台のPCに複数台のHDDを接続して、同時並行でテストするしかないかと…。

WesternDigitalの「WD10EADS」 の調子が悪そう。

ま、いつものことなのでどうしたってことでもないけれど、古いLinkStationに使っていた、WesternDigital製の「WD10EADS」が認識されなくなった。というか、動作音から察するにどうも上手くスピンアップしなくなったようであった。

まー、2009年に交換したドライブなので2年とちょっとでダメかーということで、素直に諦めてSeagate製のBarracudaを買ってきて、ゴニョゴニョしながらHDDを交換してファームウェアをインストールして、ひととおりLinkStationとして動く状態まで戻してみた。で、壊れたディスクと知りつつもそこから、データをレストアして、新しくなったLinkStationに書き戻すことにした。

USB-SATAアダプタを使って、Ubuntuマシンに接続してみたら、なんてことなくスピンアップ。正常に認識されて、SMB経由でNASにファイルが無事に書き戻された。…なんだ、別に壊れてないじゃん。

なんとなーく最初の故障と思しき症状の背景を考えてみた。まずは、HDD側の不良の可能性。ま、あり得なくはないものの、外に引っ張り出した途端に、普通にスピンアップしてデータを読み出せたのはどうなんだろう。確かに、Western Digitalが省電力を売りにして発売した「Cavier Green」シリーズの最初の方のHDDだから、自動ヘッド退避などでややこしいことをしているらしく、なんとなく故障しやすいHDDだろうというのは想像がつくのだが…。どうもなぁ…。また、LinkStationの方も、どうやら使っている電解コンデンサの寿命が短いらしく、コンデンサのアタマが膨らんじゃっているようなこともあり、そうなるとHDD周辺で何かが起こるらしい。そして、200円分くらいのコンデンサを秋葉原で手にして、ハンダゴテを使ってコンデンサを交換すると治るらしい。

しかし、LinkStationの電解コンデンサの不良があったとすると、新しいHDDに交換してもダメなはず、、、だけど、今のところ、SeagateのBarracudaは普通に動いているようにみえる。。どうもHDDもLinkStationも怪しい気がするが、それぞれを組み合わさないと自体が起きないようである。

とりあえず、LinkStationから引っ張り出したWestern Digitalの「WD10EADS」を少しテストしてみよう。なんかエラーが出てくれれば、RMAでシンガポールあたりに返却して終了にできるんだけども。