動かして理解するPacemaker ~CRM設定編~ その3


■実験1 colocationのスコア値を-INFINITYにしてみる

まず、例のCRM設定でPacemakerを起動します。
以下のように起動するはずです。

# crm_mon -rfA
~略~

Online: [ pm01 pm02 ]

Full list of resources:

Resource Group: grp
    resource1 (ocf::heartbeat:Dummy): Started pm01
    resource2 (ocf::heartbeat:Dummy): Started pm01
Clone Set: clnResource
    Started: [ pm01 pm02 ]

Node Attributes:
* Node pm01:
    + pm02-eth1 : up
    + pm02-eth2 : up
* Node pm02:
    + pm01-eth1 : up
    + pm01-eth2 : up

Migration summary:
* Node pm01:
* Node pm02:

次に、クラスタを稼働させたまま、以下コマンドでcolocationのスコア値を-INFINITYに書き換えます。
どちらのノードで実行してもかまいません。

# crm configure edit
→vi等のエディタが起動し、現在のCRM設定が編集可能になる。
 以下部分の「inf」を「-inf」に書き換える。

    colocation rsc_colocation-1 inf: grp clnResource
      ↓書き換え
    colocation rsc_colocation-1 -inf: grp clnResource

 書き換えたらエディタを保存終了する。(viの場合、Esc→:wq)

変更は即座にPacemakerに反映され、おそらく以下のようになります。

# crm_mon -rfA
~略~

Online: [ pm01 pm02 ]

Full list of resources:

 Resource Group: grp
     resource1  (ocf::heartbeat:Dummy): Stopped ★
     resource2  (ocf::heartbeat:Dummy): Stopped ★
 Clone Set: clnResource
     Started: [ pm01 pm02 ]

Node Attributes:
* Node pm01:
    + pm02-eth1                         : up
    + pm02-eth2                         : up
* Node pm02:
    + pm01-eth1                         : up
    + pm01-eth2                         : up

Migration summary:
* Node pm01:
* Node pm02:

★部分でresource1,2が停止したことがわかります。

これは、grp(=resource1,2)とclnResource(=resource3)のcolocationのスコア値を-INFINITYに書き換えたことで、
制約が「grpとclnResourceは絶対に違うノードで起動する」という意味になったためです。
clnResourceはクローンのため両ノードで起動しており、そのままではこの制約を守ることはできないためgrpを停止せざるを得なかったのです。

この状態のまま、clnResourceを停止するとどうなるでしょう?
以下コマンドを実行してください。どちらのノードで実行してもかまいません。

# crm resource stop resource3

おそらく以下のようになったと思います。

# crm_mon -rfA
~略~
Online: [ pm01 pm02 ]

Full list of resources:

 Resource Group: grp
     resource1  (ocf::heartbeat:Dummy): Started pm01 ★
     resource2  (ocf::heartbeat:Dummy): Started pm01 ★
 Clone Set: clnResource
     Stopped: [ resource3:0 resource3:1 ] ☆

Node Attributes:
* Node pm01:
    + pm02-eth1                         : up
    + pm02-eth2                         : up
* Node pm02:
    + pm01-eth1                         : up
    + pm01-eth2                         : up

Migration summary:
* Node pm01:
* Node pm02:

☆部分でclnResource(resource3)が停止し、★部分で停止していたresource1,2が起動したことがわかります。

clnResourceを手動で停止したことにより、colocation制約で抑止されていたresource1,2が起動可能になったためです。

Pages: 1 2 3 4

Comments are closed.