【pcs】特定リソースのmigration-thresholdを変更する

Oct 27, 2016   #pcs 

はじめに

こんにちは、えのかわです。
Pacemaker/Corosyncで、特定リソースのmigration-thresholdを変更してみたのでメモです。
基本的にはRed Hatのドキュメントを読めば理解できると思います。
Red Hat Enterprise Linux 6 Pacemaker を使用した Red Hat High Availability Add-On の設定

pcsのバージョンは下記。AmazonLinuxです。

$ pcs --version
0.9.141

ざっくり

全体のmigration-thresholdは1で設定しています。
今回はapacheリソースのみ2に変更してみます。

$ sudo pcs resource defaults
resource-stickiness: INFINITY
migration-threshold: 1

migration-thresholdの変更

$ sudo pcs resource meta apache migration-threshold=2

migration-thresholdの確認

$ sudo pcs resource show apache
 Resource: apache (class=lsb type=apache)
  Meta Attrs: migration-threshold=2
  Operations: start on-fail=restart interval=0s timeout=20s (apache-start-interval-0s)
              monitor on-fail=restart interval=60s timeout=60s (apache-monitor-interval-60s)
              stop on-fail=fence interval=0s timeout=20s (apache-stop-interval-0s)

migration-thresholdを2以上に変更した場合、failure-timeoutの変更も併せて必要になります。

$ sudo pcs resource meta apache failure-timeout=180s

failure-timeoutの確認

$ sudo pcs resource show apache
 Resource: apache (class=lsb type=apache)
  Meta Attrs: migration-threshold=2 failure-timeout=180s
  Operations: start on-fail=restart interval=0s timeout=20s (apache-start-interval-0s)
              monitor on-fail=restart interval=60s timeout=60s (apache-monitor-interval-60s)
              stop on-fail=fence interval=0s timeout=20s (apache-stop-interval-0s)

メモ

  • fail-countが1加算されるとリソース(monitor)の再起動が発生する
  • fail-countがmigration-thresholdを超過するとfail-countはINFINITYとなり即時FOが発生する
  • 再起動を試みて、問題なくリソースが動作すればFOは発生しない
  • fail-countはfailure-timeout値を過ぎるとresetされる(ログにも残る)
  • 設定するのは片系のみで問題ない
  • Pacemaker/Corosyncの再起動は不要

さいごに

今回は下記のページを参考にしました。
Pacemaker を使用した Red Hat High Availability Add-On の設定 5.4. リソースのメタオプション
Pacemaker を使用した Red Hat High Availability Add-On の設定 7.2. 障害発生のためリソースを移動する
Qiita - AWS/EC2 Corosync PacemakerでNFSを冗長化する