Zabbix 2.2 から 2.4 へのバージョンアップは簡単だった

Zabbix の新バージョンが出ていますので、上書きでアップグレードしてみたいと思います。

Zabbix Documentation 2.4 より Upgrade procedure のところを読みながら進めます。僕の環境は、VMware 上に構築してあり、OS は CentOS 6.5 (x86_64) で、Zabbix 2.2 が動作しています。

このセクションでは、Zabbix 2.2.x から 2.4 へのアップグレード手順が書いてあります。

バージョン2.4へのデータベースアップグレードは長時間かかることがあると書いてあります。大規模なところだとかかるのでしょう。僕のところでは以下のようなサイズです。小さいですね。

[root@server01 ~]# du -sh /var/lib/mysql/zabbix/
2.6G    /var/lib/mysql/zabbix/

では順に進めていきます。

1. Zabbix Server 停止

データがデータベースに入ってこないよう Zabbix Server を停止します。

[root@server01 ~]# service zabbix-server stop
Shutting down Zabbix server:                               [  OK  ]

2. Zabbix データベースをバックアップ

アップグレードが失敗した場合のリカバリ用です。今回は作業前に VMware のスナップショットをとっておきます。これで、いざ失敗しても瞬時に戻れます。

3. 設定ファイル、PHPファイルとZabbixのバイナリバックアップ

アップグレードが失敗した場合のリカバリ用です。上記と同様、今回は VMware のスナップショットで代用します。

4. 新バージョンのバイナリをインストール

自身でコンパイルするか、コンパイル済みで配布されているバイナリを使います。今回は配布されているバイナリを使います。

まず yumリポジトリ情報をインストール

[root@server01 ~]# rpm -Uvh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm を取得中
準備中...                ########################################### [100%]
   1:zabbix-release         ########################################### [100%]

インストールしたリポジトリ情報を使って yum でアップデート。まずは zabbix-server から。今回は DB に MySQL を使用しているので、MySQL 用のバイナリを使います

[root@server01 ~]# yum -y update zabbix-server-mysql
~省略~
Updated:
  zabbix-server-mysql.x86_64 0:2.4.0-2.el6
Dependency Updated:
  zabbix.x86_64 0:2.4.0-2.el6
  zabbix-server.x86_64 0:2.4.0-2.el6
Complete!

5. サーバー構成パラメータのレビュー

zabbix_​​server.conf のいくつかのパラメータが 2.2 から変更であったり新しく追加されたものです。確認すべきなのですが、今回は特に何もせずそのまま先に進みます。

6. Zabbix 新バージョンの起動

[root@server01 ~]# service zabbix-server start
Starting Zabbix server:                                    [  OK  ]

起動したら、正常に起動したかどうかを確認するためにログファイルを確認します。このときZabbixサーバは、データベースを自動的にアップグレードします。

[root@server01 ~]# tail -f /var/log/zabbix/zabbix_server.log
~省略~
  4549:20141011:122440.713 Starting Zabbix Server. Zabbix 2.4.0 (revision 48953).
  4549:20141011:122440.714 ****** Enabled features ******
  4549:20141011:122440.714 SNMP monitoring:           YES
  4549:20141011:122440.714 IPMI monitoring:           YES
  4549:20141011:122440.714 WEB monitoring:            YES
  4549:20141011:122440.714 VMware monitoring:         YES
  4549:20141011:122440.714 Jabber notifications:      YES
  4549:20141011:122440.714 Ez Texting notifications:  YES
  4549:20141011:122440.714 ODBC:                      YES
  4549:20141011:122440.714 SSH2 support:              YES
  4549:20141011:122440.715 IPv6 support:              YES
  4549:20141011:122440.715 ******************************
  4549:20141011:122440.715 using configuration file: /etc/zabbix/zabbix_server.conf
  4549:20141011:122440.720 current database version (mandatory/optional): 02020000/02020001
  4549:20141011:122440.720 required mandatory version: 02040000
  4549:20141011:122440.720 starting automatic database upgrade
  4549:20141011:122440.732 completed 0% of database upgrade
  4549:20141011:122440.881 completed 1% of database upgrade
  4549:20141011:122440.968 completed 2% of database upgrade
  4549:20141011:122440.985 completed 3% of database upgrade
~省略~
  4549:20141011:122449.578 completed 97% of database upgrade
  4549:20141011:122449.711 completed 98% of database upgrade
  4549:20141011:122449.849 completed 99% of database upgrade
  4549:20141011:122449.849 completed 100% of database upgrade
  4549:20141011:122449.849 database upgrade fully completed
~省略~

エラーなど出ずに、DBのアップグレードも済んでしまえばそのまま使えます。

7. 新バージョンでのWebインターフェイスをインストール

サーバが正常なら、残りの Web UI のところをアップデートしていきます。

[root@server01 ~]# yum update
~省略~
Updated:
  zabbix-agent.x86_64 0:2.4.0-2.el6
  zabbix-get.x86_64 0:2.4.0-2.el6
  zabbix-web.noarch 0:2.4.0-2.el6
  zabbix-web-japanese.noarch 0:2.4.0-2.el6
  zabbix-web-mysql.noarch 0:2.4.0-2.el6
Complete!

以上で終了です。全部成功したら、VMware のスナップショットを消しておきます。ここまでの手順全部で10分ほどでした。