2022年5月28日土曜日

サーバーの復帰(続き)

立ち上がりそうなことは確認できたので、システムディスクをM.2 のSSDに替え、最新のFreeBSDを(uname -r: 13.0-RELEASE)M.2 SSDにインストールして、今まで使っていた zfs が立ち上がり、今までのファイルが読めることを確認したので、Xをインストールして、Windowマシンからremoteで幾つでも窓開けて作業できるようにして、まづ第一段階の復帰は終了。 

ここまでは、あまり問題なくすんなり進んで一安心。 特にZFSが完全に読めるので、snapshotなり、以前作っておいてzfsに保存していたusr/local等のバックアップが利用できたので大変に助かった。

で、postgresql, apache24,samba4等いつも使っていたものについても、それぞれ復帰を試みる。

apache24: portから最新のものをインストール(時に大きく変わることは無いはずなので問題は無いはず)。 しかし、http.confで引っ掛かる! バックアップから/usr/local/www/等関係のありそうなものをコピーしてきて、立ち上げ直すと無事にデータロガーも含めて動作した。

samba4: portから最新のものをインストール。これもsmb4.confが必要なので、/usr/local/etc/のバックアップからsmb4.confをコピーしてきて立ち上げ直すと無事動作。 Windowsマシンから、サーバー上のディレクトリが読めるようになって、よかったよかった。

postgresql: これもversion 12を使っていたので、取り敢えずversion 12をインストールしてDBのバックアップをとり、それから最新の、、と思ったけれど一つ手前のversion 14をインストールし直し、先に取ったバックアップファイルからDBを復元。

ここまでで、すべてOK! とはゆかず、、、。

自宅環境の温湿度などを表示させていたWEBサーバーのアプリが、JpGraphを使ってグラフを表示させていたが、php 7.2までしかサポートしていなかった。  

phpも8.0.19にバージョンアップしてしまったので、グラフ表示に別のプログラムを使用することにしました。 Canvas.JSが良さそうなので、一週間ほどいじくりまわして何とか、らしきものが表示できるように出来ました。 そのうち、もう少し機能を理解して改善してゆきたい。 Javascriptを使ったサーバーサイドプログラム?なので、まだ十分には理解できていないかも、、、。

 

停電は川崎市の水道局が工事中に、東電の設備を壊してしまったことによるらしいのですが、お陰で久しぶりにUnix環境のプログラム作成をすることになりました。 Emacsも久しぶりで、使えるようになるのに少々時間が掛かりましたが、今はWindows上でやたらctrl-Cして困ってます。

 

教訓

  • オープンソースのプログラムは定期的にアップデートしていないと、古いシステムのままで動かし続けるのは 複数の自作アプリが組み合わさったりしているので、難しい(個々のプログラムのサポート体制が異なる)
  • ZFSは安定していて、最近open zfsに変更になった様に理解していたが、問題なく使用できて大変助かった(十分信頼に足るシステムのように思う) 。 zfstoolsを利用して、15分毎にsnapshotを取っているので、急な停電でもZFSが壊れていなければ、停電15分前には戻れる。
  • /etc/ 、/usr/local/etc/ 下の自分の設定ファイル、DBのデータ ファイル www下のファイルなどは必ずバックアップを取っておく事。 これで、昨日の状態が復元できる!
  • 年齢も年齢なので、老いの予防に時々システムのアップグレードなどで頭の体操をした方が、良いのでしょうね。 運動などして筋肉強化には務めていますが、頭の体操は、あんまりしていないので、、、。
  •  ZFSを起動システムにしていないので、システムの入れ替えとは独立してファイルを移行できるのですが、設定ファイルのバックアップが自動では取れないことになるので/usr/local/etcはzfs上にマウントし、/etcは別途定期的にzfs上にbackup fileを作るようにしておくことにします。

 

後から継接ぎでzfs のmountpointを追加したので綺麗くないですが、今のdf




0 件のコメント:

アンテナ切り替えの自動化 (続き)

 調子よく動いていると思っていたら、インジケータのLEDが次々と点かなくなってゆく、、、。 不精して、出力端子(14Vのon/off)にLEDを直列抵抗と入れていたのですが、これではダメっぽい。 LEDが死んでいる。 では、という事でFETのスイッチを入れて、ゲート電圧で検出して...