• 追加された行はこの色です。
  • 削除された行はこの色です。
目次~
#contents

*概要 [#d33dcd4a]
3ノード以上のクラスタ構成を行う場合のTips

*設定 [#zfd74bdc]
**構成 [#g64ad3c7]
3ノード以上のクラスタを構成する場合も基本的な設定は2ノード構成と同様で、ha.chのnodeとして当該のunameを追加するのみとなる。~

例~
-/etc/ha.d/ha.cf
 pacemaker on
 
 debug 0
 udpport 694
 keepalive 2
 warntime 7
 deadtime 10
 initdead 10
 logfacility local1
 
 bcast eth1
 
 node dev-ha01
 node dev-ha02
 node dev-ha03
 
 watchdog /dev/watchdog
 respawn root /usr/lib/heartbeat/ifcheckd

**アクティブノードの優先順位設定 [#bcdcee9e]
特定のノードが起動している場合に優先的にリソースを割り当てる場合、location設定にてルールを定義する。~
**リソース定義 [#n8e57925]
仮想IPを割り当てるため、以下の設定を投入したことを以降の前提とする。~

-設定例~
デフォルト設定~
-デフォルト設定~
 ## Default Set
 property no-quorum-policy="ignore" stonith-enabled="false"
 rsc_defaults resource-stickiness="INFINITY" migration-threshold="1"

仮想IPアドレス(172.16.2.180)のリソースを「vip」として定義し、「grp-vip」グループに含める~
-仮想IPアドレス(172.16.2.180)のリソースを「vip」として定義し、「grp-vip」グループに含める~
 ## VIP resource
 primitive vip ocf:heartbeat:IPaddr2 params ip="172.16.2.180" nic="eth0" cidr_netmask="16" op monitor interval="10s"
 group grp_vip vip
ノードのネットワーク接続確認用として、172.16.0.254に対するPingを「ping」として定義

-ノードのネットワーク接続確認用として、172.16.0.254に対するPingを「ping」として定義
 ## Ping check
 primitive ping ocf:pacemaker:pingd params name="default_ping_set"  host_list="172.16.0.254" multiplier="100" dampen="1" op monitor interval="10s"
ノードのネットワーク接続確認用Pingをclone_pingとして定義し、全てのノードで実行させる~

-ノードのネットワーク接続確認用Pingをclone_pingとして定義し、全てのノードで実行させる~
 ## Clone
 clone clone_ping ping
 



**アクティブノードの優先順位設定 [#bcdcee9e]
特定のノードが起動している場合に優先的にリソースを割り当てる場合、location設定にてルールを定義する。~
下記の例では、loc_vip-rule1が最優先、以下番号順に優先度が割り当てられる。~

-設定例~
 ## Location
 rsc_defaults resource-stickiness="INFINITY" migration-threshold="1"
 location web_location grp_vip \
   rule $id="loc_vip-rule1" 300: #uname eq dev-ha01 \
   rule $id="loc_vip-rule2" 200: #uname eq dev-ha02 \
   rule $id="loc_vip-rule3" 100: #uname eq dev-ha03 \
   rule $id="loc_vip-rule4" -inf: not_defined default_ping_set or default_ping_set lt 100

**自動フェイルバック [#g3f75838]
現行のアクティブノードよりも優先順位の高いノードが復旧した場合に自動的にアクティブノードを切り替える設定。~
~
常に特定のノード(もしくは、ノードが格納された仮想化インフラ上)での動作を優先したい場合には便利な設定だが、勝手にフェイルバックすることから、障害復旧時などに予期せぬ切り替えが発生する可能性がある点を留意する必要がある。~
~
尚、heartbeat側にauto_failbackというパラメータがあるが、pacemakerと組み合わせる場合には正常に動作しない。~
このため、pacemaker側の設定にて対処を行う。~
~
本来、pacemakerは自動フェイルバックする動作がデフォルトである。~
多くの設定例において記載されている、以下の項目が自動フェイルバックを抑制している。~

 rsc_defaults resource-stickiness="INFINITY" migration-threshold="1"

このため、この設定を外し、ノードの優先順位を定義することで、優先度の高いノードに対して自動的にフェイルバックさせることができる。

-設定例~
 location web_location grp_vip \
   rule $id="loc_vip-rule1" 300: #uname eq dev-ha01 \
   rule $id="loc_vip-rule2" 200: #uname eq dev-ha02 \
   rule $id="loc_vip-rule3" 100: #uname eq dev-ha03 \
   rule $id="loc_vip-rule4" -inf: not_defined default_ping_set or default_ping_set lt 100


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS