アドバイス求む - ContainerStationでMariaDBをホストする方法

皆さん、こんにちは…

ContainerStationでMariaDBをホストしているユーザーの方々から、Dockerイメージとして直接、または例えばubuntu ServerなどのContainerStationイメージ上で間接的にホストしている場合など、アドバイスやガイダンスをいただきたいと思っています。

現在、私はQTS上でMariaDBをネイティブに運用しており、非常に快適に動作しています。実際、唯一の課題は、QTSの最新のMariaDBバージョンが10.5.8であることです…そして私はBookStackと一緒に使いたいのですが、もう少し新しいバージョンが必要です。

QTSの開発者にMariaDBのロードマップがあるかどうかサポートチケットで問い合わせてみましたが、もしあったとしても公開するつもりはないようです。それは仕方ないことだと思うので、不満はありません。

しかし、これにより、RAID-6の恩恵やUPSによる安定したホスティングを維持したい場合、選択肢は2つに絞られると思います。

ContainerStationには複数のMariaDBコンテナイメージがリストアップされています—何十個もです。数年前にZabbixで少しだけ試した以外はContainerStationを使ったことがないので、どのバージョンを選べば良いのか分かりません。特に、提供されているパッケージ一覧の中で緑色のフラグが付いているものが1つだけあり、それが「公式」イメージだと思われます。ContainerStation経由でMariaDBイメージをデプロイしたことがある方から、正しい方法をぜひ教えていただきたいです。

また、必ずやりたいことの一つが、データベースのバックアップです。今はQTSインスタンスを使っているので、セットアップはとても簡単でした—シンプルなシェルスクリプトを書いて、QNAP推奨の方法でQTSのcrontabに追加しました。調べたところ、Docket(Docker)のexecコマンドでMariaDBにアクセスできるようですが、例えば毎朝02:30に「mysqldump」を実行するなど、これをどうスケジュールすれば良いのか分かりません。MariaDBをコンテナで運用している方の印象や、バックアップ方法についてぜひ知りたいです。

もう一つの選択肢は、もちろん、フルOSイメージを動かすことです。Dockerからubuntu 22.04 LTSイメージが利用できるようで、これには慣れており、MariaDB 12.xをフルで運用できます。仮想IP経由でSSHやVNCでubuntu Serverにアクセスでき、QTSのNFS共有をマウントしてMariaDBのダンプファイルにアクセスし、リムーバブルメディアにエクスポートしてオフサイト保管も可能になるはずです。

どちらも実現できそうな選択肢があり、どちらでも動かせると思いますが、細かい部分に色々と違いがありそうなので、構築を始める前に良いアドバイスをもらっておけば、時間と苦労を大幅に節約できると思っています。

同じ道を歩んだことのある方から、ぜひ経験談を伺いたいです。

よろしくお願いします。

ご利用になりたいサービスが特定のMariaDBバージョンを必要とする場合は、Container Stationの使用をおすすめします。

この過程で何か問題が発生した場合は、サポートチケットを発行してください。サポートいたしますので、よろしくお願いいたします。

ありがとうございます、Steve。ご返信いただき感謝します。

投稿後も試行錯誤を続け、いくつか成果がありました。公式の「mariadb-latest」コンテナをDockerHub経由でContainerStationに直接取り込む方法を見つけました。最新版の安定リリースである12.0.2が利用できることを確認しました。最初の試みでは、コンテナ作成時に「詳細」オプションを使用しなかったため、MariaDBに初期セットアップパラメータを渡すために必要なカスタム環境変数を作成する機会を逃してしまいました。幸いにも、エラーメッセージは明確で、作業内容をクリアして再実行するのは簡単なことだったので、ご推奨通りそれを最優先に進める予定です。

