# pcs property set stonith-enabled=false # pcs property set no-quorum-policy=ignore # pcs property set crmd-transition-delay=2s■自動フェイルバックなし、同一サーバでリソースの再起動を試みる回数を 1 回に設定します。
# pcs resource defaults resource-stickiness="INFINITY" migration-threshold="1"■VIP監視
# pcs resource create res-chk-vip1 ocf:heartbeat:VIPcheck \ target_ip=10.96.146.30 count=1 wait=10 \ op start interval=0s timeout=90s on-fail=restart start-delay=4s■VIP設定
# pcs resource create res-vip1 ocf:heartbeat:IPaddr2 ip=10.96.146.30 cidr_netmask=24 op monitor interval=30s■メール送信
# pcs resource create res-mailto ocf:heartbeat:MailTo \ params email="hoge_system@ml01.hoge.hoge.jp" subject="Pacemaker FailOver" \ op monitor interval="10s" timeout="10s" \ op start interval="0" timeout="10s" \ op stop interval="0" timeout="10s" \ meta target-role="started"■ping監視
# pcs resource create res-ping ocf:pacemaker:ping \ params name="default_ping_set" host_list="10.96.146.39 10.96.146.40 10.96.146.41" multiplier="100" dampen="50" \ op monitor interval="10s" timeout="20s" \ op start interval="0" timeout="90s" \ op stop interval="0" timeout="100s"
# pcs resource clone res-ping※「ocf:pacemaker:pingd」は古いので「ocf:pacemaker:ping」を利用すること。「ocf:pacemaker:pingd」はフェイルオーバできないなどバグがある。
#pcs cluster standby dbserver-02MySQLリソースの設定
# pcs resource create res-mysql ocf:heartbeat:mysql binary=/usr/bin/mysqld_safe pid=/var/run/mysqld/mysqld.pid \ datadir="/data/db/mysqld/daito-data" config="/etc/my.cnf" user="mysql" group="mysql" log="/data/db/mysqld/log/mysqld.log" \ test_user="chk_user" test_passwd="helthpasswd" test_table="chk_db.chk_tbl" \ replication_user=repl replication_passwd=slavepasswd \ op start interval=0 timeout=120s \ op stop interval=0 timeout=120s \ op monitor interval=10s role=Master timeout=30s on-fail="restart" \ op monitor interval=30s role=Slave timeout=30s on-fail="restart" \ op promote interval=0 timeout=120s \ op demote interval=0 timeout=120s \ op notify interval=0 timeout=90s■Master/Slaveセットを作成します。
# pcs resource master ms-mysql res-mysql master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=true■リソースグループ
# pcs resource group add grp-network res-chk-vip1 res-vip1 res-mailto■同居制約
# pcs constraint colocation add grp-network ms-mysql INFINITY with-rsc-role=Master # pcs constraint colocation add master ms-mysql with res-ping■起動順序
# pcs constraint order promote ms-mysql then start grp-network # pcs constraint order start res-ping-clone then promote ms-mysql # pcs constraint order start res-chk-vip1 then start res-vip1※on-fail="xxx"の設定に応じた動作を行う。指定できる動作には以下のものがある。
block | 故障したリソースの管理を停止し待機する。 |
---|---|
fence | リソース故障が発生したメンバーノードをSTONITHによって再起動し、フェールオーバする。 |
ignore | 何の処理も行わない。 |
stop | 故障したリソースを停止し、他のメンバーノードへフェールオーバさせない。 |
restart | 故障したリソースを他のメンバーノードへフェールオーバする(デフォルト)。 |
Pacemaker+MySQLレプリケーション構築【目次】
Pacemaker+MySQLレプリケーション構築【環境/基本情報】おすすめ書籍
インフラ/ネットワークエンジニアのためのネットワーク技術&設計入門]トラブルシューティングガイド |
[24時間365日] サーバ/インフラを支える技術 ‾スケーラビリティ、ハイパフォーマンス、省力運用 |