CentOS 7
Sponsored Link

Pacemaker : リソースを追加する (httpd)
2015/06/23
 
httpd をクラスターリソースに追加します。
ここでは例として、以下のようなクラスター環境を構築します。
                              10.0.0.50
                             (Virtual IP)
                                  |
+----------------------+          |          +----------------------+
| [       Node01     ] |10.0.0.51 | 10.0.0.52| [       Node02     ] |
|   node01.srv.world   +----------+----------+   node02.srv.world   |
|    httpd service     |                     |     httpd service    |
+----------------------+                     +----------------------+

[1]
[2]
こちらを参考に、Apache httpd をインストールしておきます。 (サービスを起動しておく必要はありません)
[3] 全ノードの httpd で server-status を有効にしておきます。
[root@node01 ~]#
vi /etc/httpd/conf.d/server_status.conf
# 新規作成

ExtendedStatus On

<Location /server-status>
    SetHandler server-status
    Require local
</Location>
[4] 一部、クラスターの設定を変更し、仮想IPアドレスを設定しておきます。いずれかのノード上で設定すれば OK です。
# STONITH (Shoot The Other Node In The Head) オプションはここでは無効にしておく

[root@node01 ~]#
pcs property set stonith-enabled=false
# クラスターが必要最低限の数に達していない場合でも特別な動作は行わず全ノードの管理を続行する

[root@node01 ~]#
pcs property set no-quorum-policy=ignore
# 自動フェイルバックは無効にしておく

[root@node01 ~]#
pcs property set default-resource-stickiness="INFINITY"
# 設定確認

[root@node01 ~]#
pcs property list

Cluster Properties:
 cluster-infrastructure: corosync
 cluster-name: ha_cluster
 dc-version: 1.1.12-a14efad
 default-resource-stickiness: INFINITY
 have-watchdog: false
 no-quorum-policy: ignore
 stonith-enabled: false

# 仮想IPアドレス設定

[root@node01 ~]#
pcs resource create Virtual_IP ocf:heartbeat:IPaddr2 ip=10.0.0.50 cidr_netmask=24 op monitor interval=30s
# 状態確認

[root@node01 ~]#
pcs status resources

Virtual_IP (ocf::heartbeat:IPaddr2): Started
[5] httpd をリソースに追加します。いずれかのノード上で設定すれば OK です。
# リソースを追加

[root@node01 ~]#
pcs resource create Web_Cluster \
ocf:heartbeat:apache \
configfile=/etc/httpd/conf/httpd.conf \
statusurl="http://127.0.0.1/server-status" \
op monitor interval=1min
# Web_Cluster と Virtual_IP は同一マシン上になるよう設定

[root@node01 ~]#
pcs constraint colocation add Web_Cluster with Virtual_IP INFINITY
# 起動順序は Virtual_IP ⇒ Web_Cluster とする

[root@node01 ~]#
pcs constraint order Virtual_IP then Web_Cluster

Adding Virtual_IP Web_Cluster (kind: Mandatory) (Options: first-action=start then-action=start)
# 設定確認

[root@node01 ~]#
pcs constraint

Location Constraints:
Ordering Constraints:
  start Virtual_IP then start Web_Cluster (kind:Mandatory)
Colocation Constraints:
  Web_Cluster with Virtual_IP (score:INFINITY)
[6] 以上で設定完了です。任意のクライアントから設定した仮想 IP にアクセスして結果が返ってくることを確認します。
[7] アクティブノードを手動で停止し、リソースが正常に切り替わるか確認しておきます。
[root@node01 ~]#
pcs cluster stop node01.srv.world

node01.srv.world: Stopping Cluster (pacemaker)...
node01.srv.world: Stopping Cluster (corosync)...
 
Tweet