Zabbixを3.0.4から3.4.9へ
いれてから一年以上経過してだいぶ古くなってきているのでバージョンアップ。
以下の手順で実施しました。
Zabbixサーバを停止
# systemctl stop zabbix-server
現行DBをバックアップ
# mysqldump -u root -p --all-database | bzip2 > mysql_zabbix.dmp.bz2
設定ファイルやphpファイル、zabbixのバイナリをバックアップ
適当なところへ避難させる。
# mkdir /opt/zabbix-backup # cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup # cp /etc/httpd/conf.d/zabbix.conf /opt/zabbix-backup/ # cp -R /usr/share/zabbix /opt/zabbix-backup # cp -R /usr/share/doc/zabbix-* /opt/zabbix-backup
zabbixのリポジトリ設定ファイルをアップデートする
# rpm -Uvh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
自分の環境ではzabbixサーバから外へは出られないので、rpmを別マシンでダウンロードして、手動でいれました。
zabbix serverを起動
# systemctl start zabbix_server
これでDBが自動的に新バージョンにアップグレードされます。
自環境でのトラブル
自環境では最後の手順でDBのアップグレードに失敗。
11626:20180510:091024.743 [Z3005] query failed: [1114] The table '#sql-50c_1328f3' is full [alter table history_log drop column id] 11626:20180510:091024.744 slow query: 1967.234304 sec, "alter table history_log drop column id" 11626:20180510:091024.746 database upgrade failed
history_logのalter tableに失敗している模様です。どうもでかすぎて、中間テーブルを作成するとdisk fullになるみたい。
サイズを確認すると210Gもある。保存期間半年もないはずだけど。。
どうしようかしばらく悩んだあと、truncateすることに。
mysql> truncate table history_log
監視止めるよりはいいでしょうってことで。