プロセスレベルでのzabbix-serverの冗長化方法について
先日、運用している監視用サーバにおいて、メモリ不足によってzabbix-serverプロセスが終了してしまい、監視が停止してしまうインシデントが発生してしまいました。(冗長構成ではありませんでした)
外部の監視サービスでzabbix-serverのプロセス監視もしていたのですが、zabbix-serverプロセス1つだけ何故か残ってしまっており、障害を検知できませんでした。
根本的な解決として、DRBD+corosync+pacemakerで冗長化をしようと思っています。
しかしながら、corosyncでは物理的にサーバがダウンしない限りフェイルオーバが発生しないように感じています。
例えば、上記のように、zabbix-serverが何らかの理由によりダウンした場合です。
このように、プロセスレベルでのダウンに対応したフェイルオーバを行うためにはどうのような方法がありますでしょうか?
ご教示お願い致します。
misaki - 投稿数: 69
toshiya さん
私もちょうど「corosync+pacemaker」で仮想サーバを冗長化して・・・など動作確認をおこなっている
ところで、特に詳しいわけではありませんが、Pacemakerのリソースとして、標準でzabbixserverが存在
するのではないでしょうか?
ちなみにリソースの場所と思われるところに「zabbixserver」があります。
# ls -l /usr/lib/ocf/resource.d/heartbeat/zabbixserver
当方の環境:
corosync-2.3.4
pacemaker-1.1.13
toshiya - 投稿数: 2
misakiさん
ご返信ありがとうございます!
http://www.miraclelinux.com/online-service/download/docs-products-servic...
上記の資料を参考にしているのですが、「リソースレベルの障害」に記載がありました。(確認不足でお恥ずかしいです。)
ありがとうございました!
misaki - 投稿数: 69
当方の環境:CentOS release 6.7 (Final)
試しにZabbixサーバを「corosync+pacemaker」で冗長構成にしてみました。
上記ocfのリソース使うとエラーが出てうまく冗長構成できませんでしたので、LSB(Linux標準の
サービス起動スクリプト)を使って、リソースを登録して起動するzabbix-serverでも冗長構成をとる
ことが出来ました。
ただし、toshiyaさんが遭遇したプロセスが一つだけ残る現象で切り替るかは、その現象を再現できま
せんでしたので確認できませんでした。
※「corosync+pacemaker」では物理的にサーバがダウンしなくても、httpdサービスなどのアプリケー
ションレベルで冗長構成がとれます。
#参考までにcrm configure showで表示した当方の設定を以下に貼っておきます
node 1: zabbix-test \
attributes standby=off
node 2: zabbix-test2
primitive apache apache \
op start interval=0 timeout=40 on-fail=restart \
op stop interval=0 timeout=60 on-fail=ignore \
op monitor interval=10 timeout=20 on-fail=restart
primitive vip IPaddr2 \
params ip=10.1.1.35 nic=eth0 cidr_netmask=24 \
op start interval=0s timeout=60s \
op monitor interval=5s timeout=20s \
op stop interval=0s timeout=60s
primitive vipcheck VIPcheck \
params target_ip=10.1.1.35 count=3 wait=5 \
op start interval=0 timeout=60 on-fail=restart \
op stop interval=0 timeout=60 on-fail=ignore \
op monitor interval=10 timeout=60 on-fail=restart start-delay=0
primitive zabbix-server lsb:zabbix-server \
op start interval=0 timeout=40 on-fail=restart \
op stop interval=0 timeout=60 on-fail=ignore \
op monitor interval=10 timeout=20 on-fail=restart
group web-group vipcheck apache vip zabbix-server
location cli-prefer-vip web-group role=Started inf: zabbix-test
property cib-bootstrap-options: \
have-watchdog=false \
dc-version=1.1.13-6052cd1 \
cluster-infrastructure=corosync \
stonith-enabled=false \
no-quorum-policy=ignore