そこで行き詰まったときは、VirtualizationStationに切り替えて試してみました。こちらは少し難しく感じました——私自身の理解不足に加え、QNAP公式ドキュメントが少し古い印象だったためです——しかし昨晩遅く、今回の作業用にダウンロードした最新のLinux Mint ISOでVMを立ち上げることができました[Mintはデスクトップで使っているので多少馴染みがあります]。この作業は順調で、「Mint Installer」のグラフィカルデスクトップがVirtualization Station経由でブラウザ上で美しく動作しました。ただ、そこで直面した問題は、Mintが提供するMariaDBの最新版がQTS標準のものから数バージョンしか進んでいなかったことです。

もちろんこれは致命的な問題ではありません——sources.listファイルに公式MariaDBリポジトリを追加し、aptで必要なバージョンを取得すれば済みます。

どちらの場合も、いわゆる「簡易的な」作業をしました——たとえば、どの方法でもこのDBインスタンスに静的IPアドレスを割り当てる必要があります[Zabbixで実験した際にやったことがありますが、あれは数年前なので思い出す必要があります]。また、DBバックアップのスケジュール方法も検討する必要があります。VirtualizationStationの場合は、ホストOSのcronを使えば簡単です。ContainerStationの場合もcronを使いますが、QTSのネイティブcronを利用し、MariaDBのコマンドラインには「docker exec」コマンドでアクセスすることになると思います…そしてその際、NAS上のパブリック共有にどうアクセスするかも考えなければなりません。「mysqldump」コマンドの出力をNASのファイルシステムに保存し、1) RAID6保護を維持し、2) HBS3バックアップスケジュールで管理できるようにする必要があります。

ということで、順調に進んでいると思います。ご推奨のContainerStationをまず優先しますが、「VirtualisationStation」も非常に興味深く、今回だけでなく他のプロジェクトでも活用できそうだと感じました。

作業しながらメモも取っているので、完了したら手順書を公開できると思います。

ありがとうございます。

Clive

こんにちは、Cliveさん

方向性が見つかったとのことで、嬉しく思います!

もしよろしければ、テストや調査の結果をぜひこのコミュニティで共有してください。同じような用途を探している他の方々の助けになるはずです。ありがとうございます!

こんにちは、Steve

今夜、MariaDB 12.0.2(最新の安定リリース)のインストールをContainerStation経由で無事完了したことをお知らせします。ローカルの「非root」ユーザーを追加し、そのアカウント経由でサーバーへリモートアクセスできる権限を付与することができました。その後、ローカルの「PHPMyAdmin」設定(Raspberry Pi上で稼働、QNAP NAS上ではありません)に2台目のサーバー構成を追加し、無事に接続・データベース作成・テーブル追加などを行うことができました。

まだ少しやるべきことがあります。特に最も重要なこと… それは、まずアクティブなデータベースのsqldumpができることを確認すること、次にその出力をNASの主要な「Public」共有フォルダツリー内のフォルダに「送信」できることを確認すること、そして最後にそのコマンドを672のcrontab機能と統合し、バックアップのスケジュールを自動化してHBS3バックアップ設定と連携できるようにすることです。

良いニュースとしては、いくつかの簡単な「注意点」を押さえれば、実際はとてもシンプルだということです。

残りの作業が片付き次第、詳細なドキュメントを改めてお送りします。

「いいね!」 1

こんにちは、Steve

約束通り、テスト結果を共有するためにご連絡しました。かなり詳細なガイドを書き、新しいスレッドに投稿しました(全12投稿)ので、こちらからご覧いただけます:-

新しい技術に取り組み始めたり新しいソリューションを開発したりする際、私は自分用にかなり丁寧なメモを書く傾向があるので、このガイドでも同じレベルの詳細さを採用しました。ぜひレビューとフィードバックをいただけると嬉しいです。修正が必要な場合はお知らせください。

ありがとうございます。

「いいね!」 1

共有していただきありがとうございます!

同じような問題に直面しているコミュニティの他の方々にもきっと大いに役立つ情報だと思います。感謝します!