サーバ(Solaris11)のDISKが壊れた!!!ver2

異常の認知

ガルパン劇場版付属のOVA(Blu-Ray)をISO化してNASに書き込み、
30GBのファイルをNASサーバから読み込もうとしていた時の事でした。
(やらなきゃ良かった・・・)

Twitterの監視botから突如リプライが・・・

DISKERR

マジか!!
ってなわけでサーバ上でDISKの死活チェックscriptが稼働しており、
異常があればこのようにbotからTwitter経由で報告されます。

仕事中とかでも報告してくれるので、
カイシャ帰りに交換用DISKが買って帰られるって寸法なのですね。

便利!(・・なのか?)

状況の確認

サーバに乗り込んでzpool statusを見ると・・・

# zpool status

zpool_status_error

formatの方はと云うと・・・

# format

format

いやー、これは壊れてますねー。

3本の2TBドライブでRAID-Z構成を取っていますが、
今回壊れたc3t3d0に該当するのは
<ATA-ST2000DL003-9VT1-CC32-1.82TB>
Seagateさんのディスクですね。

なお、残りは
・WDC WD20EARS(WD)
・TOSHIBA MD04ACA2(東芝)

サーバのファイルシステム構成等は 前回故障時のエントリ を参照して頂けますと幸いです。

作業前バックアップ

RAIDのDISK交換中に更にトラブルが発生するとデータをロストしますので、
動いているうちに違うPCへデータのバックアップを取ります。

例えば追加でDISKが壊れてしまうとか、違うDISKを交換してしまったとか。
違うDISKの線が抜けてた、とか。そういう人的エラーが一番怖い。

あと、RAIDのRebuildはDISKに負荷を掛けるので、
DISKエラーの可能性が高まるリスクも存在する。

何事も考えすぎくらいがちょうど良いのです。知らんけど。

交換用ディスクの調達

2TBドライブぐらい買い置きしておきたいのですが、
貧乏人なので壊れ次第調達しています。

Amazonで2TBを見ても(主に配送の)評判が今ひとつでしたので、
翌日の休みを利用して近所のPCショップへ。
今回壊れたのと同じ型番のDISKが6000円ちょっとで売ってたのでそれにしました。

サーバの停止とDISK交換

# shutdown -i5 -g0 -y

サーバをシャットダウン後、開梱して障害DISKを交換します。

TX100S1

サーバはTX100S1を利用していますので、DISKの交換までドライバ1本も使いません。
全部手回しネジでアクセスできます。超便利

今回のDISKは「P13」と書かれている部分。
「P14」と配線干渉しているので、
一旦「P14」の線を外す必要があります。ちょっと不便

ちなみにこれは次回に備えた私用メモですが、
・P11:TOSHIBA MD04ACA2
・P12:SSD(システムディスク)
・P13:ST2000DL003-9VT1
・P14:WDC WD20EARS

差し違えたりすると大変なので、
次回はちゃんとこのエントリを見て作業するように。>私

サーバ起動

交換が終わったら電源を投入します。
この時、DISKが認識している事をBIOSから必ず確認します。

OS起動〜Rebuild開始

BIOS上でDISKが認識している事を確認したら、OS起動させます。

# format

format
無事にOSからも認識しているようです。

それではreplaceコマンドを投入します。

# zpool replace raidpool c3t3d0

少し負荷が高くなり、応答時間を要しますが焦らず待ちましょう。

無事投入されるとRebuildの状況が確認できます。

# zpool status -x (-xは無くても良い)

zpool_rebuild

この時点ではスキャン速度が大変遅い(370KB/s)ですが、
しばらく待つと140MB/sくらいまで速度が上がりました。

Rebuild_Progress
前回の速度は約20MB/sだったので7倍近い速度ですが、
今回のDISKは7200rpmだから・・?

あとはRebuild進行中に違うDISKが壊れないことを神に祈るだけです。

完全復旧

zpool_repair

zpool replaceコマンドを投入してから3時間40分。
無事復旧させる事ができました。

参考情報

前に壊れた時の記録: サーバ(Solaris11)のDISKが壊れた!!!

Comments are closed.