zabbix-server2.4、初期サービス起動時のDBアップグレードに関しまして
お世話になっております。
以下のシステム環境でzabbix-server2.4をバージョンアップした際に気になる点がございます。
・zabbix-server2.0を冗長化構成(現待構成)
・DBはMySQLを使用し、現用機から待機機MySQLレプリを実施
・現用機のzabbix-serverを通常稼働させ、障害時は待機機のzabbix-serverをスタートさせる設定
この環境にて、現用機のzabbix-serverを2.0から2.4にバージョンアップした際、DBのアップグレードが自動で行われます。
さらにMySQLレプリ経由で実行されたSQLが、待機機のMySQLに伝搬しDBの更新がかかります。
この時点で、待機機の状態はzabbix-serverが2.0、MySQLは2.4に対応した状態のものになります。
この状態にて待機機のzabbix-serverを2.4にバイナリを切り替え、zabbix-serverをスタートさせた際に、
DBのアップグレード処理がパスされるかどうか、または不具合が発生するかどうかご存知のかたがおられましたらお教えいただけませんでしょうか。
fripper - 投稿数: 495
まず1点。
残念ながら、2.4.x は、2.0.x からの直接アップグレードはサポートされていません
https://www.zabbix.com/documentation/2.4/manual/installation/upgrade
2.0.x からのアップグレードの場合、2.2.x を経由する必要があります
2.0.x → 2.2.x → 2.4.x
冗長構成の場合、以下のような手順になるかと思います
・メイン、サブともに 2.0.x zabbix-server モジュールを停止
・メイン側の 2.0.x モジュールを 2.2.x へ更新
・メイン側で 2.2.x モジュールを起動
→2.0.x 用 DB が 2.2.x 用DBへ更新される
・メイン側で 2.2.x モジュールを停止
・メイン側の 2.2.x モジュールを 2.4.x へ更新
・メイン側で 2.4.x モジュールを起動
→2.2.x 用 DB が 2.4.x 用DBへ更新される
・サブ側の 2.0.x モジュールを 2.4.x へ更新
・サブ側の 2.4.x モジュールを起動
>この状態にて待機機のzabbix-serverを2.4にバイナリを切り替え、zabbix-serverをスタートさせた際に、
>DBのアップグレード処理がパスされるかどうか、または不具合が発生するかどうかご存知のかたがおられましたらお教えいただけませんでしょうか。
サブ側のモジュール起動時、認識される DB のスキーマ情報は、メイン側で更新が掛かって
レプリケーションされた後のバージョン情報となりますので、レプリケーションが完全に完了していれば
サブ側で DB のスキーマ更新・アップグレード処理が実施されることはありません
fm - 投稿数: 5
fripper様
ご回答有難うございます。
>2.0.x からのアップグレードの場合、2.2.x を経由する必要があります
>2.0.x → 2.2.x → 2.4.x
あるサイトの情報を鵜呑みにしてしまっておりました。サポートされていない手続きだったのですね。
また、リリースノートの詳細情報を見逃しておりました。情報有り難うございます。
レプリケーション環境下で、更新が完全に行われていればサブ側で更新処理が実施されないことも理解いたしました。