うーん、1年が寿命だったか…
sambaサーバをインストールして簡易的なNASとして利用していたRaspberry Piが突如動作停止、そのときに切り分けした内容をメインに、再構成したというご報告です。
障害発生
ある日、sambaサーバでNAS的なファイルサーバとして利用しているRaspberry Piが起動していないことに気づきました。
バックアップのログを見ると、昨日までは動作していた模様。なぜだろうか?ということで確認することになりました。
※月末で発生したので、月末処理で必要なデータがファイルサーバに結構保管されており、焦りました。
去年玄箱Proを諦めてRaspberry Piでsambaサーバを構成し、順調に1年余り稼働していた中での障害、要因はなんでしょうか。
調査と切り分け
通常はモニタやキーボードを接続せず、いわゆるヘッドレス運用ってやつで普段はターミナルソフト経由のSSH接続から操作をしているのですが、さすがに反応しない現状ではどうにもならず。
ひとまずHDMIモニタとキーボードを接続、…繋げるも何も反応はなし。
電源LEDは赤点灯で問題はなさそうなのですが、画面出力もないし、キーボードから操作してもなにの反応もないため画面出力がないだけというわけでもなさそう。
うーん…、と考え始めた時にふと見たのがRaspberry Piから伸びるLANケーブルが接続されているスイッチHUBのポート、ふと見たらポートが消灯していました。
…(二度見)。
このRaspberry Piは3B+なので擬似的とはいえGigabit Ethernet搭載のNICを利用しています。そのため正常なときはスイッチでは左右のLEDが緑に点灯する
この状態になっているはず。これが両方消灯となると、リンクダウンしているな、と判断できました。
Raspberry Piがフロントの電源LEDで電源ON状態を示しているのに、NICのLinkupやスイッチ側のLinkupLEDが消灯している、となると、
本体としては起動しているが、OSは起動していない
と考えるのが自然に思えました。そうなると、電源をON/OFFし直しても反応ないだろうなぁ…。
と思いながら電源を切り⇒入りとしてみましたが、電源ONを示す赤いLEDが電源に連動して消灯⇒点灯と正常動作するのに対して、やはりOSが格納されたmicroSDの読み書きを示す緑色LEDの点滅がいつまで経っても開始しませんでした。
SD故障かな…?
どちらにしろ切り分けも必要なので、早速予備のmicroSDを用意(予備を残しておいてよかった)してOSイメージをSDに転送、Raspberry Piに挿入し起動してみると、電源投入直後SDカードへのアクセスを示す緑色LEDの点滅が激しく動作、NICのLEDもスイッチのLEDも正常点灯し、HDMI接続していた画面にはラズベリーの実×4が実り、
アッサリRaspberry Piが起動しました。通信も問題ないようです。
※電力供給量が不足しているという趣旨の「Under-voltage detected!」が画面に表示されますが、ひとまずそっとしておきます。
これで、Raspberry Pi本体には問題がなく、いよいよOSが利用する領域が保管されたmicroSDが問題だと判断出来そうです。
今まで使っていたmicroSDはUSBカードリーダーに入れて読み込みを試してみました(Windowsだと/bootしか見えないけど)が、読み込み出来たりできなかったり。
故障のためか読み取りも不安定になっている?ということなんでしょうか?
この辺の動作でmicroSDの問題だと断定してよさそうな切り分け結果となりそうです。
再構築
予備のmicroSDを使って早速前回sambaサーバを構成した手順を実行していきます。
手順を残しておくと、いざ再構築が必要な時に迷わなくてすみます。
OSのインストールから初期設定は
ここで実施した内容を踏まえ、ファイルサーバの共有フォルダが保管されている外付けHDDのマウントは
このページの「3:ディスクマウントする」手順を実施すればすんなり認識してくれました。
最後に
sambaをインストールし、ユーザ追加して、と…、
ん?smb.confがない…。
玄箱Proからリニューアルしてからの/etc/smb.confをバックアップしていませんでした…。あー、どうしよう…。
と思った時、目の前にあった以前使っていたmicroSD(故障したSDカード)
これが、Raspberry Piで認識しないものの、USBカードリーダー経由で読み取りができることを思い出しました。
もしかしたら、smb.confくらいなら取り出せるんじゃ…?(/bootのボリュームはWindowsから見えることだし)
早速手持ちの環境の中からデスクトップ環境が利用可能なLinux Mintを起動し、microSD(故障したSDカード)を取り付けたカードリーダーをUSBに差し込みました。
すると、Windowsでも見えるbootボリュームと一緒に「rootfs」というボリュームが認識しました。
これで、作業の手間が大分変わってくるな…。
ドキドキしながら、/etc/sambaを開いていきます。
smb.confを発見、さっそくLinux Mintのデスクトップにコピーし保護。何とか以前使っていたsmb.confだけをmicroSD(故障したSDカード)から回収することができました。
予備のmicroSDを調達
これで正常動作が確認できたので復旧完了。予備を持っておいて迅速に復旧できたので、予備の補充として同じmicroSDカードをAmazonで注文しておくことにしました。
⇒64GBの後継品もあるらしい⇒
後継品をおすすめされたけど…Raspberry PiのsambaサーバのOS領域って、OSはLiteだしログもそんなに大量に蓄積されてないので16GBあれば十分なんですよね。
一瞬価格差がない64GBの新製品側に心が揺らぎましたが、以前と同じ16GBの高耐久モデルを購入、後日届いて、そのまま予備化