ただのにっき。

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

Tag: HDD (page 1 of 4)

HDDの故障率とか

Gigazineが「HDD約3万5000台を運用した実績からSeagate製品の圧倒的壊れっぷりが明らかに」って記事で紹介してたのが、Backblazeというオンラインストレージ屋さんのブログ。で、そのエントリーのタイトルは「Hard Drive Reliability Update – Sep 2014」。

HDDベンダーごとに故障率を出している、インフォグラフィックスが掲載されていた。…ご丁寧に、このタグで、このイメージをシェアできるよって書いてあったので、素直に貼るとこんな感じ。

Hard Drive Failure Rates by Model

いやー、Seagateさんの故障率の高さが目立つなぁという感じですが、Seagateといえば、ファームウェアのバグの問題が世間を賑わせたわけですが、その頃のモデル(Barracuda.11シリーズ)を使ってたら故障率は高いだろうと思って調べてみたら、SeagateのラインナップのBarracuda.12シリーズでも故障率高いから、うーんという感じ。

じゃぁ、BackblazeはSeagateだけ数多く使っててHGSTとか数が少なければ、故障率も正しくは出てこないよね!と思ったら、別の記事「What Hard Drive Should I Buy?」によれば、Backblazeで使っているHDDはSeagateとHitachiでそれぞれ12,000台ずつって感じだから、特にSeageteが数多いわけでも、HGSTが少ないわけでもないらしい。

で、この1月の記事では、こんな結論を出している。

We are focusing on 4TB drives for new pods. For these, our current favorite is the Seagate Desktop HDD.15 (ST4000DM000). We’ll have to keep an eye on them, though. Historically, Seagate drives have performed well at first, and then had higher failure rates later.

Our other favorite is the Western Digital 3TB Red (WD30EFRX).

まぁ、WesternDigitalのRedシリーズも使うけど、Seagateも長く使うと故障率上がるものの、最初は性能いいしなぁということらしい。RAID等で保護されていれば故障した際にはHDD交換すれば済むけど、堅牢だけど、遅いHDDを並べても性能がでるわけでもないしなぁ。

そんなHGSTの3.5インチHDD事業は東芝に買収されたことを思い出すと、Toshibaの故障率の推移はどうなっていくのか、ちょっと興味深い。今後もbackblazeにはHDDの故障レポートを公開して欲しいな、と。

3wareの9650SEのWriteCacheはやっぱり速かった。

3wareの9650SEに3TBのHDDを2本つないで、RAID1のArrayを作って、しみじみとバックアップしていたDISKから書き戻している時に、ちょっとした軽い気持ちから(汗)RAID Arrayのinitializeを始めてしまった。データのコピーとinitializeが同時に走るので、ディスクのI/O的には割と苦しい状態になってしまったようで、データのコピーだけの状態からぐっと転送速度が落ちてしまった。…なんかちょっといらっと来る。

いろいろと調べてはみたものの、ArrayのVerifyなら止められそうだけど、initializeの止め方がわからなかった。このマシンをシャットダウンすれば止められそうだけど、それはそれでイヤなことが起きそうだし、と(汗)スローダウンしたまま、データのコピーを続けるといつ終わるかわからない。

なんせバックアップのHDDには膨大なファイルがある関係で(汗)さっさと終わらせたかったので、試しに、禁断のBBUなしの状態でWriteCacheをenableすることを決定。GUIの3DM2からさくっと(当然、サーバの電源落ちるとデータ飛ぶよとの警告画面は出たけど)onにしてみた。

すると、initializeしてないときとほぼ同じくらいの転送速度に戻った!…ような気がする。というか、このマシンではファイルの転送しかしてないので、体感でわかるくらいに劇的に改善された。これなら、予想された時間よりももっと短く転送が完了するかもと思いながらも、マーフィーの法則的にはこういう時に限ってマシンの電源が落ちるんだよなぁ…と半ば諦めながら進捗状況を監視中。

BBUナシなのがアレだけど、WriteCache、やっぱりいいなぁ。

古いPCの中からMaxtorのDiamondMaxが出てきた。

こんなことを書くと、年をとったなぁと思うんだけども…。えー、昔々、MaxtorというHDDメーカーがありました(汗)*1

Maxtorは、PC向けのIDEのHDDを作っていて、その昔、Windows2000が主流だった時代なんかはよくお世話になっていて、「DiamondMax」というシリーズで売られていたのも、今となっては遠い昔の記憶。で、2005年頃、そのMaxtorがSeagateと合併することに…というか、SeagateがMaxtorを買収して、DiamondMaxのシリーズも終息することになったわけで、今ではもう全く見かけることのない、「Maxtor」の「DiamondMax」シリーズ。

今日、古いPCを破棄するべく、HDDのデータを消そうと思って、PCのケースを開けてみたら、ここに隠れていたのか「Maxtor」の「DiamondMax」!

懐かしいような気もしつつ、こんなPCをいつまで後生大事に保存していたんだかという気もしつつ、取り外して別のPCに繋いでみたら、ちゃんとスピンアップしたので、ddでアタマから0を上書きしているところ。IDE(PATA?)なんて接続できるPC自体がなくなってきているので、保存しててもしょうがないので、このDiamondMaxは破棄してしまうけれど、なんとなくもったいないような気がしないでもない。

f:id:y_fudi:20131011202228j:image

*1:読み方が「マックストア」らしいということを知るまでは「まくすたー」と呼んでいたのは個々だけの秘密

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を接続して、同時並行でテストするしかないかと…。

Older posts