FURYU Tech Blog - フリュー株式会社

フリュー株式会社の開発者が技術情報を発信するブログです。

Pacemaker+Corosyncを使ってみました!(crmコマンド編)

みなさん、こんにちは。ピクトリンク事業部インフラ課(3月末から事業部名が変わりました)の藤本佳世です。今回は「Pacemaker+Corosyncを使ってみました!」の続編、crmコマンドを使った設定の部分についてお話しします。

crmコマンド集

Pacemakerの設定をしたり、確認や削除といった作業は、crmコマンドを使って行います。

今回の構築で使ったコマンドをまとめてみました。※詳しい説明は後ほど

crm configure load update ファイル
crm configure show
crm configure erase
crm node online ホスト名
crm node standby ホスト名
crm configure save ファイル名

Pacemakerの設定

crm configureコマンド使ってPacemakerの設定ができます。

# crm configure
crm(live)configure# 

この状態で1つずつ設定していくことも可能ですが、私の場合は、設定したい項目をすべてcrmファイルに書き出して、crm configure load updateコマンドを使って設定を反映させました。

crm configure load update setting.crm

setting.crmの内容はこちらです。

※仮想VIP設定は、「primitive prmVIPcheck ocf:heartbeat:VIPcheck」の部分です。

ping疎通監視設定は、「primitive pingd_gw ocf:pacemaker:ping」の部分です。

### Cluster Option ###
property stonith-enabled="false" \
         start-failure-is-fatal="false" \
         no-quorum-policy="ignore" \
         symmetric-cluster="true" \
         startup-fencing="true" \
         stop-orphan-resources="false" \
         stop-orphan-actions="true" \
         remove-after-stop="false" \
         is-managed-default="true" \
         cluster-delay="60s" \
         pe-error-series-max="-1" \
         pe-warn-series-max="-1" \
         pe-input-series-max="-1"
 
### Resource Defaults ###
rsc_defaults migration-threshold="2" \
             resource-stickiness="INFINITY" \
             is-managed="true"
 
### Primitive Configuration ###
primitive IPaddr2_1 ocf:heartbeat:IPaddr2 \
        params ip="192.168.33.21" cidr_netmask="24" nic="eth0" \
        op monitor interval="10s" timeout="60s" on-fail="restart" \
        op start                  timeout="60s" on-fail="restart" \
        op stop                   timeout="60s" on-fail="block"
         
primitive pingd_gw ocf:pacemaker:ping \
        params name="default_ping_set" \
               host_list="192.168.33.0" \
               multiplier="100" \
               dampen="0" \
        meta migration-threshold="10" \
        op monitor interval="10s" timeout="60s"  on-fail="restart" \
        op start   interval="0s"  timeout="90s"  on-fail="restart" \
        op stop    interval="0s"  timeout="100s" on-fail="block"
         
primitive prmVIPcheck ocf:heartbeat:VIPcheck \
        params target_ip="192.168.33.21" count="1" wait="10" \
        op start                  timeout="90s" on-fail="restart" start-delay="4s" \
        op monitor interval="10s" timeout="45s" on-fail="restart" \
        op stop                   timeout="90s" on-fail="block" 
 
### Group Configuration ###
group group_1 \
      prmVIPcheck \
      IPaddr2_1
 
### Clone Configuration ###
clone clnPingd_fw pingd_gw \
      meta clone-max="2" \
      clone-node-max="1"
 
### Resource Location ###
location group_1-location group_1 \
        rule $id="group_1-location-rule" 200: #uname eq server1 \
        rule $id="group_1-location-rule-0" 100: #uname eq server2 \
        rule $id="group_1-location-rule-1" -inf: defined default_ping_set and default_ping_set lt 100

設定内容を確認するコマンドは下記のようにshowを付けます。

crm configure show

また、設定を削除したいときは、eraseを最後に付けます。

crm configure erase

ただし、ノードが「running」ステータスでは下記のようなエラーが発生します。

WARNING: resource IPaddr2_1 is running, can't delete it
WARNING: resource pingd_gw is running, can't delete it
WARNING: resource prmVIPcheck is running, can't delete it
ERROR: CIB erase aborted (nothing was deleted)

その場合は、全ノードを「standby」ステータスに切り替え、「running」ステータス以外にする事が必要です。

crm node standby server1
crm node standby server2

再度「online」ステータスに切り替えるには下記を実行。

crm node online server1
crm node online server2

そして最後に、設定のバックアップ取っておくコマンドがこちらです。

crm configure save backup.crm

現在設定されている項目をbackup.crmに書き出してくれます。

設定をバックアップ取っておくと、再構築になった際にとても便利ですね。

backup.crmの使い方は、最初にお伝えしたように、loadするだけです。

crm configure load update backup.crm

 

今回の投稿は以上です。次回は最終版として構築ではまった部分をみなさんに共有したいと思います。