1年以上前から苦戦していた MySQLサーバーを Raspberry Pi で動かすという課題、ようやく達成しました。
残る課題は、この環境で安定したMySQL連続稼働を実現できるかどうか。
4GBメモリのサーバーでは力不足となり、1年前に MySQLサーバーとHTTPサーバーを分離したFreeBSDサーバーのデータベースサーバー部分。当初はMySQLサーバーを Raspberry Pi 4で動くFreeBSD/aarch64 で動作させるつもりでしたが、MySQLサーバーが 64bit FreeBSD/arm64 では動かず、32bit FreeBSD/arm でしか使えないため、やむなく 32bit FreeBSD/arm が動く Raspberry pi2 v1.1 で動作させたものの、安定動作しなかったりメンテナンスに手間が掛るため、更に x7-Z8700 の FreeBSD/x64 に引っ越して運営していました。こっちの FreeBSD/x64 はメインメモリが 4GB のため、Raspberry Pi と比べれば高速動作が見込まれたものの、使用リソースを見てみると、一人の人間が書くドキュメントを管理する程度 MySQL は Raspberry Pi 2 で十分すぎるということがよくわかりました。1GBメインメモリの半分遊んでいる。Raspberry Pi 2 か 3 で MySQLサーバーを動かすのが最適とわかったものの、32bit FreeBSD は Tier2 プラットホームになったのでいろいろ制約が多い。FreeBSD/x86 はしばらく、対応するMySQLサーバーが存在しない期間があった。OSに脆弱性が見つかった場合、それらをふさぐには、ソースビルドが必要。SDメモリでは摩耗が怖くて運用に回す気がしない。しかし、ARM64 FreeBSD ではMySQLを起動できない。ということで x7-Z8700 PC上で、MySQLサーバーを約1年間運用していました。
時は流れ、約1年後の2024年12月末、FreeBSD/arm64 13.4 で MySQLサーバーが動作することを確認できるときがやって来た!
MySQL データベースのサイズは増減はあるけど 5GB程度、OSも MySQLだけ動かせばいいので3GB程度。64bit ARM は Tier1 の バイナリーメンテナンスなので、ソースのインストールもビルドもする必要がない。(→SDメモリの摩耗がかなり低減される。)16GB のSDメモリでファイルシステムを運用できそうだけど、念のために32GBのマイクロSDカードに、FreeBSD/aarch64 13.4 イメージを書き込んで、MySQLサーバーをインストールし、x64 FreeBSD から mysqldump コマンドを使ってデータベースを引っ越ししました。
今のところ順調に動いています。
Raspberry Pi 2 をサーバーにしてSDカードをファイルシステムに使うと、何がいいかって、低消費電力だという点。1Aで動作するので、サーバーなのに5Wしか電力を消費しない!そしてモーターが無いので静か。
前の FreeBSD/x64 MySQLサーバーはそのまま残して、RPI2 v1.2でしばらく運用を続けてみようと思っています。
2024年中に実施できてよかったわ。