Raspberry Piハード交換時の修正・確認事項

Slackware ARMのサーバーのハードウェアを交換する際の,修正箇所です.

  1. ルーターのstatic IPの設定
  2. サーバーのnamed/pz内のファイルのIPv6ローカルリンクアドレス
  3. サーバーのudevの設定(内蔵ポートがeth0になるよう)
  4. Dynamic DNSのデータ更新

いずれも,内蔵ネットワークポートのMACアドレスが変更になることに関連してます.

この3番目に気がつかず(eth1になっていた),LAN内で接続できずに,困り果てていました^^;

Raspberry Pi 3 Model B+逝く

昨年の4月に,当サーバーのハードウェアを,Raspberry Pi 3 Model B (RPi3)から,Raspberry Pi Model B+ (RPi3+)に切り替えました.

今朝,rpi-updateをかけたら,新しいkernelがあったのですが,updateのファイルを受信したところで,スタックしてしまいました.

以前もこんなタイミングでハングして,ブート用のSDカードの内容が破損したことがあるので,同じようにブート用のSDカードを初期化し,バックアップから内容を書き込み,再起動してみたところ,いきなり電源容量不足のマークが出てブートしてくれません.

電源アダプターの故障や,つないでいるUSB3.0 HUBの故障の可能性もあるので,それぞれ取り替えてみましたが,電源容量不足の表示が出てブートしない状況のままです.

さらに原因を探るために,サーバーの再起動を遅らせるのも嫌なので,現役を引退したRPi3につなぎ替えて,再起動しました.

必要だったのは,ローカルなIPアドレスの変更(DHCPによる静的割り振り),それにともなうルーターの再起動です.これで良いかと思いましたが,外からサーバーにアクセスできません.ルーターの再起動で外向きのIPアドレスが変わり,ダイナミックDNS情報の更新が必要でした.

これでなんとか,RPi3により原状復帰しました.

このRPi3も故障する可能性がありますので,RPi3+の発注もしました.

Slackware ARM: ntpパッケージupdate時の注意

自分宛の注意事項です.

Raspberry Piは,バッテリーで駆動される時計を持っていませんから,起動時は1970年1月1日になってしまいます.

Slackware ARMは他のdistroと違って,起動スクリプトにこれをなんとかする仕組みがないので,ntpdが同期して最初に内蔵時計を更新するまで,1970年1月1日のままで,いろいろ不都合が起きます.

そこで,rc.ntpdのstart()内に,ntpdateを使ってとりあえずどこかの時間サーバーから時刻をもらってくるコマンドを書き加えています.

しかし,ntpのパッケージをupdateすると,オリジナルのntpdateコマンドの入ってないスクリプトに上書きされて,この機能が失われてしまいます.

ということで,リブートしたとき1970年1月1日になるようだったら,rc.ntpd-has-ntpdateとして保存しているスクリプトをrc.ntpdに上書きコピーすること(念のため当該スクリプトが更新されていないかも確認する).

Kernel 4.19.36ではext4(SLAB?)関係のバグ改善か(Raspberry Pi)

以前,Raspberry PiのKernelが4.14系列から4.19系列になったときupdateしたら,rsyncを使う自作バックアップスクリプトを実行すると,rsync実行中にシステムが無応答になったので,しばらくKernelを4.14系列の最終の4.14.98-v7+にとどめていました(「Kernel 4.19.xはRasPiにNGか」).

昨日,久しぶりに,4.19へのupgradeを敢行してみました(4.19.36-v7+)ところ,1度目のバックアップスクリプト実行は,トラブルなく終わりました.

まだ,1度だけですが,以前は1度で確実にトラブりましたので,改善された可能性が高いです.しばらくこのまま様子を見ます.

追記

よく理解しているわけではありませんが,rsyncによるバックアップ中slabtopで観察していると,4.19.23, 25のときは,ext4_inode_cacheのcache sizeは増える一方で制御が効いていないようでしたが,4.19.36では,増えたり減ったりしています(「アンダーコントロール」の状況^^; ).

SLAB関係のbugというよりは,ext4関係のbugなのかもしれません.動きゃいいのでこれ以上調べませんが^^;

Kernel 4.19.xはRasPiにNGか

rsync使用中のトラブル

当サイトはRaspberry Pi 3 Model B+上で運用されています.前のマシン,Raspberry Pi 3 Model Bは,2017年9月から稼働してまして,通算して1年半ほど大きなトラブルもなく,運用してきました.

ところが,本日,いつものように,rsyncによるバックアップを実行したところ,バックアップスクリプトが途中で止まってしまったばかりでなく,システムが無応答になってしまいました.

前日までとの大きな違いは,rpi-updateによって,これまでの4.14.x系列のkernelが,4.19.x系列(4.19.23)に変更されたところです.

再起動してログをざっと見てみたら,ハングアップする直前に,SLAB関係のメッセージが出ているようです^^;

slabtopコマンドを実行して監視しながらバックアップスクリプトを実行すると,ext4_inode_cacheのCACHE SIZEが増え続け,最後にコンソールが無応答になります.

とりあえず,4.14.x系列(4.14.98)に戻し,同じバックアップスクリプトを実行してみましたが,問題なしです.

ということで,当分4.14.xのままで行きます

2019年2月21日

4.19.25でもNG

2019/02/26現在最新のRaspberry Pi 用Kernel 4.19.25で確認したところ,やはり,rsyncによるバックアップ中に,ハングアップします.

2019年2月26日

4.19.36ではOKか

4.19.36で試したところ,今のところ大丈夫です.しばらく様子を見ます.

2019年4月29日

Tags

Kernel 4.19 4.19.x 4.19.y broken kernel Raspberry Pi 3 Model B+

詳しくは解らん^^;
Kernel 4.14.xで実行したときとの比較では,異常に増えるといえます.
今後,Raspberry Pi用の4.14.x Kernelのupdateはないので,なるべく早く,4.19.xでの問題が解決して欲しいです.