プログラマのつれづれなるままにプログラマのつれづれなるままに音宮志久が思ったことなどをネタにします。プログラムネタ・数学ネタがメインです。交換1台目編(ZFSが大変)コメントを残す副題に補題がつくほどこの作業が大変だったわけです。いうか、これで1週間ほどが過ぎ去ったので記事が遅れた、という側面も否定できません。いうことで、何が起こったのかを時系列をおいながら書きたいと思います。前回からの続きとなります。単純に「SATA10ポート×1枚」を「SATA6ポート×2枚」にする作業です。x2なので、それがささる場所が必要です。x16形式が2カ所あるタイプだったのでその2カ所を使うことでこの問題をパスすることができました。(もちろん、それを知っていてこの組み合わせにしています)あとは「HDDの認識順番に合うように」SATAケーブルを接続する、という作業です。SATA3-I6-PCIEは前回のSATA3I10-PCIEとは異なり物理コネクタ位置と認識順番は一致しているようなので、よりCPUに近い側が認識順番が早いだろうという考えの元接続作業を行えば完了です。本来ならば一度サーバOSとは別環境でHDDがどの順番で認識するかチェックする必要があるのですが、そのあたりは説明書等で確認してしまえばそれほど問題はありませんでした。SATAインタフェースカードを交換すると...先に8番目のHDDが異常に実はこれが完全な予定外な案件でした。SATAインタフェースカードを交換すればあとはscrub処理をかけて、不良セクタが出かかっている3番目のHDDを交換して...と考えていましたが、先に8番目のHDDがSATAコマンドの送受信でエラーとなってしまってかなりまずい状態になってしまった、というところから今回の交換が大変になってしまった訳です。仕方がないので3番目の交換は後回しにして8番目の交換だけ行うことにしました。ZFSのコマンドを使って8番目のHDDを切り離して...という処理をしている余裕がない状態だったため、物理的にHDDを切り離して交換用のHDDと取り替えた上で再同期処理を行う、という手順に出ました。詳しい手順はこちらの記事で。再同期処理でエラーが発生そして再同期中にエラーが起こってしまうわけです。前回のタイミングかそれより以前のタイミングでファイルが破損してしまったのでしょうね。こんな感じのエラーが出ます。/tank/data/dat.zipちなみに日時とファイル名はちょっといじってありますが、こんな感じです。resilverの作業中にファイル破損(しかも永続)が見つかってしまった、というものです。これが起こってしまうと対象のファイルのデータは基本的に取り出すことができない、という致命的な問題です。これに関しては諦めるしかありません。SATAインタフェースの問題ですのでコマンドの発行ミスがあればデータもバグが出るでしょうからそんなものだと思います。起こってしまったことはしょうがないので取り合えずresilver作業が一巡してZFSのRAID-Z2が復旧してからファイルの状態を確認して...見ようとできなかった、というのが今回の主題です。RAID作業が終わらないで、放置して再同期が終わったはずのポイントでzpoolをチェックしてみるとなんと勝手にresilver作業が2周目に突入するという事態に。わけがわからずとりあえずresilver作業を止めたかったのですが「止められないやめられない」(ちょっと違う?)状態に。detach処理を行っても結局裏で構築している様子で止まることなく再同期。ちなみにエラーが出たファイルをしてもエラーが解消される訳でもなくこんな状況に。tank:<0x7a0>マジでどうしよう?でした。clearもかけて見たのですが結局解消されず、なんと3周目に突入するという訳のわからない状態となってしまいました。Errorを起こしたりと非常に危険な状態になっていました。不良セクタが出かかっている状態なのでさもありなん、というところでしょうか。仕方がないので3周目の再同期を強制的に停止すべく、「一度サーバを物理的に停止させてHDDの認識を外す」処理を行いました。よくない作業ですがね。ちなみにresliver処理は再起動程度では停止させることはできませんのであしからず。前の状態を記憶して再同期しようとする優秀な機能(微妙に皮肉)です。errosを取り除く必要があります。以下の手順がいるようです。errorsを解消することに成功したのが大きかったです。scrub処理は3番目のHDDがかなり危険な状態になっていますので行いたくなかったのですが、しなくても何とかなったのでよかったです。ちなみに、ここまでに(故障に気がついてから)2週間ほどかかっています。errorsがなくなればあとは再同期処理をもう一度発行するだけやっと終わりましたので再度HDDをつなぎ直してrepairを行います。実はこの作業もかなり祈りが必要な状態でした。3番目は壊れかかっていますのでまた読み込みエラーなどが出たら再同期に失敗する可能性もありますし、また破損ファイルが出てくると同じような作業を行ってエラーを解消しないと再同期できないことはわかっている状態なので、致命的なエラーだけは出てほしくない場面でした。errorsと、なんとか一度再同期作業が成功して一息つけた、というわけです。Errorが微妙な件数報告されていたり、SMARTの報告がかなり危なかったりしますのでやはり交換対象、というわけで次に続きます。次でこの話は最後になると思います。コメントをキャンセルメールアドレスが公開されることはありません。名前メールサイトΔ{{#message}}{{{message}}}{{/message}}{{^message}}送信は失敗しました。{{status_code}})。このフォーム処理機能の開発者に連絡して、このメッセージを改善してください。詳しく{{/message}}{{#message}}{{{message}}}{{/message}}{{^message}}送信は成功したようです。送信が処理されていない場合があります。このフォーム処理機能の開発者に連絡して、このメッセージを改善してください。気になるプログラムネタや数学ネタがあったら書き込みたいのだが残業が長すぎて眠気が全くとれず体調があまりよくない。過労などでぶっ倒れるかもしれない。あと、さすがに独り身が寂しいのでなんとかしたいと考えてはいるのだが...。アクセスカウンタアクセス数:スポンサーリンクモバイルバージョンを。