ふとした拍子にRaspberry Piに一切繋がらなくなった。
Raspberry Piは主に以下の用途で使っていたので、繋がらないと結構インパクトが大きい。
- HomebridgeでiPhoneから家電操作
- NAS
- TimeMachineのバックアップ先
- Pi-Hole(自宅DNSサーバ)
色々と試した結果、無事に復旧したのだけど、復旧までに丸1日かかったので記録に残す。
ちなみにサーバ用途として使っているので、ディスプレイ等は繋いでいない。
というかmicro HDMIケーブルを持っていないw
Try1:再起動
繋がらなくなったら基本コレ。
ちょっと危険だけど、電源ケーブルをぶち抜き、しばらくして再接続。
これで大抵は復旧できる。
・・・のだけど、今回はPing応答がなかなか返ってこない。
普段であれば1〜2分程度でPing応答が返ってくるのだけど、5分以上待ってもPing応答無し。
この時点でちょっと焦るw
Try2:LED等のランプ確認
Raspberry Piがどこかおかしくなったのか、と思いランプを確認する。
- 電源ランプ → 問題無し
- SDカードのアクセスランプ → 問題無し
- NICのランプ → 問題無し
見た感じ普通に起動しているように見える。
でも、SSH接続が繋がらない。Ping応答が返ってこない。
Try3:SDカードチェック
SDカードのブート領域が壊れたのか?と思い、SDカードを別のPCに差してチェック。
特に破損した形跡は無し。
Try4:OS再インストール(WiFi無効化)
OS起動が出来なくなったのかと思い、再度OSを再インストール。
Pi Imagerを使ってSDカードに書き込み。
書き込みは問題なく完了したので、Raspberry PiにSDカードをセットして起動!
・・・・それでもPing応答が返ってこないし、
ルーターのDHCPサーバを見てもIPアドレスを払い出した形跡がない。
この時点で有線LANを疑う。
Try5:OS再インストール(WiFi有効)
今度はWiFiを有効にした状態でSDカードに書き込み。
当たり前だけど、有線LANとは別のIPでSSH接続に成功。
有線LANが怪しいことが確定。
Try6:有線LAN(eth0)の確認
RaspberryPiのWiFiでファイル共有は全く使い物にならないので、どうしても有線LANを使う必要がある。
有線LANのランプは点いているのでNICが死んでいるわけじゃなさそう。
ちなみに有線LANの設定は、Raspberry Pi側はDHCPにしていて、
ルーター側でIPアドレス固定割り当て
という設定にしていた。
LANケーブルを接続した状態で、ifconfigコマンドを叩くとeth0が
"169.254.xxx.xxx"と、DHCPサーバ(ルーター)からIPアドレスが払い出されていない。
それなら、静的IPを割り振ろうということで、
/etc/dhcpcd.confを編集。
interface eth0 static ip_address=IPアドレス/24 static routers=ルーターのIP static domain_name_servers=ルーターのIP
として、RaspberryPiを再起動。
これでも復旧しない・・・・・・・・・
Try7:ルーター(子機)再起動
我が家のルーターはメッシュWiFiになっていて、1階に親機・2階に子機が置いてある。
RaspberryPiはその子機に有線LANとして繋いでいる。
同じように子機に繋いでいる別の有線LANがあって、
そいつのIPアドレスを確認してみたら、同じように169.254.xx.xxとなっている。
あ、ルーター側の問題やんwwwwwww
子機を再起動したら、無事に有線LANでつながりました。
ディスプレイがあれば簡単に切り分け出来た
完全に言い訳にしかならないけど、ディスプレイがないから
RaspberryPiの起動シーケンスを一切確認することができない。
起動途中でどのようなエラーで止まっているかすら確認ができないので、
このようなトラブルに陥ると切り分けになかなか時間がかかる。
なので、緊急時に確認できるような仕組みは必要だなぁとつくづく実感した。
せめてディスプレイに表示できるように↓のようなmicro HDMIケーブルは必須w
というか、安いから買うわwwwww
0 件のコメント:
コメントを投稿