ラズパイが壊れた

テクノロジー

いままで、ご紹介してきたアレクサの構成に使用していたラズパイが壊れました。

ヒュー
ヒュー

壊れたときから、復旧までのアウトラインを紹介するよ

あれ?

日々稼働していた『ドア解放検知システム』が、急に動かなくなりました。

ドア解放検知システムとは

ドアの鍵部分に磁石型のドアセンサー(リードスイッチ)を装着して、鍵が開いていたら、アレクサから、「鍵が開いています!」と、注意アナウンスをするシステムです。

おかしいなぁと思い、調べてみると、ラズパイが動いていません。普段は、ラズパイ自体に画面はつけていないので、画面をつけて電源を入れてみると、、、「カーネルパニック」と出て、表示が止まっています。

状況把握

えー、と思いながら状況把握につとめます。ググってみると読み書きの多いラズパイでは、比較的よくあるみたいで、MicroSDカードにあるシステムが読み込む部分が壊れてしまった場合に起こる事象のようです。『ドア解放検知システム』は、数秒単位で読み書きをするため何ヵ月も動かし続けたのが原因かと、考えました。また、ラズパイでは良くあることですが、政情にシャットダウンせず、電源を引き抜くと、同様に壊れることがあることから、その可能性もあるかと考えます。いずれにしても、この場合は、少し手間ながらも、復旧できることがあるようなので、さっそく試してみます。

復旧手順

復旧手順は、壊れたMicroSDカードを、Linuxのfsckコマンドで、チェックして、ダメージをうけたいたら、リペアーする手順になります。ここで、つまづいたのは、LinuxのOSは、もっていないので、Windowsに、Vmwareをいれて、そこに、fedraをいれたあと、MicroSDカードを復旧する流れになりますが、使っているパソコンのSDカードスロットが、Vmwareの仮想デバイスとして認識されませんでした。

試行錯誤

色々試してみましたが、どうしても認識しないので、SDカードスロットからの認識はあきらめ、USBのSDカードリーダーを使用して認識させることにしました。USBのSDカードリーダーは、仮想デバイスとして認識はしてくれましたが、認識中エラーとなって、結局認識してくれません。。。困った~と思い、再びググってみると、Vmwareのデバイスの設定で、USBデバイスの設定を、3.1にしないと、認識しないようです。私の設定は、2.0だったので、早速3.1に変更すると、無事認識されました。

復旧

デスクトップにあるdiskというアイコンを開くとMicroSDカードが認識されています。各パーティションを調べると、checkdiskの項目があり、ブートパーティションが、ダメージあります。って出ていました。ここをリペアすれば良いのかと思い、リペアしようとしましたが、readonlyの表示がでていました。。。あれ?そんな設定あったっけと思い、一旦、MicroSDカードを抜いてみましたが、ライトプロテクトなどもついておらず、また、つまづきます。困ったときのGoogle先生ということで、ググってみると、MicroSDカード自体が故障していたり、書き込み上限に達していた場合は、このようなことになるみたいでした。おそらく故障していたのだと思います。別のMicroSDカードを使用してデータのコピーをしました。コピーには、win32diskimagerという、ツールを使用しました。別のMicroSDカードでリトライしました。ここで、リペアできたとのメッセージがでました。再度、checkdiskをしたら、ダメージ無し。長かった~

バックアップ

せっかく直ったので、今の時点で、win32diskimagerを使用してバックアップを取得しました。

起動、、、

復旧したMicroSDカードをラズパイに設定してスイッチオン。遂に、起動出来たと、思いきや、別のエラーがでてます。カーネルパニックは、消えたけど、、、えー、もう一回、ということで、再度電源オンしてみたら、、、また、カーネルパニック。うー、どうなってんのと思い、再度、checkdiskしましたが、ダメージ無し。念のため、MicroSDカードを、新品にして、そこに、書き込みをしてから再度ラズパイ起動してみると、

起動できた~

長かった~

まとめ

ラズパイシステムは壊れやすいので定期的なバックアップは、必要ですね。ただ、数年安定稼働しているラズパイもあるんですけどね。

コメント

タイトルとURLをコピーしました