Red Hat Enterprise Linux 7

High Availability Add-On リファレンス

Red Hat Enterprise Linux 7 向け High Availability Add-On のリファレンスドキュメント

法律上の通知

Copyright © 2015 Red Hat, Inc. and others.

This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed.

Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.

Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the Infinity Logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.

Linux® is the registered trademark of Linus Torvalds in the United States and other countries.

Java® is a registered trademark of Oracle and/or its affiliates.

XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.

MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.

Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.

The OpenStack® Word Mark and OpenStack Logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.

All other trademarks are the property of their respective owners.

概要

Red Hat High Availability Add-On リファレンスは、Red Hat Enterprise Linux 7 向けの Red Hat High Availability Add-On をインストール、設定、および管理するための参考情報を提供します。

⁠第1章 Red Hat High Availability Add-On の設定と管理のリファレンス概要

本章では、Pacemaker を使用する Red Hat High Availability Add-On がサポートするオプションと機能について説明します。ステップごとの基本設定の例は『Red Hat High Availability Add-On の管理』を参照してください。

Red Hat High Availability Add-On クラスターを設定するには、pcs 設定インターフェースまたは pcsd GUI インターフェースを使用します。

⁠1.1. Red Hat Enterprise Linux 7.1 の新機能および変更された機能

本項では、Red Hat Enterprise Linux 7.1 以降のリリースに含まれる Red Hat High Availablity Add-On の新機能および変更された機能について取り上げます。

Red Hat Enterprise Linux 7.1 には、ドキュメントや機能を対象とする以下の更新および変更が含まれています。

「クラスターリソースのクリーンアップ」 のとおり、pcs resource cleanup コマンドがすべてのリソースのリソース状態とフェイルカウントをリセットするようになりました。

「リソースを手作業で移動する」 のとおり、pcs resource move コマンドの lifetime パラメーターを指定できるようになりました。

「ユーザーのパーミッション設定」 のとおり、Red Hat Enteprise Linux 7.1 以降では pcs acl コマンドを使用してローカルユーザーのパーミッションを設定し、アクセス制御リスト (ACL) を使用してクラスター設定への読み取り専用または読み書きアクセスを許可できるようになりました。

「順序付けされたリソースセット」 および 「リソースのコロケーション」 が大幅に更新および明確化されました。

「リソースの作成」 に、pcs resource create コマンドの disabled パラメーターに関する内容が追加され、作成されたリソースは自動的に起動しないことが明記されました。

「クォーラムオプションの設定」 に、クォーラムの確立時にクラスターがすべてのノードを待たないようにする新しい cluster quorum unblock 機能の説明が追加されました。

「リソースの作成」 に、リソースグループの順序付けを設定するために使用できる pcs resource create コマンドの before および after パラメーターの説明が追加されました。

Red Hat Enterprise Linux 7.1 リリース以降ではクラスター設定を tarball にバックアップし、pcs config コマンドで backup および restore オプションを使用してバックアップからすべてのノードのクラスター設定ファイルを復元できるようになりました。この機能の詳細は 「クラスター設定のバックアップおよび復元」 を参照してください。

内容を明確にするため本書全体に小変更が加えられました。

⁠1.2. Pacemaker 設定ツールのインストール

以下の yum install コマンドを使って Red Hat High Availability Add-On ソフトウェアのパッケージおよび利用可能なフェンスエージェントを High Availability チャンネルからインストールします。

# yum install pcs fence-agents-all

このコマンドの代わりに以下のコマンドを実行すると、Red Hat High Availability Add-On ソフトウェアパッケージと必要なフェンスエージェントのみをインストールできます。

# yum install pcs fence-agents-model

以下のコマンドは、利用できるフェンスエージェントの一覧を表示します。

# rpm -q -a | grep fence
fence-agents-rhevm-4.0.2-3.el7.x86_64
fence-agents-ilo-mp-4.0.2-3.el7.x86_64
fence-agents-ipmilan-4.0.2-3.el7.x86_64
...

lvm2-cluster と gfs2-utils のパッケージは ResilientStorage チャンネルの一部になります。必要に応じて次のコマンドでインストールを行ってください。

# yum install lvm2-cluster gfs2-utils

警告

Red Hat High Availability Add-On パッケージのインストール後、必ずソフトウェア更新に関する設定で自動インストールが行われないよう設定してください。実行中のクラスターでインストールが行われると予期しない動作の原因となる場合があります。

⁠1.3. クラスターコンポーネントに対する iptables ファイアウォールの設定

Red Hat High Availability Add-On では、受信トラフィックに対して以下のポートを有効にする必要があります。

TCP: ポート 2224、3121、21064

UDP: ポート 5405

DLM (clvm/GFS2 で DLM ロックマネージャーを使用する場合): ポート 21064

以下のコマンドを実行すると、firewalld デーモンを使用してこれらのポートを有効にすることができます。

# firewall-cmd --permanent --add-service=high-availability
# firewall-cmd --add-service=high-availability

⁠1.4. クラスターと Pacemaker の設定ファイル

Red Hat High Availability Add-On の設定ファイルは corosync.conf と cib.xml です。これらのファイルは直接編集せずに、必ず pcs または pcsd インターフェースを使用して編集してください。

corosync.conf ファイルは、Pacemaker が構築されるクラスターマネージャーである corosync によって使用されるクラスターパラメーターを提供します。

クラスターの構成およびクラスター内の全リソースの現状を表すのが cib.xml ファイルです。Pacemaker のクラスター情報ベース (Cluster Information Base -CIB) で使用されます。CIB のコンテンツはクラスター全体で継続的に自動同期されます。

⁠第2章 pcs コマンドラインインターフェース

pcs コマンドラインインターフェースは、インターフェースを corosync.conf および cib.xml ファイルに提供し、corosync と Pacemaker を制御および設定します。

pcs コマンドの一般的な形式を以下に示します。

pcs [-f file] [-h] [commands]...

⁠2.1. pcs コマンド

pcs コマンドを以下に示します。

cluster

クラスターオプションおよびノードの設定を行います。pcs cluster コマンドの詳細については 3章クラスターの作成と管理 を参照してください。

resource

クラスターリソースの作成と管理を行います。pcs cluster コマンドの詳細については 5章クラスターリソースの設定、7章クラスターリソースの管理、8章高度なリソースタイプ などを参照してください。

stonith

Pacemaker との使用に備えてフェンスデバイスを設定します。pcs stonith コマンドについては 4章フェンス機能: STONITH の設定 を参照してください。

constraint

リソースの制約を管理します。pcs constraint コマンドについては 6章リソースの制約 を参照してください。

property

Pacemaker のプロパティを設定します。pcs property コマンドでプロパティを設定する方法については 10章Pacemaker クラスターのプロパティ を参照してください。

status

現在のクラスターとリソースの状態を表示します。pcs status コマンドについては 「状態の表示」 を参照してください。

config

ユーザーが読みやすい形式でクラスターの全設定を表示します。pcs config コマンドについては 「全クラスター設定の表示」 を参照してください。

⁠2.2. pcs の使用に関するヘルプ表示

pcs の -h オプションを使用すると pcs のパラメーターとその詳細を表示させることができます。例えば、次のコマンドでは pcs resource コマンドのパラメーターが表示されます。次の例は出力の一部です。

# pcs resource -h
Usage: pcs resource [commands]...
Manage pacemaker resources
Commands:
    show [resource id] [--all]
        Show all currently configured resources or if a resource is specified
        show the options for the configured resource.  If --all is specified
        resource options will be displayed

    start <resource id>
        Start resource specified by resource_id
...

⁠2.3. 生のクラスター設定の表示

クラスター設定ファイルは直接編集すべきではありませんが、pcs cluster cib コマンドで生のクラスター設定を表示させることができます。

「設定の変更をファイルに保存する」 に記載されているように、pcs cluster cib filename を使うと生のクラスター設定を指定ファイルに保存することができます。

⁠2.4. 設定の変更をファイルに保存する

pcs コマンドを使用する際、-f オプションを使うとアクティブの CIB に影響を与えずに設定変更をファイルに保存することができます。

クラスターの設定を既に行っているためアクティブな CIB が存在する場合は次のコマンドを使って生の xml ファイルを保存することができます。

pcs cluster cib filename

例えば、次のコマンドを使用すると CIB の生 xml が testfile という名前のファイルに保存されます。

pcs cluster cib testfile

次のコマンドでは testfile1 ファイル内にリソースをひとつ作成しています。ただし、そのリソースは現在実行中のクラスター構成には追加されません。

# pcs -f testfile1 resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.120 cidr_netmask=24 op monitor interval=30s

次のコマンドで testfile の現在のコンテンツを CIB にプッシュします。

pcs cluster cib-push filename

⁠2.5. 状態の表示

次のコマンドでクラスターおよびクラスターリソースの状態を表示します。

pcs status commands

commands パラメーターを指定しないとクラスターおよびリソースの全情報が表示されます。resources、groups、cluster、nodes、pcsd などを指定すると特定のクラスターコンポーネントの状態のみを表示させることができます。

⁠2.6. 全クラスター設定の表示

現在の全クラスター設定を表示させる場合は次のコマンドを使います。

pcs config

⁠2.7. 現在の pcs バージョンの表示

実行中の pcs の現行バージョンを表示します。

pcs --version

⁠2.8. クラスター設定のバックアップおよび復元

Red Hat Enterprise Linux 7.1 リリース以降では、以下のコマンドを使用してクラスター設定を tarball にバックアップできます。ファイル名を指定しないと、標準出力が使用されます。

pcs config backup filename

以下のコマンドを使用して、バックアップからすべてのノードのクラスター設定ファイルを復元します。ファイル名を指定しないと、標準出力が使用されます。--local オプションを指定すると、現在のノードのファイルのみが復元されます。

pcs config restore [--local] [filename]

⁠第3章 クラスターの作成と管理

本章ではクラスターの作成、クラスターコンポーネントの管理、クラスターの状態表示など Pacemaker で行うクラスターの基本的な管理について見ていきます。

⁠3.1. クラスターの作成

クラスターを作成するため次のステップを行って行きます。

クラスターを構成するノードを認証します。

クラスターノードの設定と同期を行います。

クラスターノードでクラスターサービスを起動します。

次のセクションでは、上記の手順で使用するコマンドについて詳しく見ていきます。

⁠3.1.1. クラスターノードの認証

次のコマンドではクラスター内のノード上にある pcs デーモンに対して pcs の認証を行います。

pcs 管理者のユーザー名はすべてのノードで hacluster にしてください。ユーザー hacluster のパスワードも各ノードで同じパスワードを使用されることをお勧めします。

ユーザー名やパスワードを指定しないと、コマンドを実行した際に各ノードごとのユーザー名やパスワードのパラメーター入力が求められます。

ノードを指定しないと、前回実行した pcs cluster setup コマンドで指定されているノードの pcs を認証することになります。

pcs cluster auth [node] [...] [-u username] [-p password]

認証トークンが ~/.pcs/tokens (または /var/lib/pcsd/tokens) ファイルに格納されます。

⁠3.1.2. クラスターノードの設定と起動

次のコマンドでクラスター設定ファイルの構成、指定ノードに対する設定の同期を行います。

--start オプションを使用すると指定ノードでクラスターサービスが起動されます。必要に応じて、別途 pcs cluster start コマンドを使ってクラスターサービスを起動させることもできます。

--local オプションを使用するとローカルノードでのみ変更を実行します。

pcs cluster setup [--start] [--local] --name cluster_ name node1 [node2] [...]

次のコマンドは指定ノード (複数指定可) でクラスターサービスを起動します。

--all オプションを使用すると全ノードでクラスターサービスを起動します。

ノードを指定しないとクラスターサービスはローカルのノードでしか起動されません。

pcs cluster start [--all] [node] [...]

⁠3.1.3. クラスターのタイムアウト値の設定

pcs cluster setup コマンドを使用してクラスターを作成する場合、クラスターのタイムアウト値はほとんどのクラスター設定に適するデフォルト値に設定されます。システムに他のタイムアウト値が必要な場合は、表3.1「タイムアウトオプション」 に記載されている pcs cluster setup オプションを使用してデフォルト値を変更できます。

⁠

表3.1 タイムアウトオプション

オプション | 説明
--token timeout | トークンを受信しなかった後にトークンの損失が宣言されるまでの時間をミリ秒単位で設定します (デフォルトは 1000 ms です)。
--join timeout | join メッセージの待ち時間をミリ秒単位で設定します (デフォルトは 50 ms です)。
--consensus timeout | 新しいメンバーシップの設定を開始する前に合意が得られるまでの待ち時間をミリ秒単位で設定します (デフォルトは 1200 ms です)。
--miss_count_const count | 再送信が行われる前に、トークンの受信時に再送信のメッセージがチェックされる最大回数を設定します。デフォルトは 5 (5 つのメッセージ) です。
--fail_recv_const failures | メッセージを受信する必要がある場合に、新しい設定が構成される前にメッセージを受信せずにトークンのローテーションが発生できる回数を指定します (デフォルトは 2500 です)。

たとえば、以下のコマンドは new_cluster というクラスターを作成し、トークンのタイムアウト値を 10000 ミリ秒 (10 秒)、join タイムアウト値を 100 ミリ秒に設定します。

# pcs cluster setup --name new_cluster nodeA nodeB --token 10000 --join 100

⁠3.1.4. 冗長リングプロトコル (RRP) の設定

pcs cluster setup コマンドを使用してクラスターを作成する場合、各ノードの両方のインターフェースを指定すると冗長リングプロトコル (RRP) を用いてクラスターを設定できます。デフォルトの udpu トランスポートを使用する場合にクラスターノードを指定するには、リング 0 アドレス、「,」、リング 1 アドレスの順に指定します。

たとえば、以下のコマンドはノード A とノード B の 2 つのノードを持つ my_rrp_clusterM というクラスターを設定します。ノード A には nodeA-0 と nodeA-1 の 2 つのインターフェースがあります。ノード B には nodeB-0 と nodeB-1 の 2 つのインターフェースがあります。RRP を使用してこれらのノードをクラスターとして設定するには、以下のコマンドを実行します。

# pcs cluster setup --name my_rrp_cluster nodeA-0,nodeA-1 nodeB-0,nodeB-1

udp トランスポートを使用するクラスターに RRP を設定する場合の詳細は、pcs cluster setup コマンドのヘルプスクリーンを参照してください。

⁠3.1.5. クォーラムオプションの設定

Red Hat Enterprise Linux High Availability Add-On クラスターは votequorum サービスを使用してスプリットブレインが発生しないようにします。クラスターの各システムには投票数が割り当てられ、過半数の票がある場合のみクラスターの操作を続行できます。サービスはすべてのノードにロードするか、すべてのロードにロードしない必要があります。サービスがクラスターノードのサブセットにロードされると、結果が予想不可能になります。votequorum サービスの設定および操作の詳細は、votequorum(5) の man ページを参照してください。

クォーラムに達していない状態でクラスターにリソース管理を続行させたい場合、以下のコマンドを使用してクォーラムの確立時にクラスターがすべてのノードを待たないようにします。

# pcs cluster quorum unblock

pcs cluster setup コマンドを使用してクラスターを作成する場合、クォーラム設定の特別な機能を設定できます。これらのオプションは 表3.2「クォーラムオプション」 に記載されています。

⁠

表3.2 クォーラムオプション

オプション | 説明
--wait_for_all | 有効にすると、最低 1 回同時にすべてのノードが現れた後にクラスターは初回だけクォーラムに達します。
--auto_tie_breaker | 有効にすると、クラスターは決定論的に最大 50％ のノードが同時に失敗しても存続されます。クラスターパーティションや、auto_tie_breaker_node に設定された nodeid (設定されていない場合は最小の nodeid) とコンタクトするノードのセットはクォーラムに達した状態を維持します。その他のノードはクォーラムに達しません。
--last_man_standing | 有効にすると、特定の状況でクラスターは動的に expected_votes とクォーラムを再計算します。このオプションを有効にする場合、wait_for_all を有効にし、 last_man_standing_window を指定する必要があります。
--last_man_standing_window | クラスターのノードが失われた後、expected_votes およびクォーラムを再計算するまでの待ち時間 (ミリ秒単位)。

これらのオプションの設定および使用に関する詳細は、votequorum(5) の man ページを参照してください。

⁠3.2. クラスターノードの管理

次のセクションではクラスターサービスの起動や停止、クラスターノードの追加や削除などクラスターノードの管理で使用するコマンドについて説明します。

⁠3.2.1. クラスターサービスの停止

次のコマンドで指定ノード (複数指定可) のクラスターサービスを停止します。pcs cluster start と同様に --all オプションを使うと全ノードのクラスターサービスが停止されます。ノードを指定しない場合はローカルノードのクラスターサービスのみが停止されます。

pcs cluster stop [--all] [node] [...]

次のコマンドでローカルノードでのクラスターサービスの停止を強制することができます。このコマンドは kill -9 コマンドを実行します。

pcs cluster kill

⁠3.2.2. クラスターサービスを有効または無効にする

指定ノード (複数指定可) の起動時にクラスターサービスが実行されるよう設定する場合は次のコマンドを使用します。

--all オプションを使用すると全ノードでクラスターサービスが有効になります。

ノードを指定しないとローカルノードでのみクラスターサービスが有効になります。

pcs cluster enable [--all] [node] [...]

指定ノード (複数指定可) の起動時にクラスターサービスが実行されないよう設定する場合は次のコマンドを使用します。

--all オプションを使用すると全ノードでクラスターサービスが無効になります。

ノードを指定しないとローカルノードでのみクラスターサービスが無効になります。

pcs cluster disable [--all] [node] [...]

⁠3.2.3. クラスターノードの追加と削除

以下のコマンドは新しいノードを既存のクラスターに追加します。さらに、このコマンドは corosync.conf クラスター設定ファイルをクラスターのすべてのノード (追加する新しいノードを含む) に対して同期します。

pcs cluster node add node

以下のコマンドは指定のノードをシャットダウンし、クラスターにある他のノードすべてで corosync.conf クラスター設定ファイルから指定のノードを削除します。クラスターに関するすべての情報をクラスターノード全体で削除し、クラスターを永久的に破壊する方法については、「クラスター設定の削除」 を参照してください。

pcs cluster node remove node

⁠3.2.4. スタンバイモード

次のコマンドでは指定したノードをスタンドバイモードにします。指定ノードはリソースのホストが行えなくなります。このノード上で現在実行中のリソースはすべて別のノードに移行されます。--all を使用すると全ノードがスタンバイモードになります。

リソースのパッケージを更新する場合にこのコマンドを使用します。また、設定をテストして実際にはノードのシャットダウンを行わずにリカバリーのシュミレーションを行う場合にも使用できます。

pcs cluster standby node | --all

次のコマンドは指定したノードのスタンバイモードを外します。コマンドを実行すると指定ノードはリソースをホストできるようになります。--all を使用すると全ノードのスタンバイモードを外します。

pcs cluster unstandby node | --all

pcs cluster standby コマンドを実行すると指定したノードでのリソースの実行を阻止する制約が追加されることになります。制約を取り除く場合は pcs cluster unstandby コマンドを実行します。このコマンドは必ずしもリソースを指定ノードに戻すわけではありません。最初にどのようにリソースを設定したかにより、その時点で実行できるノードに移動されます。リソースの制約については 6章リソースの制約 を参照してください。

⁠3.3. ユーザーのパーミッション設定

デフォルトでは、root ユーザーと haclient グループのメンバーであるユーザーは、クラスター設定へ完全に読み書きアクセスできます。Red Hat Enteprise Linux 7.1 以降では、pcs acl コマンドを使用してローカルユーザーのパーミッションを設定し、アクセス制御リスト (ACL) を使用してクラスター設定への読み取り専用または読み書きアクセスを許可できます。

ローカルユーザーのパーミッションを設定するには以下の 2 ステップに従います。

pcs acl role create... コマンドを実行して role を作成しそのロールのパーミッションを定義します。

pcs acl user create コマンドで作成したロールをユーザーに割り当てます。

以下の例では rouser というローカルユーザーにクラスター設定に対する読み取り専用アクセスを与えています。

この手順では、rouser ユーザーがローカルシステムに存在し、rouser ユーザーが haclient グループのメンバーである必要があります。

# adduser rouser
# usermod -a -G haclient rouser

enable-acl クラスタープロパティを使って Pacemaker ACL を有効にします。

# pcs property set enable-acl=true --force

cib に対して読み取り専用のパーミッションを持つ read-only という名前のロールを作成します。

# pcs acl role create read-only description="Read access to cluster" read xpath /cib

pcs ACL システム内に rouser というユーザーを作成し、read-only ロールを割り当てます。

# pcs acl user create rouser read-only

現在の ACL を表示させます。

# pcs acl
User: rouser
  Roles: read-only
Role: read-only
  Description: Read access to cluster
  Permission: read xpath /cib (read-only-read)

次の例では wuser と言うローカルユーザーにクラスター設定に対する書き込みアクセスを与えています。

この手順では、wuser ユーザーがローカルシステムに存在し、wuser ユーザーが haclient グループのメンバーである必要があります。

# adduser wuser
# usermod -a -G haclient wuser

enable-acl クラスタープロパティを使って Pacemaker ACL を有効にします。

# pcs property set enable-acl=true --force

cib に対して書き込みパーミッションを持つ write-access という名前のロールを作成します。

# pcs acl role create write-access description="Full access" write xpath /cib

pcs ACL システム内に wuser というユーザーを作成し、write-access ロールを割り当てます。

# pcs acl user create wuser write-access

現在の ACL を表示させます。

# pcs acl
User: rouser
  Roles: read-only
User: wuser
  Roles: write-access
Role: read-only
  Description: Read access to cluster
  Permission: read xpath /cib (read-only-read)
Role: write-access
  Description: Full Access
  Permission: write xpath /cib (write-access-write)

クラスター ACL の詳細については pcs acl コマンドのヘルプ画面を参照してください。

⁠3.4. クラスター設定の削除

クラスター設定ファイルをすべて削除し全クラスターサービスを停止、クラスターを永久的に破棄する場合は次のコマンドを使用します。

警告

作成したクラスター設定をすべて永久に削除します。先に pcs cluster stop を実行してからクラスターの破棄を行うことを推奨しています。

pcs cluster destroy

⁠3.5. クラスターの状態表示

次のコマンドで現在のクラスターとクラスターリソースの状態を表示します。

pcs status

次のコマンドを使用すると現在のクラスターの状態に関するサブセット情報を表示させることができます。

このコマンドはクラスターの状態は表示しますがクラスターリソースの状態は表示しません。

pcs cluster status

クラスターリソースの状態は次のコマンドで表示させます。

pcs status resources

⁠第4章 フェンス機能: STONITH の設定

STONITH とは Shoot-The-Other-Node-In-The-Head の略です。問題のあるノードや同時アクセスによるデータ破損を防止します。

ノードが無反応だからと言ってデータにアクセスしていないとは限りません。STONITH を使ってノードを排他処理することが唯一 100% 確実にデータの安全を確保する方法になります。排他処理することによりそのノードを確実にオフラインにしてから、別のノードに対してデータへのアクセスを許可することができます。

STONITH はクラスター化したサービスを停止できない場合にも役に立ちます。このようなことが発生した場合は、STONITH で全ノードを強制的にオフラインにしてからサービスを別の場所で開始すると安全です。

⁠4.1. STONITH (フェンス) エージェント

次のコマンドは利用できる全 STONITH エージェントを表示します。フィルターを指定するとフィルターに一致する STONITH エージェントのみを表示します。

pcs stonith list [filter]

⁠4.2. フェンスデバイスの汎用プロパティ

注記

フェンスデバイスやフェンスリソースを無効にする場合にも通常のリソースと同様、target-role を設定することができます。

注記

特定のノードにフェンスデバイスを使用させないようにする場合はフェンスリソースに場所の制約を使用すると期待通りに動作します。

フェンスデバイスに設定できる汎用プロパティについては 表4.1「フェンスデバイスの汎用プロパティ」 に記載されています。特定のフェンスデバイスに設定できるフェンスプロパティについては 「デバイス固有のフェンスオプションを表示する」 を参照してください。

注記

より高度なフェンス設定プロパティについては 「その他のフェンス設定オプション」 を参照してください。

⁠

表4.1 フェンスデバイスの汎用プロパティ

フィールド | タイプ | デフォルト | 説明
stonith-timeout | 時間 | 60s | STONITH 動作の完了を待機させる時間を stonith デバイスごと指定します。stonith-timeout クラスタープロパティが上書きされます。
priority | 整数 | 0 | stonith リソースの優先度です。高い優先度のデバイスから順番に試行されます。
pcmk_host_map | 文字列 |  | ホスト名に対応していないデバイスのポート番号とホスト名をマッピングします。例えば、node1:1;node2:2,3 なら node1 にはポート 1 を使用し node2 にはポート 2 と 3 を使用するようクラスターに指示します。
pcmk_host_list | 文字列 |  | このデバイスで制御するマシンの一覧です (オプション、pcmk_host_check=static-list を除く)。
pcmk_host_check | 文字列 | dynamic-list | デバイスで制御するマシンを指定します。使用できる値: dynamic-list (デバイスに問い合わせ)、static-list (pcmk_host_list 属性をチェック)、なし (すべてのデバイスで全マシンのフェンスが可能とみなされる)

⁠4.3. デバイス固有のフェンスオプションを表示する

指定した STONITH エージェントのオプションを表示するには次のコマンドを使用します。

pcs stonith describe stonith_agent

次のコマンドでは telnet または SSH 経由の APC 用フェンスエージェントのオプションを表示します。

# pcs stonith describe fence_apc
Stonith options for: fence_apc
  ipaddr (required): IP Address or Hostname
  login (required): Login Name
  passwd: Login password or passphrase
  passwd_script: Script to retrieve password
  cmd_prompt: Force command prompt
  secure: SSH connection
  port (required): Physical plug number or name of virtual machine
  identity_file: Identity file for ssh
  switch: Physical switch number on device
  inet4_only: Forces agent to use IPv4 addresses only
  inet6_only: Forces agent to use IPv6 addresses only
  ipport: TCP port to use for connection with device
  action (required): Fencing Action
  verbose: Verbose mode
  debug: Write debug information to given file
  version: Display version information and exit
  help: Display help and exit
  separator: Separator for CSV created by operation list
  power_timeout: Test X seconds for status change after ON/OFF
  shell_timeout: Wait X seconds for cmd prompt after issuing command
  login_timeout: Wait X seconds for cmd prompt after login
  power_wait: Wait X seconds after issuing ON/OFF
  delay: Wait X seconds before fencing is started
  retry_on: Count of attempts to retry power on

⁠4.4. フェンスデバイスを作成する

次のコマンドで stonith デバイスを作成します。

pcs stonith create stonith_id stonith_device_type [stonith_device_options]

# pcs stonith create MyStonith fence_virt pcmk_host_list=f1 op monitor interval=30s

ノードごと異なるポートを使って複数のノードに一つのフェンスデバイスを使用する場合は各ノードごと別々にデバイスを作成する必要はありません。pcmk_host_map オプションを使ってポートとノードのマッピングを指定することができます。例えば、次のコマンドでは myapc-west-13 と言う名前のフェンスデバイスを一つ作成し、west-apc という名前の APC 電源スイッチを使用、west-13 というノードにポート 15 を使用させます。

# pcs stonith create myapc-west-13 fence_apc pcmk_host_list="west-13" ipaddr="west-apc" login="apc" passwd="apc" port="15"

ただし、次の例では west-apc と言う名前の APC 電源スイッチを使用してノード名 west-13 をポート 15で、ノード名 west-14 をポート 17で、ノード名 west-15 をポート 18 で、ノード名 west-16 をポート 19 でそれぞれ排他処理します。

# pcs stonith create myapc fence_apc pcmk_host_list="west-13,west-14,west-15,west-16" pcmk_host_map="west-13:15;west-14:17;west-15:18;west-16:19" ipaddr="west-apc" login="apc" passwd="apc"

⁠4.5. ストレージベースのフェンスデバイスをアンフェンスを使って設定する

SAN やストレージフェンスデバイス (つまり電源ベース以外のフェンスエージェント) を作成する場合には、stonith デバイスを作成する際にメタオプション provides=unfencing を設定する必要があります。これにより排他処理されるノードが再起動前に確実にアンフェンスされ、クラスターサービスがそのノードで起動されるようになります。

電源ベースのフェンスデバイスを設定する場合はデバイス自体がノードの起動 (およびクラスターへの再ジョイン試行) に電力を供給するため provides=unfencing メタオプションを設定する必要はありません。この場合の起動とはアンフェンスが発生してから起動するという意味です。

次のコマンドでは fence_scsi フェンスエージェントを使用する my-scsi-shooter と言う名前の stonith デバイスを設定、デバイスのアンフェンスを有効にしています。

pcs stonith create my-scsi-shooter fence_scsi devices=/dev/sda meta provides=unfencing

⁠4.6. フェンスデバイスを表示する

次のコマンドは現在設定されている全フェンスデバイスを表示します。stonith_id を指定すると設定されたその stonith デバイスのオプションのみを表示します。--full オプションを指定すると設定された全 stonith オプションを表示します。

pcs stonith show [stonith_id] [--full]

⁠4.7. フェンスデバイスの修正と削除

現在設定されているフェンスデバイスのオプションを修正したり、新たにオプションを追加する場合は次のコマンドを使用します。

pcs stonith update stonith_id [stonith_device_options]

現在の設定からフェンスデバイスを削除する場合は次のコマンドを使用します。

pcs stonith delete stonith_id

⁠4.8. フェンスデバイスが接続されているノードの管理

手作業でのノードの排他処理は次のコマンドで行うことができます。--off を使用すると stonith に対して off API コールが使用されノードは再起動ではなく電源オフになります。

pcs stonith fence node [--off]

次のコマンドで指定したノードの電源が現在オフになっているのかどうかを確認することができます。

警告

指定したノードがクラスターソフトウェアや通常クラスターで制御しているサービスを実行中だった場合はデータ破損やクラスター障害が発生するので注意してください。

pcs stonith confirm node

⁠4.9. その他のフェンス設定オプション

フェンスデバイスに設定できるその他のオプションを 表4.2「フェンスデバイスの高度なプロパティ」 にまとめています。その他のオプションは高度な設定を行う場合に限られます。

⁠

表4.2 フェンスデバイスの高度なプロパティ

フィールド | タイプ | デフォルト | 説明
pcmk_host_argument | 文字列 | port | ポートの代わりに与える代替のパラメーターです。標準的なポートパラメーターに対応していないデバイスやポート以外の別のパラメーターを提供しているデバイスがあります。このような場合、このパラメーターを使って排他処理するマシンを示すデバイス固有の代替パラメーターを指定します。追加パラメーターを与えないことを指示する場合は値を none にします。
pcmk_reboot_action | 文字列 | reboot | reboot の代わりに実行する代替のコマンドです。標準的なコマンドに対応していないデバイスや別のコマンドを提供しているデバイスがあります。このような場合、このパラメーターを使って再起動の動作を実行するデバイス固有の代替コマンドを指定します。
pcmk_reboot_timeout | 時間 | 60s | stonith-timeout の代わりに再起動の動作に対して使用する代替タイムアウトです。再起動が完了するまでに通常より長い時間を要するデバイスもあれば通常より短い時間で完了するデバイスもあります。再起動の動作に対してデバイス固有の代替タイムアウトを指定する場合に使用します。
pcmk_reboot_retries | 整数 | 2 | タイムアウト期間内で reboot コマンドを再試行させる最大回数です。複数接続に対応していないデバイスがあります。別のタスクでビジー状態になるとデバイスが動作に失敗する場合があるため、Pacemaker は残り時間内で動作を自動的に再試行させます。Pacemaker による再起動の動作の再試行回数を変更する場合に使用します。
pcmk_off_action | 文字列 | オフ | off の代わりに実行する代替コマンドです。標準的なコマンドに対応していないデバイスや別のコマンドを提供しているデバイスがあります。このような場合、このパラメーターを使ってオフの動作を実行するデバイス固有の代替コマンドを指定します。
pcmk_off_timeout | 時間 | 60s | stonith-timeout の代わりにオフの動作に対して使用する代替タイムアウトです。オフに通常より長い時間を要するデバイスもあれば通常より短い時間でオフするデバイスもあります。オフの動作に対してデバイス固有の代替タイムアウトを指定する場合に使用します。
pcmk_off_retries | 整数 | 2 | タイムアウト期間内で off コマンドを再試行させる最大回数です。複数接続に対応していないデバイスがあります。別のタスクでビジー状態になるとデバイスが動作に失敗する場合があるため、Pacemaker は残り時間内で動作を自動的に再試行させます。Pacemaker によるオフ動作の再試行回数を変更する場合に使用します。
pcmk_list_action | 文字列 | list | list の代わりに実行する代替のコマンドです。標準的なコマンドに対応していないデバイスや別のコマンドを提供しているデバイスがあります。このような場合、このパラメーターを使って list の動作を実行するデバイス固有の代替コマンドを指定します。
pcmk_list_timeout | 時間 | 60s | stonith-timeout の代わりに list の動作に対して使用する代替タイムアウトです。list の完了に通常より長い時間を要するデバイスもあれば通常より短い時間で list するデバイスもあります。list の動作に対してデバイス固有の代替タイムアウトを指定する場合に使用します。
pcmk_list_retries | 整数 | 2 | タイムアウト期間内で list コマンドを再試行させる最大回数です。複数接続に対応していないデバイスがあります。別のタスクでビジー状態になるとデバイスが動作に失敗する場合があるため、Pacemaker は残り時間内で動作を自動的に再試行させます。Pacemaker による list 動作の再試行回数を変更する場合に使用します。
pcmk_monitor_action | 文字列 | monitor | monitor の代わりに実行する代替のコマンドです。標準的なコマンドに対応していないデバイスや別のコマンドを提供しているデバイスがあります。このような場合、このパラメーターを使ってモニタリングの動作を実行するデバイス固有の代替コマンドを指定します。
pcmk_monitor_timeout | 時間 | 60s | stonith-timeout の代わりにモニターの動作に対して使用する代替タイムアウトです。モニターに通常より長い時間を要するデバイスもあれば通常より短い時間でオフするデバイスもあります。モニターの動作に対してデバイス固有の代替タイムアウトを指定する場合に使用します。
pcmk_monitor_retries | 整数 | 2 | タイムアウト期間内で monitor コマンドを再試行させる最大回数です。複数接続に対応していないデバイスがあります。別のタスクでビジー状態になるとデバイスが動作に失敗する場合があるため、Pacemaker は残り時間内で動作を自動的に再試行させます。Pacemaker によるモニター動作の再試行回数を変更する場合に使用します。
pcmk_status_action | 文字列 | status | status の代わりに実行する代替のコマンドです。標準的なコマンドに対応していないデバイスや別のコマンドを提供しているデバイスがあります。このような場合、このパラメーターを使って status の動作を実行するデバイス固有の代替コマンドを指定します。
pcmk_status_timeout | 時間 | 60s | stonith-timeout の代わりに status の動作に対して使用する代替タイムアウトです。status に通常より長い時間を要するデバイスもあれば通常より短い時間でオフするデバイスもあります。status の動作に対してデバイス固有の代替タイムアウトを指定する場合に使用します。
pcmk_status_retries | 整数 | 2 | タイムアウト期間内で status コマンドを再試行させる最大回数です。複数接続に対応していないデバイスがあります。別のタスクでビジー状態になるとデバイスが動作に失敗する場合があるため、Pacemaker は残り時間内で動作を自動的に再試行させます。Pacemaker による status 動作の再試行回数を変更する場合に使用します。

⁠4.10. フェンスのレベルを設定する

Pacemaker はフェンストポロジーと呼ばれる機能で複数のフェンスデバイスを搭載したノードの排他処理に対応します。トポロジーを実装する場合は通常通りにそれぞれのフェンスデバイスを作成した後、設定内のフェンストポロジーセクションでフェンスレベルの指定を行います。

各レベルは 1 から昇順で試行されていきます。

任意のフェンスデバイスに障害が発生すると、現行レベルの排他処理は終了します。同レベルのデバイスには試行されず、次のレベルが試行されます。

すべてのデバイスの排他処理が正常に完了するとそのレベルが継承され他のレベルは試行されません。

任意のレベルで成功するまたはすべてのレベルが試行される (失敗する) と動作は終了します。

ノードにフェンスレベルを追加する場合に次のコマンドを使用します。複数デバイスの指定は stonith ID を使ってコンマで区切ります。指定されたデバイスが指定されたレベルで試行されます。

pcs stonith level add level node devices

次のコマンドを使用すると現在設定されている全フェンスレベルが表示されます。

pcs stonith level

次の例では、rh7-2 と言うノードに my_ilo という ilo デバイスと my_apc という apc デバイスの 2 種類のフェンスデバイスが設定されています。my_ilo デバイスに障害が発生しノードの排他処理が行えなくなった場合は my_apc デバイスが使用されるようフェンスレベルが設定されています。また、次の例ではフェンスレベルの設定をした後に発行した pcs stonith level コマンドの出力も示しています。

# pcs stonith level add 1 rh7-2 my_ilo
# pcs stonith level add 2 rh7-2 my_apc
# pcs stonith level
 Node: rh7-2
  Level 1 - my_ilo
  Level 2 - my_apc

次のコマンドは指定ノードとデバイスから指定のフェンスレベルを削除します。ノードやデバイスを指定していないと全ノードから指定のフェンスレベルが削除されます。

pcs stonith level remove level [node_id] [stonith_id] ... [stonith_id]

次のコマンドを使用すると指定ノードや stonith id のフェンスレベルが消去されます。ノードや stonith id を指定しないと全フェンスレベルが消去されます。

pcs stonith level clear [node|stonith_id(s)]

複数の stonith IDを指定する場合はコンマで区切って指定します。空白は入れないでください。例を示します。

# pcs stonith level clear dev_a,dev_b

次のコマンドで定義したフェンスデバイスとノードが実際に存在しているか確認します。

pcs stonith level verify

⁠第5章 クラスターリソースの設定

本章ではクラスター内にリソースを設定する方法について説明していきます。

⁠5.1. リソースの作成

次のコマンドを使用してクラスターリソースを作成します。

pcs resource create resource_id standard:provider:type|type [resource options]
[op operation_action operation_options [operation_action  operation_options]...]
[meta meta_options...] [--clone clone_options |
--master master_options | --group group_name
[--before  resource_id | --after resource_id]] [--disabled]

--group オプションを指定すると、リソースはその名前のリソースグループへ追加されます。指定のグループが存在しない場合、グループが作成され、グループにリソースが追加されます。リソースグループの詳細は、「リソースグループ」 を参照してください。

--before および --after オプションは、リソースグループにすでに存在するリソースを基準として、追加されたリソースの相対的な位置を指定します。

--disabled オプションを指定すると、リソースが自動的に起動されません。

以下のコマンドを実行すると VirtualIP という名前のリソースが作成され、標準 ocf、heartbeat プロバイダー、および IPaddr2 タイプが指定されます。このリソースのフローティングアドレスは 192.168.0.120 で、システムはリソースが 30 秒ごとに実行されることをチェックします。

# pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.120 cidr_netmask=24 op monitor interval=30s

standard と provider のフィールドを省略して次のようにすることもできます。標準とプロバイダーはそれぞれ ocf と heartbeat にデフォルト設定されます。

# pcs resource create VirtualIP IPaddr2 ip=192.168.0.120 cidr_netmask=24 op monitor interval=30s

設定したリソースを削除する場合は次のコマンドを使用します。

pcs resource delete resource_id

例えば、次のコマンドでは VirtualIP というリソース ID の既存リソースを削除しています。

# pcs resource delete VirtualIP

pcs resource create コマンドのフィールド、resource_id、standard、provider、type については 「リソースのプロパティー」 を参照してください。

リソースごとにパラメーターを指定する方法については 「リソース固有のパラメーター」 を参照してください。

リソースの動作をクラスターが決定する場合に使用するリソースのメタオプションを定義する方法については 「リソースのメタオプション」 を参照してください。

リソースで行う動作を定義する方法については 「リソースの動作」 を参照してください。

--clone を指定するとクローンリソースが作成されます。--master を指定するとマスター/スレーブリソースが作成されます。リソースのクローンや、複数モードのリソースに関する詳細は、8章高度なリソースタイプ を参照してください。

⁠5.2. リソースのプロパティー

リソースに定義するプロパティを使ってリソースに使用するスクリプト、スクリプトの格納先、準拠すべき標準をクラスターに指示します。表5.1「リソースのプロパティー」 に詳細を示します。

⁠

表5.1 リソースのプロパティー

フィールド
説明

resource_id

リソースの名前

standard

スクリプトが準拠する標準、使用できる値: ocf、service、upstart、systemd、lsb、stonith

type

使用するリソースエージェントの名前、例えば IPaddr、Filesystem など

provider

OCF 仕様により複数のベンダーで同じ ResourceAgent が供給可能、Red Hat で配信するエージェントのほとんどはプロバイダーに heartbeat を使用

リソースのプロパティ表示に使用するコマンドは 表5.2「リソースプロパティを表示させるコマンド」 を参照してください。

⁠

表5.2 リソースプロパティを表示させるコマンド

pcs 表示コマンド | 出力
pcs resource list | 利用できる全リソースの一覧を表示
pcs resource standard | 利用できるリソースエージェントの標準を表示
pcs resource providers | 利用できるリソースエージェントのプロバイダーを表示
pcs resource list string | 利用できるリソースを指定文字列でフィルターした一覧を表示、標準名、プロバイダー名、タイプ名などでフィルターした一覧を表示させることが可能

⁠5.3. リソース固有のパラメーター

次のコマンドを使用するとリソースごとに設定できるパラメーターを表示させることができます。

# pcs resource describe standard:provider:type|type

例えば、次のコマンドでは LVM タイプのリソースに設定できるパラメーターを表示しています。

# pcs resource describe LVM
Resource options for: LVM
  volgrpname (required): The name of volume group.
  exclusive: If set, the volume group will be activated exclusively.
  partial_activation: If set, the volume group will be activated even
  only partial of the physicalvolumes available. It helps to set to
  true, when you are using mirroring logical volumes.

⁠5.4. リソースのメタオプション

リソース固有のパラメーターの他にも追加のリソースオプションを設定することができます。オプションはリソースの動作を決定するためクラスターによって使用されます。表5.3「リソースのメタオプション」 に詳細を示します。

⁠

表5.3 リソースのメタオプション

フィールド
デフォルト
説明

priority

0

すべてのリソースを実行できない場合は優先度の高いリソースの実行を維持するため低い方のリソースを停止します

target-role

Started

維持するリソースの状態、使用できる値:

* Stopped - リソースの強制停止

* Started - リソースの起動を許可 (多状態リソースの場合マスターには昇格されません)

* Master - リソースの起動を許可、また適切であれば昇格されます

is-managed

true

クラスターによるリソースの起動と停止を許可または許可しない、使用できる値: true、false

resource-stickiness

0

リソースをそのノードに留まらせる優先度の値

requires

Calculated

リソースの起動を許可する条件

以下の条件の場合を除き fencing にデフォルト設定、可能な値:

* nothing - クラスターによるリソースの起動を常に許可

* quorum - 設定されているノードの過半数がアクティブな場合にのみクラスターによるこのリソースの起動を許可、stonith-enabled が false に設定されている、またはリソースの standard が stonith に設定されている場合はこのオプションがデフォルト

* fencing -設定されているノードの過半数がアクティブで 且つ 障害が発生しているノードや不明なノードの電源がすべてオフになっている場合にのみ、クラスターによるこのリソースの起動を許可

* unfencing - 設定されているノードの過半数がアクティブで 且つ 障害が発生しているノードや不明なノードの電源がすべてオフになっている場合にのみ アンフェンス が行われたノードに 限定 してこのリソースの起動を許可、フェンスデバイスに provides=unfencing stonith メタオプションが設定されていた場合はこれがデフォルト値 (provides=unfencing stonith メタオプションの詳細は 「ストレージベースのフェンスデバイスをアンフェンスを使って設定する」 を参照)

migration-threshold

INFINITY (無効)

任意のノードでの指定リソースの失敗回数、この回数を越えるとそのノードでの指定リソースのホストは不適格とする印が付けられる (migration-threshold オプションの設定は 「障害発生のためリソースを移動する」 を参照)

failure-timeout

0 (無効)

migration-threshold オプションと併用、障害は発生していなかったとして動作するまでに待機させる秒数、リソースの実行に失敗したノードで再度そのリソースの実行を許可する可能性がある (failure-timeout オプションの設定は 「障害発生のためリソースを移動する」 を参照)

multiple-active

stop_start

リソースが複数のノードで実行していることが検出された場合にクラスターに行わせる動作、使用できる値:

* block - リソースに unmanaged のマークを付ける

* stop_only - 実行しているインスタンスをすべて停止する (これ以上の動作は行わない)

* stop_start - 実行中のインスタンスをすべて停止してから一ヶ所でのみ起動する

リソースオプションのデフォルト値を変更する場合は次のコマンドを使用します。

pcs resource defaults options

例えば、次のコマンドでは resource-stickiness のデフォルト値を 100 にリセットしています。

# pcs resource defaults resource-stickiness=100

pcs resource defaults の options パラメーターを省略すると現在設定しているリソースオプションのデフォルト値の一覧を表示します。次の例では resource-stickiness のデフォルト値を 100 にリセットした後の出力を示しています。

# pcs resource defaults
resource-stickiness:100

リソースのメタオプションのデフォルト値をリセットしていたかいないかによって、リソース作成の際に特定リソースのリソースオプションをデフォルト以外の値に設定することができます。リソースのメタオプションの値を指定する時に使用する pcs resource create コマンドの形式を以下に示します。

pcs resource create resource_id standard:provider:type|type [resource options] [meta meta_options...]

例えば、次のコマンドでは resource-stickiness の値を 50 に設定したリソースを作成しています。

# pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.120 cidr_netmask=24 meta resource-stickiness=5O

また、次のコマンドを使用すると既存のリソース、グループ、クローン作成したリソース、マスターリソースなどのリソースメタオプションの値を作成することもできます。

pcs resource meta resource_id | group_id | clone_id | master_id  meta_options

次の例では、既存の dummy_resource と言うリソースに failure-timeout メタオプションの値を 20 秒に設定しているコマンドの例を示します。これにより 20 秒でリソースが同じノード上で再起動試行できるようになります。

# pcs resource meta dummy_resource failure-timeout=20s

上記のコマンドを実行した後、failure-timeout=20s が設定されているか確認するためリソースの値を表示させることができます。

# pcs resource show dummy_resource
 Resource: dummy_resource (class=ocf provider=heartbeat type=Dummy)
  Meta Attrs: failure-timeout=20s
  Operations: start interval=0s timeout=20 (dummy_resource-start-timeout-20)
              stop interval=0s timeout=20 (dummy_resource-stop-timeout-20)
              monitor interval=10 timeout=20 (dummy_resource-monitor-interval-10)

リソースの clone メタオプションについては 「リソースのクローン」 を参照してください。リソースの master メタオプションについては 「多状態のリソース: 複数モードのリソース」 を参照してください。

⁠5.5. リソースグループ

一緒に配置され、順番に起動され、逆順で停止される必要のあるリソースのセットは、クラスターの最も一般的な要素の 1 つです。この設定を簡単にするため、 Pacemaker はグループの概念をサポートします。

以下のコマンドを使用してリソースグループを作成し、グループに含まれるリソースを指定します。グループが存在しない場合は、このコマンドによってグループが作成されます。グループが存在する場合は、このコマンドによって追加のリソースがグループに追加されます。リソースは、このコマンドで指定された順序で起動され、その逆順で停止されます。

pcs resource group add group_name resource_id [resource_id] ... [resource_id]
[--before resource_id | --after resource_id

このコマンドの --before および --after オプションを使用すると、リソースグループにすでに存在するリソースを基準として、追加されたリソースの相対的な位置を指定できます。

また、以下のコマンドを使用するとリソースの作成時に新しいリソースを既存グループへ追加できます。作成するリソースは group_name というグループに追加されます。

pcs resource create resource_id standard:provider:type|type [resource_options] [op operation_action operation_options] --group group_name

以下のコマンドを使用してグループからリソースを削除します。グループにリソースがない場合、このコマンドはグループ自体を削除します。

pcs resource group remove group_name resource_id...

以下のコマンドは、現在設定されているリソースグループをすべて表示します。

pcs resource group list

以下の例では、既存リソースの IPaddr と Email が含まれる shortcut というリソースグループが作成されます。

# pcs resource group add shortcut IPaddr Email

グループに含まれるリソースの数に制限はありません。グループの基本的なプロパティーは次のとおりです。

リソースは指定された順序で起動されます (この例では、最初に Public-IP が起動された後、Email が起動されます)。

リソースは指定された順序の逆順で停止されます (Email が停止された後、Public-IP が停止されます)。

グループのリソースの 1 つを実行できない場合、そのリソースの後に指定されたリソースは実行できません。

Public-IP を実行できない場合は Email も実行できません。

Email を実行できなくても Public-IP には影響しません。

グループが大きくなると、リソースグループ作成の設定作業を軽減することが重要になります。

⁠5.5.1. グループオプション

リソースグループは、リソースグループに含まれるリソースから priority、target-role、および is-managed オプションを継承します。リソースオプションの詳細は 表5.3「リソースのメタオプション」 を参照してください。

⁠5.5.2. グループの Stickiness (粘着性)

Stickiness はリソースが現在の場所に留まりたい度合いを示し、グループで加算されます。グループのアクティブなリソースが持つ stickness 値の合計は、グループの合計になります。そのため、resource-stickiness のデフォルト値が 100 で、グループに 7 つのメンバーがあり、そのメンバーの 5 つがアクティブな場合、グループ全体のスコアは 500 になります。

⁠5.6. リソースの動作

リソースに健全性を維持させるためリソースの定義にモニタリングの動作を追加することができます。モニタリングの動作を指定しないと、pcs コマンドはデフォルトでモニタリングの動作を作成します。モニタリングの間隔はリソースエージェントで確定されます。リソースエージェントでデフォルトのモニタリング間隔が提供されない場合は pcs コマンドにより 60 秒間隔のモニタリング動作が作成されます。

表5.4「動作のプロパティ」 にリソースのモニタリング動作のプロパティを示します。

⁠

表5.4 動作のプロパティ

フィールド
説明

id

動作に固有となる名前、動作を設定するとシステムによって割り当てられる

name

実行する動作、一般的な値:monitor、start、stop

interval

動作実行の頻度 (秒単位)、デフォルト値:0 (なし)

timeout

動作が失敗したことを示すまでの待機時間 (起動、停止および起動時の反復性のないモニタリング動作の実行などに時間がかかるリソースがシステムに含まれていることが確認され、起動動作に失敗したことを示すまでにシステムが許容している以上に時間を要する場合にはこの値をデフォルト値 20 または "op defaults" に指定されている timeout 値から増やします)

on-fail

この動作が失敗した場合に実行する動作、使用できる値:

* ignore - リソースが失敗していなかったように振る舞う

* block - リソースでこれ以上、一切の動作を行わない

* stop - リソースを停止して別の場所で起動しない

* restart - リソースを停止してから再起動する (おそらく別の場所)

* fence - 失敗したリソースがあるノードを STONITH する

* standby - 失敗したリソースがあるノード上の すべてのリソース を移動させる

STONITH が有効でblock に設定されていると stop 動作のデフォルトは fence になります。これ以外は restart にデフォルト設定されます。

enabled

false に設定するとその動作はないものとして処理される、使用できる値: true、false

次のコマンドでリソースを作成するとモニタリングの動作を設定することができます。

pcs resource create resource_id standard:provider:type|type [resource_options] [op operation_action operation_options [operation_type operation_options]...]

例えば、次のコマンドはモニタリング動作付きの IPaddr2 リソースを作成します。新しいリソースには VirtualIP という名前が付けられ、eth2 で IP アドレス 192.168.0.99、ネットマスク 24 になります。モニタリング動作は 30 秒毎に実施されます。

# pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.99 cidr_netmask=24 nic=eth2 op monitor interval=30s

# pcs resource create my_address IPaddr2 ip=10.20.30.40 cidr_netmask=24 op monitor

また、次のコマンドで既存のリソースにモニタリング動作を追加することもできます。

pcs resource op add resource_id operation_action [operation_properties]

設定されているリソースの動作を削除する場合は次のコマンドを使用します。

pcs resource op remove resource_id operation_name operation_properties

注記

既存の動作を確実に削除するため正確な動作プロパティを指定してください。

モニタリングオプションの値を変更する場合は既存の動作を削除してから新しい動作を追加します。例えば、次のコマンドでは VirtualIP を作成しています。

# pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.99 cidr_netmask=24 nic=eth2

デフォルトでは次の動作を作成します。

Operations: start interval=0s timeout=20s (VirtualIP-start-timeout-20s)
            stop interval=0s timeout=20s (VirtualIP-stop-timeout-20s)
            monitor interval=10s timeout=20s (VirtualIP-monitor-interval-10s)

stop の timeout 動作を変更する場合は次のコマンドを実行します。

# pcs resource op remove VirtualIP stop interval=0s timeout=20s
# pcs resource op add VirtualIP stop interval=0s timeout=40s

# pcs resource show VirtualIP
 Resource: VirtualIP (class=ocf provider=heartbeat type=IPaddr2)
  Attributes: ip=192.168.0.99 cidr_netmask=24 nic=eth2
  Operations: start interval=0s timeout=20s (VirtualIP-start-timeout-20s)
              monitor interval=10s timeout=20s (VirtualIP-monitor-interval-10s)
              stop interval=0s timeout=40s (VirtualIP-name-stop-interval-0s-timeout-40s)

モニタリング動作にグローバルのデフォルト値を設定する場合は次のコマンドを使用します。

pcs resource op defaults [options]

例えば、次のコマンドはすべてのモニタリング動作にグローバルデフォルトの timeout 値を 240s で設定しています。

# pcs resource op defaults timeout=240s

現在設定されているモニタリング動作のデフォルト値を表示させる場合はオプションを付けずに pcs resource op defaults コマンドを実行します。

例えば、次のコマンドは timeout が 240s で設定されているクラスターのモニタリング動作のデフォルト値を表示しています。

# pcs resource op defaults
timeout: 240s

⁠5.7. 設定されているリソースの表示

設定されているリソースの全一覧を表示する場合は次のコマンドを使用します。

pcs resource show

例えば、VirtualIP と言う名前のリソースと WebSite という名前のリソースでシステムを設定していた場合、pcs resource show コマンドを実行すると次のような出力が得られます。

# pcs resource show
 VirtualIP	(ocf::heartbeat:IPaddr2):	Started
 WebSite	(ocf::heartbeat:apache):	Started

設定されているリソース、そのリソースに設定されているパラメーターの一覧を表示する場合は、次のように pcs resource show コマンドの --full オプションを使用します。

# pcs resource show --full
 Resource: VirtualIP (type=IPaddr2 class=ocf provider=heartbeat)
  Attributes: ip=192.168.0.120 cidr_netmask=24
  Operations: monitor interval=30s
 Resource: WebSite (type=apache class=ocf provider=heartbeat)
  Attributes: statusurl=http://localhost/server-status configfile=/etc/httpd/conf/httpd.conf
  Operations: monitor interval=1min

設定されているリソースのパラメーターを表示する場合は次のコマンドを使用します。

pcs resource show resource_id

例えば、次のコマンドは現在設定されているリソース VirtualIP のパラメーターを表示しています。

# pcs resource show VirtualIP
 Resource: VirtualIP (type=IPaddr2 class=ocf provider=heartbeat)
  Attributes: ip=192.168.0.120 cidr_netmask=24
  Operations: monitor interval=30s

⁠5.8. リソースパラメーターの変更

設定されているリソースのパラメーターを変更する場合は次のコマンドを使用します。

pcs resource update resource_id [resource_options]

設定されているリソース VirtualIP のパラメーターの値を示すコマンドと初期値を表示している出力、ip パラメーターの値を変更するコマンド、変更されたパラメーター値を表示している出力を以下に示します。

# pcs resource show VirtualIP
 Resource: VirtualIP (type=IPaddr2 class=ocf provider=heartbeat)
  Attributes: ip=192.168.0.120 cidr_netmask=24
  Operations: monitor interval=30s
# pcs resource update VirtualIP ip=192.169.0.120
# pcs resource show VirtualIP
 Resource: VirtualIP (type=IPaddr2 class=ocf provider=heartbeat)
  Attributes: ip=192.169.0.120 cidr_netmask=24
  Operations: monitor interval=30s

⁠5.9. 複数のモニタリング動作

リソースエージェントが対応する範囲で一つのリソースに複数のモニタリング動作を設定することができます。これにより毎分、表面的なヘルスチェックを行ったり、徐々に頻度を上げてより正確なチェックを行うこともできます。

注記

複数のモニタリング動作を設定する場合は 2 種類の動作が同じ間隔で実行されないよう注意してください。

リソースに異なるレベルで徹底的なヘルスチェックに対応する追加モニタリング動作を設定するには OCF_CHECK_LEVEL=n オプションを追加します。

例えば、 以下のように IPaddr2 リソースを設定するとデフォルトでは 10 秒間隔でタイムアウト値が 20 秒のモニタリング動作が作成されます。

# pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.99 cidr_netmask=24 nic=eth2

仮想 IP で深さ 10 の異なるチェックに対応する場合は、次のコマンドを発行すると Packemaker で 10 秒間隔の通常仮想 IP チェックの他に 60 秒間隔の高度なモニタリングチェックが実行されるようになります。(説明されているように 10 秒間隔の追加モニタリング動作は設定しないでください。)

# pcs resource op add VirtualIP monitor interval=60s OCF_CHECK_LEVEL=10

⁠5.10. クラスターリソースの有効化と無効化

次のコマンドは resource_id で指定されているリソースを有効にします。

pcs resource enable resource_id

次のコマンドは resource_id で指定されているリソース無効にします。

pcs resource disable resource_id

⁠5.11. クラスターリソースのクリーンアップ

リソースに障害が発生すると、クラスターの状態を表示するときに障害メッセージが表示されます。このリソースを解決する場合、pcs resource cleanup コマンドで障害状態を消去できます。このコマンドはリソースの状態と障害数をリセットし、リソースの動作履歴を消去して現在の状態を再検出するようクラスターに指示します。

以下のコマンドは、resource_id によって指定されたリソースをクリーンアップします。

pcs resource cleanup resource_id

resource_id を指定しないと、このコマンドはすべてのリソースのリソース状態と障害数をリセットします。

⁠第6章 リソースの制約

リソースの制約を設定することでクラスター内のそのリソースの動作を決めることができます。設定できる制約は以下のカテゴリーになります。

location 制約 — 場所の制約はリソースを実行できるノードを決めます。場所の制約については「場所の制約」 で説明しています。

order 制約 — 順序の制約はリソースが実行される順序を決めます。順序の制約については 「順序の制約」 で説明しています。

colocation 制約 — コロケーションの制約は他のリソースと相対的となるリソースの配置先を決めます。コロケーションの制約については 「リソースのコロケーション」 で説明しています。

複数リソース一式を一緒に配置、それらを順番に起動させ、また逆順で停止させるため複数の制約を設定する場合、その簡易な方法として Pacemaker ではリソースグループという概念に対応しています。リソースグループについては 「リソースグループ」 を参照してください。

⁠6.1. 場所の制約

場所の制約ではリソースを実行させるノードを指定します。場所の制約を設定することで特定のノードで優先してリソースを実行する、または特定のノードでのリソースの実行を避けるなどの指定を行うことができます。

表6.1「場所の制約オプション」 では場所の制約を設定する場合のオプションについて簡単に示します。

⁠

表6.1 場所の制約オプション

フィールド
説明

rsc

リソース名

node

ノード名

score

優先度を示す値、任意のノードでのリソースの実行を優先または避ける

INFINITY の値は "すべき" から "しなければならない" に変化、INFINITY がリソースの場所制約のデフォルト score 値

次のコマンドはリソースが指定ノードで優先して実行される場所の制約を作成します。

pcs constraint location rsc prefers node[=score] ...

次のコマンドはリソースが指定ノードを避けて実行される場所の制約を作成します。

pcs constraint location rsc avoids node[=score] ...

リソースの実行を許可するノード指定には上記以外にも 2 種類の方法があります。

オプトインクラスター — クラスターを設定し、デフォルトではいずれのノードでもリソース実行を許可せず、特定のリソース用に選択的に許可ノードを有効にします。オプトインクラスターの設定方法は 「「オプトイン」のクラスターを設定する」 で説明しています。

オプトアウトクラスター — クラスターを設定し、デフォルトでは全ノードでリソース実行を許可してから、特定ノードでの実行を許可しない場所の制約を作成します。オプトアウトクラスターの設定方法は 「「オプトアウト」のクラスターを設定する」 で説明しています。

オプトインまたはオプトアウトのクラスターを設定するかどうかはユーザーの嗜好やクラスターの構成により異なるところです。ほとんどのリソースをほとんどのノードで実行させて構わない場合はオプトアウトのクラスター設定を行うとシンプルな設定になるでしょう。一方、ほとんどのリソースの実行を限定的な複数ノードに限るような場合にはオプトインのクラスター設定を行うとシンプルな設定になります。

⁠6.1.1. 「オプトイン」のクラスターを設定する

オプトインクラスターを作成する場合はクラスタープロパティ symmetric-cluster を false に設定してデフォルトではリソースの実行をいずれのノードでも許可しないようにします。

# pcs property set symmetric-cluster=false

リソースごとにノードを有効にします。次のコマンドは場所の制約を設定するため、Webserver リソースは example-1 ノードでの実行を優先させ、Database リソースは example-2 ノードでの実行を優先させるようになります。また、いずれのリソースも優先ノードに障害が発生した場合は example-3 ノードにフェールオーバーすることができます。

# pcs constraint location Webserver prefers example-1=200
# pcs constraint location Webserver prefers example-3=0
# pcs constraint location Database prefers example-2=200
# pcs constraint location Database prefers example-3=0

⁠6.1.2. 「オプトアウト」のクラスターを設定する

オプトアウトクラスターを作成する場合はクラスタープロパティ symmetric-cluster を true に設定しデフォルトではリソースの実行をすべてのノードに許可します。

# pcs property set symmetric-cluster=true

次のコマンドを実行すると 「「オプトイン」のクラスターを設定する」 の例と同じ設定になります。全ノードの score は暗黙で 0 になるため、優先ノードに障害が発生した場合はいずれのリソースも example-3 ノードにフェールオーバーすることができます。

# pcs constraint location Webserver prefers example-1=200
# pcs constraint location Webserver avoids example-2=INFINITY
# pcs constraint location Database avoids example-1=INFINITY
# pcs constraint location Database prefers example-2=200

上記コマンドでは score に INFINITY を指定する必要はありません。INFINITY が score のデフォルト値になります。

⁠6.2. 順序の制約

順序の制約はリソースの実行順序を指定します。順序の制約を設定することでリソースの起動と停止の順序を指定することができます。

次のコマンドを使って順序の制約を設定します。

pcs constraint order [action] resource_id then [action] resource_id [options]

表6.2「順序の制約のプロパティ」 では順序の制約を設定する場合のプロパティとオプションについて簡単に示します。

⁠

表6.2 順序の制約のプロパティ

フィールド
説明

resource_id

動作を行うリソースの名前

action

リソースで行う動作、action プロパティで使用できる値:

* start - リソースを起動する

* stop - リソースを停止する

* promote - スレーブリソースからマスターリソースにリソースの昇格を行う

* demote - マスターリソースからスレーブリソースにリソースの降格を行う

動作を指定しないとデフォルトの動作 start が設定されます。マスターリソースとスレーブリソースについての詳細は 「多状態のリソース: 複数モードのリソース」 を参照してください。

kind オプション

制約の実施方法、kind オプションで使用できる値:

* Optional - いずれのリソースも起動中や停止中の場合にのみ適用 (「勧告的な順序付け」 を参照)

* Mandatory - 常に実施 (デフォルト値)、1 番目に指定したリソースが停止しているまたは起動できない場合、2 番目に指定されているリソースを停止しなければなりません (「強制的な順序付け」 を参照)

* Serialize - リソースセットに対して 2 種類の動作、停止と起動が同時に発生しないようにする

symmetrical オプション

デフォルトの true に設定されていると逆順でリソースの停止を行ないます。デフォルト値: true

⁠6.2.1. 強制的な順序付け

mandatory 制約では 1 番目に指定しているリソースが実行されない限り 2 番目に指定しているリソースは実行できません。 これが kind オプションのデフォルトです。デフォルト値のままにしておくと 1 番目に指定しているリソースの状態が変化した場合、2 番目に指定したリソー スが必ず反応するようになります。

1 番目に指定している実行中のリソースを停止すると 2 番目に指定しているリソースも停止されます (実行していれば)。

1 番目に指定しているリソースが実行されていない状態でまた起動できない場合には 2 番目に指定しているリソースが停止されます (実行していれば)。

2 番目に指定しているリソースの実行中に 1 番目に指定しているリソースが再起動されると、2 番目に指定しているリソースが停止され再起動されます。

⁠6.2.2. 勧告的な順序付け

kind=Optional のオプションを順序の制約で指定すると、その制約はオプションとみなされ両方のリソースが停止中または起動中の場合にのみ適用されます。1 番目に指定しているリソースの状態が変化しても 2 番目に指定しているリソースには影響しません。

次のコマンドは VirtualIP リソースと dummy_resource リソースに勧告的な順序付けの制約を設定しています。

# pcs constraint order VirtualIP then dummy_resource kind=Optional

⁠6.2.3. 順序付けされたリソースセット

一般的な状況として管理者は複数リソースの順序付けで連鎖して動作するリソースチェーンを作成します。例えば、リソース A が起動してからリソース B が起動、リソース B が起動してからリソース C が起動するというような連鎖です。このような連鎖して動作するチェーンは次のコマンドで設定します。複数のリソースが指定した順序で起動するようになります。

pcs constraint order set コマンドを使用すると、リソースのセットに順序の制約を作成できます。

pcs constraint order set コマンドの options パラメーターの後に、リソースのセットに対する以下のオプションを設定できます。

sequential: true または false に設定でき、併置されたリソースのセットが順序付けされたセットであるかどうかを示します。

require-all: true または false を設定でき、セットのすべてのリソースが起動する必要があるかどうかを示します。

action: 表6.2「順序の制約のプロパティ」 の説明どおり、start、promote、demote、または stop に設定できます。

role: Stopped、Started、Master、または Slave に設定できます。マルチステートリソースの詳細は 「多状態のリソース: 複数モードのリソース」 を参照してください。

pcs constraint order set コマンドの setoptions パラメーターの後に、リソースのセットに対する以下の制約オプションを設定できます。

id: 定義する制約の名前を指定します。

score: 制約の優先度を示します。このオプションの詳細は 表6.3「コロケーション制約のプロパティ」 を参照してください。

pcs constraint order set resource1 resource2 [resourceN]... [options] [set resourceX resourceY ... [options]] [setoptions [constraint_options]]

D1、D2、D3 という 3 つのリソースがあると仮定した場合、次のコマンドはこの 3 つのリソースを順序付けされたひとつのリソースセットとして設定します。

# pcs constraint order set D1 D2 D3

⁠6.2.4. 順序の制約からリソースを削除する

次のコマンドを使用するとすべての順序の制約からリソースを削除します。

pcs constraint order remove resource1 [resourceN]...

⁠6.3. リソースのコロケーション

任意のリソースの場所を別のリソースの場所に依存するよう定義するのがコロケーションの制約です。

2 つのリソース間にコロケーションの制約を作成する場合は重要な副作用がある点に注意してください。ノードにリソースを割り当てる順序に影響します。つまり、リソース B の場所がわからないとリソース B に相対的となるようリソース A を配置することはできません。このため、コロケーションの制約を作成する場合は、リソース A をリソース B に対してコロケートするのか、リソース B をリソース A に対してコロケートするのかが重要となります。

また、コロケーションの制約を作成する際に注意しておきたい事項がもう一つあります。リソース A をリソース B に対してコロケートすると仮定した場合、クラスターはリソース B に選択するノードを決定する際、リソース A の優先傾向も考慮に入れます。

次のコマンドはコロケーションの制約を作成します。

pcs constraint colocation add [master|slave] source_resource with [master|slave] target_resource [score] [options]

マスターリソース、スレーブリソースの詳細は 「多状態のリソース: 複数モードのリソース」 を参照してください。

表6.3「コロケーション制約のプロパティ」 にコロケーション制約設定用のプロパティおよびオプションを示します。

⁠

表6.3 コロケーション制約のプロパティ

フィールド
説明

source_resource

コロケーションソース、制約の条件を満たせない場合はこのリソースの実行を全く許可しないと判断されることがあります。

target_resource

コロケーションターゲット、このリソースの実行先が最初に決定されてからソースリソースの実行先が決定されます。

score

正の値にするとリソースを同じノードで実行する、負の値にするとリソースを同じノードで実行しない設定になります。+ INFINITY がデフォルト値になります。つまり source_resource を target_resource と同じノードで実行させるということです。- INFINITY の値にすると source_resource を target_resource と同じノードで実行させないということになります。

⁠6.3.1. 強制的な配置

制約スコアが +INFINITY または -INFINITY の場合は常に強制的な配置が発生します。制約条件が満たされないと source_resource の実行が許可されません。score=INFINITY の場合、target_resource がアクティブではないケースが含まれます。

myresource1 を常に myresource2 と同じマシンで実行する場合は次のような制約を追加します。

# pcs constraint colocation add myresource1 with myresource2 score=INFINITY

INFINITY を使用しているため myresource2 がクラスターのいずれのノードでも実行できない場合には (理由の如何に関わらず) myresource1 の実行は許可されません。

また、逆の設定、つまり myresource1 が myresource2 と同じマシンでは実行できないようクラスターを設定することもできます。この場合は score=-INFINITY を使用します。

# pcs constraint colocation add myresource1 myresource2 with score=-INFINITY

-INFINITY を指定することで制約が結合しています。このため、実行できる場所として残っているノードで myresource2 がすでに実行されている場合には myresource1 はいずれのノードでも実行できなくなります。

⁠6.3.2. 勧告的な配置

必ず実行する場合や必ず実行しない場合が「強制的な配置」であれば「勧告的な配置」はある状況下で優先される場合を言います。制約のスコアが -INFINITY より大きく INFINITY より小さい場合、クラスターはユーザーの希望を優先しようとしますが、クラスターリソースを一部停止することを希望する場合は無視します。勧告的なコロケーション制約と設定の他の要素を組み合わせると、強制的であるように動作させることができます。

⁠6.3.3. 複数のリソースをコロケートする

pcs constraint colocation set コマンドを使用すると、リソースのセットにコロケーションの制約を作成できます。

pcs constraint colocation set コマンドの options パラメーターの後に、リソースのセットに対する以下のオプションを設定できます。

sequential: true または false に設定でき、併置されたリソースのセットが順序付けされたセットであるかどうかを示します。

require-all: true または false を設定でき、セットのすべてのリソースが起動する必要があるかどうかを示します。

action: 表6.2「順序の制約のプロパティ」 の説明どおり、start、promote、demote、または stop に設定できます。

role: Stopped、Started、Master、または Slave に設定できます。マルチステートリソースの詳細は 「多状態のリソース: 複数モードのリソース」 を参照してください。

pcs constraint colocation set コマンドの setoptions パラメーターの後に、リソースのセットに対する以下の制約オプションを設定できます。

kind: 制約の実行方法を示します。このオプションの詳細は 表6.2「順序の制約のプロパティ」 を参照してください。

symmetrical: リソースを停止する順序を示します。デフォルト値は true で、リソースを逆順で停止します。

id: 定義する制約の名前を指定します。

以下のコマンドは、リソースのセットにコロケーションの制約を作成します。

pcs constraint colocation set resource1 resource2 [resourceN]... [options] [set resourceX resourceY ... [options]] [setoptions [constraint_options]]

⁠6.3.4. コロケーション制約を削除する

コロケーション制約を削除する場合はコマンドに source_resource を付けて使用します。

pcs constraint colocation remove source_resource target_resource

⁠6.4. 制約の表示

設定した制約を表示させるコマンドがいくつかあります。

次のコマンドは現在の場所、順序、ロケーションの制約を表示します。

pcs constraint list|show

次のコマンドは現在の場所の制約を表示します。

resources を指定すると場所制約がリソースごとに表示されます。デフォルトの動作です。

nodes を指定すると場所制約がノードごとに表示されます。

特定のリソースまたはノードを指定するとそのリソースまたはノードの情報のみが表示されます。

pcs constraint location [show resources|nodes [specific nodes|resources]] [--full]

次のコマンドは現在の全順序制約を表示します。--full オプションを指定すると制約の内部 ID を表示します。

pcs constraint order show [--full]

次のコマンドは現在の全コロケーション制約を表示します。--full オプションを指定すると制約の内部 ID を表示します。

pcs constraint colocation show [--full]

次のコマンドは特定リソースを参照する制約を表示します。

pcs constraint ref resource ...

⁠第7章 クラスターリソースの管理

本章ではクラスターのリソース管理に使用する各種コマンドについて説明します。次のような手順が含まれます。

「リソースを手作業で移動する」

「障害発生のためリソースを移動する」

「クラスターのリソースを有効にする、無効にする、禁止する」

「モニタリングの動作を無効にする」

⁠7.1. リソースを手作業で移動する

クラスターの設定を無視して強制的にリソースを現在の場所から移動させることができます。次のような 2 タイプの状況が考えられます。

ノードのメンテナンスのためそのノードで実行中の全リソースを別のノードに移動する必要がある

リソースを一つだけ移動する必要がある

ノードで実行中の全リソースを別のノードに移動する場合はそのノードをスタンバイモードにします。クラスターノードをスタンバイモードにする方法については 「スタンバイモード」 を参照してください。

リソースを現在稼働しているノードから移動するには、以下のコマンドを使用し、定義どおりにノードの resource_id を指定します。

pcs resource move resource_id

移動するリソースを稼働する移動先のノードを指定するには、以下のコマンドを使用し、destination_node を指定します。

pcs resource move resource_id destination_node

元々実行していたノードにリソースを戻す場合は次のコマンドを使用し、クラスターが通常動作を再開できるようにします。move resource_id コマンドの制約が削除されます。

pcs resource clear resource_id [node]

pcs resource move コマンドを実行すると、元のノードでリソースが実行されないようにする制約が追加されます。pcs resource clear コマンドを実行するとこの制約が解除されますが、リソースが必ずしも元のノードに戻るわけではありません。この時点でリソースが実行できる場所は、最初にリソースがどのように設定されたかによって異なります。

任意で pcs resource move コマンドの lifetime パラメーターを設定すると、制限が維持される期間を指定できます。ISO 8601 に定義された形式に従って lifetime パラメーターの単位を指定できます。ISO 8601 では、Y (年)、M (月)、W (週)、D (日)、H (時)、M (分)、S (秒) のように、単位を大文字で指定する必要があります。

分単位の M と月単位の M を区別するには、分単位の値の前に PT を指定する必要があります。たとえば、5M の lifetime パラメーターは 5 カ月の間隔を示し、PT5M の lifetime パラメーターは 5 分の間隔を示します。

lifetime パラメーターは cluster-recheck-interval クラスタープロパティーによって定義された間隔でチェックされます。デフォルト値は 15 分です。このパラメーターを頻繁にチェックする必要がある場合、以下のコマンドを実行してこの値をリセットできます。

pcs property set cluster-recheck-interval=value

以下のコマンドは、リソース resource1 をノード example-node2 へ移動し、1 時間 30 分以内に元のノードへ戻らないようにします。

pcs resource move resource1 example-node2 lifetime=PT1H30M

以下のコマンドは、リソース resource1 をノード example-node2 へ移動し、30 分以内に元のノードへ戻らないようにします。

pcs resource move resource1 example-node2 lifetime=PT30M

リソースの制約の詳細は 6章リソースの制約 を参照してください。

⁠7.2. 障害発生のためリソースを移動する

リソースの作成時、リソースに migration-threshold オプションをセットし、セットした回数の障害が発生するとリソースが新しいノードに移動されるよう設定することができます。このしきい値に一旦達してしまうと、このノードは障害が発生したリソースを実行できなくなります。解除には以下が必要になります。

管理側で pcs resource failcount コマンドを使ったリソース障害回数のリセットを手作業で行う

リソースの failure-timeout 値に達する

デフォルトではしきい値は定義されません。

注記

リソースの migration-threshold を設定するのと、リソースの状態を維持しながら別の場所に移動させるリソースの移行設定とは異なります。

次の例では dummy_resource というリソースに移行しきい値 10 を追加しています。この場合、障害が 10 回発生するとそのリソースは新しいノードに移動されます。

# pcs resource meta dummy_resource migration-threshold=10

次のコマンドを使用するとクラスター全体にデフォルトの移行しきい値を追加することができます。

# pcs resource defaults migration-threshold=10

リソースの現在の障害回数とリミットを確認するには pcs resource failcount コマンドを使用します。

移行しきい値の概念には 2 種類の例外があります。リソース起動時の失敗と停止時の失敗です。起動時の失敗が発生すると障害回数が INFINITY に設定されるため、常にリソースの移動が直ちに行われることになります。

停止時の失敗は起動時とは若干異なり重大です。リソースの停止に失敗し STONITH が有効になっている場合、リソースを別のノードで起動できるようクラスターによるノードの排他処理が行われます。STONITH を有効にしていない場合にはクラスターに続行する手段がないため別のノードでのリソース起動は試行されません。ただし、障害タイムアウト後に停止が再度試行されます。

⁠7.3. 接続状態が変化したためリソースの移動を行う

外部の接続が失われた場合、次の 2 ステップでクラスターがリソースを移動するよう設定します。

クラスターに ping リソースを追加します。ping リソースは同じ名前のシステムユーティリティーを使って一覧のマシン (DNS ホスト名または IPv4/IPv6 アドレスで指定) へのアクセスが可能かをテストし、その結果を使って pingd というノード属性を維持管理します。

接続が失われたときに別のノードにリソースを移動させるためのリソース場所制約を設定します。

表5.1「リソースのプロパティー」 では ping リソースに設定できるプロパティを示します。

⁠

表7.1 ping リソースのプロパティ

フィールド
説明

dampen

さらに変化が起こった場合に備えて待機させる時間 (dampen)、ノードによって接続が失われたことを認識する時間にずれが生じた場合にクラスター内のノード間で何度も移動が行われないようにするための待機時間です

multiplier

接続している ping ノード数にこの値をかけてスコアを取得、ping ノードが複数設定されている場合に役立ちます

host_list

現在の接続状態を確認するため通信を行うマシン、解決可能な DNSホスト名、 IPv4 や IPv6 アドレスなどが値として使用できます

次のコマンド例では www.example.com への接続性を検証する ping リソースが作成されます。実際には使用しているネットワークのゲートウェイやルーターへの接続性を検証することになります。リソースがクラスターの全ノードで実行されるよう ping リソースはクローンとして設定します。

# pcs resource create ping ocf:pacemaker:ping dampen=5s multiplier=1000 host_list=www.example.com --clone

次の例では既存の Webserver と言うリソースに場所の制約ルールを設定しています。 Webserver リソースを現在実行しているホストが www.example.com に ping できない場合、www.example.com に ping できるホストに移動されます。

# pcs constraint location Webserver rule score=-INFINITY pingd lt 1 or not_defined pingd

⁠7.4. クラスターのリソースを有効にする、無効にする、禁止する

「リソースを手作業で移動する」 で説明している pcs resource move コマンドの他にもクラスターのリソース動作制御に使用できるコマンドが各種あります。

実行中のリソースを手作業で停止し、その後そのリソースがクラスターにより再起動されないようにする場合は次のコマンドを使用します。他の設定 (制約、オプション、障害など) によってはリソースが起動したままになることがあります。--wait オプションを指定すると pcs はリソースの停止を最長で 30 秒間 (または「n」を使って秒数を指定する) 待ってから、リソースが停止した場合には 0、リソースが停止しなかった場合には 1 を返します。

pcs resource disable resource_id [--wait[=n]]

クラスターによるリソースの起動を許可する場合は次のコマンドを使用します。他の設定によってはリソースが起動したままになることがあります。--wait オプションを指定すると pcs はリソースの停止を最長で 30 秒間 (または「n」を使って秒数を指定する) 待ってから、リソースが停止した場合には 0、リソースが停止しなかった場合には 1 を返します。

pcs resource enable resource_id [--wait[=n]]

指定したノードでリソースが実行されないようにする場合は次のコマンドを使用します。ノードを指定しないと現在実行中のノードになります。

pcs resource ban resource_id [node]

pcs resource ban コマンドを実行すると指定したノードでのリソースの実行を阻止する制約が追加されることになります。制約を取り除く場合は pcs resource clear を実行します。このコマンドは必ずしもリソースを指定ノードに戻すわけではありません。最初にどのようにリソースを設定したかにより、その時点で実行できるノードに移動されます。リソースの制約については 6章リソースの制約 を参照してください。

pcs resource clear resource_id [node]

指定したリソースを現在のノードで強制起動する場合は pcs resource コマンドの debug-start パラメーターを使用します。クラスターの推奨は無視され強制起動しているリソースからの出力を表示します。このコマンドは主にリソースをデバッグする際に使用されます。クラスターでのリソースの起動はほぼ毎回、Pacemaker で行われるため、直接 pcs コマンドを使った起動は行われません。リソースが起動しない場合、大抵はリソースが誤って設定されている、リソースが起動しないよう制約が設定されている、リソースが無効になっているのいずれかが原因です。このような場合に、このコマンドを使ってリソースの設定をテストすることができます。ただし、クラスター内でのリソースの通常起動には使用しないでください。

debug-start コマンドの形式を以下に示します。

pcs resource debug-start resource_id

⁠7.5. モニタリングの動作を無効にする

モニタリングが繰り返し起きないようにするにはその動作を削除するのが一番簡単な方法ですが、永久削除ではなく一時的に無効にしたい場合があります。このような場合には、動作の定義に enabled="false" を追加します。モニタリングの動作を復活させたい場合はenabled="true" を設定します。

⁠7.6. 管理リソース

リソースをアンマネージのモードに設定することができます。つまり、リソースは構成に含まれているが Pacemaker ではそのリソースの管理は行わないということです。

次のコマンドでは指定リソースをアンマネージのモードに設定します。

pcs resource unmanage resource1  [resource2] ...

次のコマンドではリソースをマネージのモードに設定します。これがデフォルトの状態です。

pcs resource manage resource1  [resource2] ...

pcs resource manage コマンドまたは pcs resource unmanage コマンドではリソースグループの名前を指定することができます。コマンドはグループ内の全リソースで動作するため、一つのコマンドでグループ内の全リソースをアンマネージモードまたはマネージモードにしてから、含まれているリソースを個別に管理することができます。

⁠第8章 高度なリソースタイプ

本章では Pacemaker で対応している高度なリソースタイプについて説明しています。

⁠8.1. リソースのクローン

リソースのクローンを作成することでそのリソースを複数のノードで実行することができます。たとえば、クローンのリソースを使って複数の IP インスタンスを設定しクラスターノード全体の負荷を分散します。リソースエージェントで対応しているリソースはすべてクローン作成が可能です。クローンとは 1 リソースまたは 1 リソースグループで構成されます。

注記

クローンに適しているのは同時に複数のノードで実行することができるリソースのみです。たとえば、共有ストレージデバイスから ext4 などのクラスター化していないファイルシステムをマウントする Filesystem リソースなどのクローンは作成しないでください。ext4 パーティションはクラスターを認識しないため、同時に複数のノードから繰り返し行われる読み取りや書き込み操作には適していません。

⁠8.1.1. クローンリソースの作成と削除

リソースの作成とそのリソースのクローン作成を同時に行う場合は次のコマンドを使用します。

pcs resource create resource_id standard:provider:type|type [resource options]  \
--clone  [meta clone_options]

クローンの名前は resource_id-clone になります。

リソースグループの作成とそのリソースグループのクローン作成は一つのコマンドではできません。

作成済みリソースまたはリソースグループのクローンは次のコマンドで作成できます。

pcs resource clone resource_id | group_name [clone_options]...

クローンの名前は resource_id-clone または group_name-clone になります。

注記

リソース設定の変更が必要なのは一つのノードのみです。

注記

制約を設定する場合はグループ名またはクローン名を必ず使用します。

リソースのクローンを作成すると、その名前はリソース名に -clone を付けた名前が付けられます。次のコマンドではタイプが apache の webfarm というリソースとそのクローンとして webfarm-clone というリソースを作成します。

# pcs resource create webfarm apache clone

リソースまたはリソースグループのクローンを削除する場合は次のコマンドを使用します。リソースやリソースグループ自体は削除されません。

pcs resource unclone resource_id | group_name

リソースオプションについては 「リソースの作成」 を参照してください。

クローンのリソースに指定できるオプションを 表8.1「クローンのリソース用オプション」 に示します。

⁠

表8.1 クローンのリソース用オプション

フィールド
説明

priority, target-role, is-managed

クローン元のリソースから継承されるオプション、表5.3「リソースのメタオプション」 を参照

clone-max

開始するリソースのコピー数、クラスター内のノード数がデフォルト設定

clone-node-max

単一ノードで起動可能なリソースのコピー数、デフォルト値は 1

notify

クローンのコピーの起動または停止を行う場合、動作の前と動作が正しく行われたときに他の全コピーに通知する、使用できる値: false、true (デフォルト値は false)

globally-unique

各クローンのコピーに異なる機能を行わせるかどうか、使用できる値: false、true

このオプションの値が false の場合はリソースが実行しているいずれのノードであってもすべて同じ動作を行うため、1 台のマシンごと実行できるクローンのコピーは 1 つ

このオプションの値が true の場合は任意のマシンで実行中のクローンのコピーは別のマシンまたは同じマシンで実行している他のコピーとは同じにならない、clone-node-max の値が「1」より大きい場合にはデフォルト値は true になり、これ以外の場合は false がデフォルト値になる

ordered

複数のコピーは順番に起動される (同時には起動しない)、使用できる値: false、true (デフォルト値は false)

interleave

順序の制約の動作を変更 (クローンとマスター間) 、クローンの 1 コピーが起動／停止したらそのクローンの残りのコピーの起動／停止を待たなくても同じノードにある別のクローンのコピーは起動／停止を開始できる、使用できる値: false、true (デフォルト値は false)

⁠8.1.2. 制約のクローン作成

ほとんどの場合、アクティブなクラスターノードに対してクローンのコピーはひとつです。ただし、clone-max にはクラスター内のノード合計数より小さい数をリソースのクローン数の値として設定することができます。この場合、リソースの場所制約を付けたコピーを優先的に割り当てるノードを示すことができます。クローンの ID を使用する点以外、制約は通常のリソースの場合と全く変わらずクローンに記述されます。

次のコマンドでは場所の制約を作成し、リソースのクローン webfarm-clone が node1 に優先的に割り当てられるようにしています。

# pcs constraint location webfarm-clone prefers node1

順序の制約の動作はクローンの場合、若干異なります。以下の例では、webfarm-stats は先に起動すべき webfarm-clone のコピーがすべて起動完了するのを待ってから起動します。起動できる webfarm-clone のコピーがない場合にのみ webfarm-stats の作動が阻止されます。また、停止の場合には webfarm-clone は webfarm-stats が停止完了するのを待ってから停止します。

# pcs constraint order start webfarm-clone then webfarm-stats

通常のリソース (またはリソースグループ) をクローンとコロケートすると、そのリソースはクローンの複数コピーが実行されている複数マシンいずれでも実行できるということになります。どのコピーが実行しているマシンでそのリソースを実行させるかはクローンが実行している場所とそのリソース自体の場所の優先度に応じて選択されます。

クローン同士でのコロケーションも可能です。この場合、クローンに対して許可できる場所はそのクローンが実行中のノード (または実行するノード) に限定されます。割り当ては通常通り行われます。

次のコマンドでは場所の制約を作成して、webfarm-stats リソースが必ず webfarm-clone の実行中のコピーと同じノードで実行されるようにしています。

# pcs constraint colocation add webfarm-stats with webfarm-clone

⁠8.1.3. 粘着性のクローン作成

安定性のある割り当てパターンにするためクローンはデフォルトで若干の粘着性を備えています。resource-stickiness に値を与えないとクローンは 1 の値を使用します。値を小さくすることで他のリソースのスコア計算への阻害を最小限に抑えながら、Pacemaker によるクラスターノード内での不必要なコピーの移動を適切に阻止することができます。

⁠8.2. 多状態のリソース: 複数モードのリソース

多状態リソースはクローンのリソースの特性です。 Master と Slave、2 種類の動作モードのいずれかになれます。インスタンス起動時は Slave 状態でなければならないという制限以外、モード名に特別な意味はありません。

以下のコマンドを実行すると、リソースをマスター/スレーブクローンとして作成できます。

pcs resource create resource_id standard:provider:type|type [resource options] \
--master [meta master_options]

マスター／スレーブクローンの名前は resource_id-master になります。

また、作成済みのリソースまたはリソースグループからマスター／スレーブリソースを作成することもできます。このコマンドを使用する場合はマスター／スレーブクローンの名前を指定することができます。名前を指定しない場合は resource_id-master または group_name-master になります。

pcs resource master master/slave_name resource_id|group_name [master_options]

リソースオプションについては 「リソースの作成」 を参照してください。

多状態のリソースに指定できるオプションを 表8.2「多状態リソースのプロパティ」 に示します。

⁠

表8.2 多状態リソースのプロパティ

フィールド
説明

id

多状態リソースに付ける名前

priority、target-role、is-managed

表5.3「リソースのメタオプション」 を参照

clone-max、clone-node-max、notify、globally-unique、ordered、interleave

表8.1「クローンのリソース用オプション」 を参照

master-max

master 状態への昇格を許可するリソースのコピー数、デフォルトは 1

master-node-max

単一ノードで master 状態への昇格を許可するリソースのコピー数、デフォルトは 1

⁠8.2.1. 多状態リソースのモニタリング

マスターリソースにのみモニタリングの動作を追加する場合は、リソースに別のモニタリング動作を追加します。ただし任意のリソース上のモニタリング動作にはすべて異なる間隔を設定しなければなりません。

次の例では ms_resource のマスターリソースに 11 秒間隔のモニタリング動作を設定しています。10 秒間隔のデフォルトのモニタリング動作に対して追加となるモニタリング動作になります。

# pcs resource op add ms_resource interval=11s role=Master

⁠8.2.2. 多状態の制約

ほとんどの場合、多状態のリソースはアクティブな各クラスターノードごとコピーを一つ持っています。各ノードごとにはコピーを持たせていない場合は、リソースの場所制約を使ってコピーを優先的に割り当てるノードを指定します。制約の記述については通常のリソースの場合と全く変わりません。

リソースの場所制約については 「場所の制約」 を参照してください。

リソースをマスターにするかスレーブにするかを指定するコロケーション制約を作成することができます。次のコマンドはリソースのコロケーション制約を作成しています。

pcs constraint colocation add [master|slave] source_resource with [master|slave] target_resource [score] [options]

リソースのコロケーション制約については 「リソースのコロケーション」 を参照してください。

多状態のリソースを含む順序制約を設定する場合、そのリソースに指定できる動作の一つがリソースをスレーブからマスターに昇格させる promote です。また、マスターからスレーブに降格させる demote の動作を指定することもできます。

順序制約を設定するコマンドを以下に示します。

pcs constraint order [action] resource_id then [action] resource_id [options]

リソースの順序制約については 「順序の制約」 を参照してください。

⁠8.2.3. 多状態の粘着性

安定性のある割り当てパターンにするため多状態リソースはデフォルトで若干の粘着性を備えています。resource-stickiness に値を与えないと多状態リソースは 1 の値を使用します。値を小さくすることで他のリソースのスコア計算への阻害を最小限に抑えながら、Pacemaker によるクラスターノード内での不必要なコピーの移動を適切に阻止することができます。

⁠8.3. モニタリングのリソースを使ったイベント通知

Pacemaker クラスターはイベント駆動型のシステムで、イベントはリソースの障害や設定の変更などになります。ocf:pacemaker:ClusterMon リソースはクラスターの状態を監視でき、クラスターイベントごとに警告をトリガーできます。このリソースは、標準の間隔で crm_mon をバックグランドで実行し、crm_mon の機能を使用してメールのメッセージ (SMTP) を送信します。また、extra_options パラメーターを使用して外部プログラムを実行することもできます。

次の例では email 通知を送信する ClusterMon-SMTP と言う名前の ClusterMon リソースを設定しています。Pacemaker イベントが発生すると email が pacemaker@nodeX.example.com から pacemaker@example.com へ送信されます。メールホストには mail.example.com が使用されます。このリソースはクローンとして作成されるためクラスター内のすべてのノードで実行されます。

# pcs resource create ClusterMon-SMTP ClusterMon --clone user=root update=30 \ extra_options="-T pacemaker@example.com -F pacemaker@nodeX.example.com \ -P PACEMAKER -H mail.example.com"

次の例では ClusterMon-External と言う名前の ClusterMon リソースを設定しています。このリソースの場合はクラスター通知を受け取った場合に行う動作を判断する /usr/local/bin/example.sh プログラムを実行します。クローンとして作成されるためクラスター内のすべてのノードで実行されます。

# pcs resource create ClusterMon-External ClusterMon --clone user=root \ update=30 extra_options="-E /usr/local/bin/example.sh -e 192.168.12.1"

⁠8.4. pacemaker_remote サービス

pacemaker_remote サービスを使用するとノードに corosync を実行させることなくクラスターに統合、クラスター側でリソースをクラスターノードのように管理させることができるようになります。これにより、仮想環境で pacemaker や corosync を実行することなく、Pacemaker クラスターで仮想環境 (KVM/LXC) およびその仮想環境内に存在するリソース群を管理させることができるようになります。

pacemaker_remote サービスの説明では次のような用語を使用しています。

クラスターノード -High Availability サービス (pacemaker と corosync) を実行しているノード

リモートノード — pacemaker_remote を実行しているノード、corosync クラスターメンバーシップを必要とせずクラスターにリモートで統合

コンテナー — 追加リソースを含んでいる Pacemaker リソース (例えば webserver リソースを含んでいる KVM 仮想マシンリソースなど)

コンテナーリモートノード — pacemaker_remote サービスを実行している仮想ゲストのリモートノード、クラスター管理の仮想ゲストリソースがクラスターで起動されリモートノードとしてクラスターに統合されるというようなリモートノード事例を指す場合に使用

pacemaker_remote — Pacemaker クラスター環境、スタンドアローン (非クラスター) 環境、いずれの環境下でもゲストノード (KVM and LXC) 内のアプリケーションをリモートで管理できるサービスデーモン (Pacemaker のローカルリソース管理デーモン (LRMD) の拡張バージョンで、ゲスト上にある LSB、OCF、upstart、systemd などのリソースの管理およびモニタリングをリモートで行うことが可能、またリモートノードで pcs を使用することも可)

LXC — libvirt-lxc Linux コンテナードライバーで定義される Linux Container

pacemaker_remote サービスを実行している Pacemaker クラスターには次のような特徴があります。

仮想リモートノードは pacemaker_remote サービスを実行します (仮想マシン側ではほとんど設定を必要としません)。

クラスターノードで実行しているクラスタースタック (pacemaker と corosync) は仮想マシンを起動し直ちに pacemaker_remote サービスへ接続、クラスター内に仮想マシンを統合できるようにします。

仮想マシンリモートノードとクラスターノードとの主な違いとは、リモートノードはクラスタースタックを実行していないという点です。つまり、リモートノードは定足数を採用していません。これはリモートノードがクラスタースタックに関連するスケーラビリティの制限には縛られないということにもなります。定足数の制限以外、リモートノードはリソース管理に関してはクラスターノードと同じように動作します。クラスターでは各リモートノード上のリソースを完全に管理、モニタリングすることができます。リモートノードに対して制約を作り、スタンバイモードにしたり、クラスターノードで行うような動作をリモートノードに行わせることもできます。リモートノードはクラスターノード同様クラスターの状態出力に表示されます。

⁠8.4.1. コンテナーリモートノードのリソースオプション

仮想マシンまたは LXC リソースがリモートノードとして動作するよう設定している場合には VirtualDomain リソースを作成して仮想マシンを管理させます。VirtualDomain リソースに設定できるオプションの詳細については次のコマンドで確認してください。

# pcs resource describe VirtualDomain

VirtualDomain リソースオプションの他にもリソースをリモートノードとして有効にして接続パラメーターを定義するメタデータオプションを設定することもできます。表8.3「KVM/LXC リソースをリモートノードとして設定するメタデータオプション」 にメタデータオプションを示します。

⁠

表8.3 KVM/LXC リソースをリモートノードとして設定するメタデータオプション

フィールド
デフォルト
説明

remote-node

<none>

このリソースで定義するリモートノードの名前、リソースをリモートノードとして有効にしてノードの識別に使用する固有名を定義する (他にパラメーターが設定されていない場合はこの値がポート 3121 で接続するホスト名とみなされる) 警告: この値はいずれのリソース、ノード ID とも重複不可

remote-port

3121

pacemaker_remote へのゲスト接続に使用するカスタムのポートを設定

remote-addr

remote-node value used as hostname

リモートノード名がゲストのホスト名ではない場合に接続する IP アドレスまたはホスト名

remote-connect-timeout

60s

保留中のゲスト接続がタイムアウトするまでの時間

次のコマンドでは vm-guest1 と言う名前の VirtualDomain リソースを作成しています。remote-node メタ属性を使ってリソースを実行することができるリモートノードになります。

# pcs resource create vm-guest1 VirtualDomain hypervisor="qemu:///system" config="vm-guest1.xml" meta remote-node=guest1

⁠8.4.2. ホストとゲストの認証

クラスターノードとリモートノード間の接続の認証および暗号化は TCP ポート 3121 の PSK 暗号化／認証を使った TLS で行われます。つまり、クラスターノードとリモートノードの両方が同じプライベートキーを共有しなければならないということです。デフォルトでは、このキーはクラスターノード、リモートノードいずれも /etc/pacemaker/authkey に配置する必要があります。

⁠8.4.3. デフォルトの pacemaker_remote オプションの変更

デフォルトのポートまたは Pacemaker や pacemaker_remote いずれかの authkey の場所を変更する必要がある場合は、両方のデーモンに反映させることができる環境変数を設定することができます。以下のように /etc/sysconfig/pacemaker ファイルに配置するとこの環境変数を有効にすることができます。

#==#==# Pacemaker Remote
# Use a custom directory for finding the authkey.
PCMK_authkey_location=/etc/pacemaker/authkey
#
# Specify a custom port for Pacemaker Remote connections
PCMK_remote_port=3121

⁠8.4.4. 設定の概要: KVM リモートノード

本セクションでは、libvirt と KVM 仮想ゲストを使って Pacemaker に仮想マシンを起動させてからそのマシンをリモートノードとして統合させる手順についての概要を簡単に説明しています。

仮想化ソフトウェアのインストールと、クラスターノードでの libvirtd サービスの有効化が完了したら、すべてのクラスターノードと仮想マシンに /etc/pacemaker/authkey のパスで authkey を配置します。これにより安全なリモート通信と認証が行えるようになります。

次のコマンドで authkey を作成します。

# dd if=/dev/urandom of=/etc/pacemaker/authkey bs=4096 count=1

pacemaker_remote パッケージのインストール、pacemaker_remote サービスの起動、このサービスの起動時の実行を有効化、ファイアウォールでの TCP ポート 3121 の通信の許可をすべての仮想マシンでそれぞれ行います。

# yum install pacemaker-remote resource-agents
# systemctl start pacemaker_remote.service
# systemctl enable pacemaker_remote.service
# firewall-cmd --add-port 3121/tcp --permanent

各仮想マシンに静的ネットワークアドレスと固有のホスト名を与えます。

仮想マシン管理用の VirtualDomain リソースエージェントを作成するため、Pacemaker にディスク上のファイルにダンプする仮想マシンの XML 設定ファイルが必要になります。例えば、guest1 と言う名前の仮想マシンを作成している場合は、次のコマンドを使ってホスト上のいずれかの場所にあるファイルに XML をダンプします。

# virsh dumpxml guest1 > /virtual_machines/guest1.xml

VirtualDomain リソースを作成し、remote-note リソースメタオプションを設定して仮想マシンがリソースを実行できるリモートノードであることを示します。

以下の例では、メタ属性の remote-node=guest1 使って、このリソースが guest1 と言うホスト名でクラスターに統合可能なリモートノードであることを pacemaker に伝えています。仮想マシンが起動すると、クラスターによりホスト名 guest1 で仮想マシンの pacemaker_remote サービスへの通信が試行されます。

# pcs resource create vm-guest1 VirtualDomain hypervisor="qemu:///system" config="vm-guest1.xml" meta remote-node=guest1

VirtualDomain リソースの作成が完了したら、リモートノードはクラスター内の他のノードと全く同じように扱うことができるようになります。例えば、リソースを作成してリソースの制約をそのリソースに配置しリモートノードで実行させることができます。

# pcs resource create webserver apache params configfile=/etc/httpd/conf/httpd.conf op monitor interval=30s
# pcs constraint webserver prefers guest1

リモートノードがクラスターに統合されたら、リモートノードで Pacemaker を実行しているかのようにリモートノード自体で pcs コマンドを実行できるようになります。

⁠第9章 Pacemaker ルール

構成をより動的にする場合にルールを利用することができます。よくある例の一つとして、就業時間内は resource-stickiness に任意の値を設定して最優先の場所に戻されるのを防ぎ、週末など誰もアウテージに気付かない間に別の値を設定します。

これ以外にも、時間に応じて異なる処理グループにマシンを割り当て(ノード属性を使用)、場所の制約を作成する時にその属性を使用する方法もあります。

各ルールには日付の式など各種の式の他、他のルールも含ませることができます。各種の式の結果が boolean-op フィールドに応じて処理され、最終的にそのルールが true または false どちらの評価になるかが確定されます。ルールが使用された状況に応じて次に起こる動作は異なります。

⁠

表9.1 ルールのプロパティ

フィールド
説明

role

ルールの適用をリソースが指定ロールの状態の場合に限定する、使用できる値: Started、Slave、Master (注意: role="Master" の付いたルールはクローンのコピーの初期の場所は判断できません。実行中のどのコピーを昇格させるかを指定するだけです。)

score

ルールが true の評価になった場合に適用するスコア

score-attribute

ルールが true の評価になった場合に検索しスコアとして使用するノードの属性、場所の制約の一部となるルールにのみ使用を限定

boolean-op

複数の式オブジェクトからの結果の処理方法、使用できる値: and と or、デフォルトは and

⁠9.1. ノード属性の式

ノードで定義される属性に応じてリソースを制御する場合にノード属性の式を使用します。

⁠

表9.2 式のプロパティ

フィールド
説明

value

比較のためユーザーによって入力される値

attribute

テスト用のノード属性

type

値のテスト方法を指定、使用できる値: string、integer、version

operation

実行する比較動作、使用できる値:

* lt - ノード属性の値が value 未満の場合に True

* gt - ノード属性の値が value を越える場合に True

* lte - ノード属性の値が value 未満または同等になる場合に True

* gte - 属性の値が value を越えるまたは同等になる場合に True

* eq - ノード属性の値が value と同等になる場合に True

* ne - ノード属性の値が value と同等ではない場合に True

* defined - ノードに指定属性がある場合に True

* not_defined - ノードに指定属性がない場合に True

⁠9.2. 時刻と日付ベースの式

現在の日付と時刻に応じてリソースまたはクラスターオプションを制御する場合に日付の式を使用します。オプションで日付の詳細を含ませることができます。

⁠

表9.3 日付の式のプロパティ

フィールド
説明

start

ISO8601 仕様に準じた日付と時刻

end

ISO8601 仕様に準じた日付と時刻

operation

状況に応じて現在の日付と時刻を start の日付と end の日付のいずれかまたは両方と比較する、使用できる値:

* gt - 現在の日付と時刻が start 以降の場合は True

* lt - 現在の日付と時刻が end 以前の場合は True

* in-range - 現在の日付と時刻が start 以降で且つ end 以前の場合は True

* date-spec - 現在の日付と時刻に対して cron のような比較を行う

⁠9.3. 日付の詳細

時刻に関する cron 系の式を作成する場合は日付の詳細を使用します。各フィールドには単一の数字または範囲を入力することができます。0 にデフォルト設定する代わりに未入力しておくとそのフィールドは無視されます。

例えば、monthdays="1" とすると毎月第一日目になり、hours="09-17" とすると 9am から 5pm の間の時間ということになります (9am と 5pm を含む)。ただし、weekdays="1,2" や weekdays="1-2,5-6" は複数の範囲が含まれるため使用できません。

⁠

表9.4 日付詳細のプロパティ

フィールド
説明

id

日付の固有となる名前

hours

使用できる値: 0-23

monthdays

使用できる値: 0-31 (月および年による)

weekdays

使用できる値: 1-7 (1=月曜日、7=日曜日)

yeardays

使用できる値: 1-366 (年による)

months

使用できる値: 1-12

weeks

使用できる値: 1-53 (weekyear による)

years

グレゴリオ暦 (新暦) に準じる

weekyears

グレゴリオ暦 (新暦) とは異なる場合がある、例: 2005-001 Ordinal は 2005-01-01 Gregorian であり 2004-W53-6 Weekly でもある

moon

使用できる値: 0-7 (0 は新月、4 は満月)

⁠9.4. 期間

operation=in_range で end の値が与えられていない場合は期間を使ってその値を算出します。date_spec オブジェクトと同じフィールドがありますが制限はありません (つまり 19 ヶ月の期間を持たせることが可能)。date_specs 同様、未入力のフィールドは無視されます。

⁠9.5. pcs を使ってルールを設定する

ルールを設定する場合は次のコマンドを使用します。score を省略すると INFINITY にデフォルト設定されます。id を省略すると constraint_id で生成されます。rule_type は expression または date_expression のいずれかにしてください。

pcs constraint rule add constraint_id [rule_type] [score=score [id=rule_id] expression|date_expression|date_spec options

ルールを削除する場合は次のコマンドを使用します。削除するルールがその制約内で最後のルールになる場合はその制約も削除されることになります。

pcs constraint rule remove rule_id

⁠9.6. 時刻ベースの式のサンプル

次のコマンド設定の場合は 2005 年以内ならいつでも true となります。

# pcs constraint location Webserver rule score=INFINITY date-spec years=2005

次の式では月曜日から金曜日の 9am から 5pm の間が true となる式を設定しています。hours の値 16 には時間の値が一致する 16:59:59 まで含まれます。

# pcs constraint location Webserver rule score=INFINITY date-spec hours="9-16" weekdays="1-5"

次の式では 13 日の金曜日に満月となるときに true になる式を設定しています。

# pcs constraint location Webserver rule date-spec weekdays=5 monthdays=13 moon=4

⁠9.7. リソースの場所の確定にルールを使用する

次のコマンドを使用するとルールを使ってリソースの場所を確定することができます。

pcs resource constraint location resource_id rule [rule_id] [role=master|slave] [score=score expression]

expression には以下のいずれかを使用します。

defined|not_defined attribute

attribute lt|gt|lte|gte|eq|ne value

date [start=start] [end=end] operation=gt|lt|in-range

date-spec date_spec_options

⁠第10章 Pacemaker クラスターのプロパティ

クラスター動作中に起こる可能性がある状況に直面した場合にクラスターのプロパティでクラスターの動作を制御します。

表10.1「クラスタープロパティ」 ではクラスターのプロパティオプションを説明します。

「クラスターのプロパティの設定と削除」 ではクラスタープロパティの設定方法について説明します。

「クラスタープロパティ設定のクエリー」 では現在設定されているクラスタープロパティを表示させる方法について説明します。

⁠10.1. クラスタープロパティとオプションの要約

Pacemaker クラスターのプロパティのデフォルト値および設定可能な値などを 表10.1「クラスタープロパティ」 で簡単に示します。

注記

表に記載しているプロパティ以外にもクラスターソフトウェアで公開されるクラスタープロパティがあります。このようなプロパティについては、そのデフォルト値を別の値には変更しないよう推奨しています。

⁠

表10.1 クラスタープロパティ

オプション
デフォルト
説明

batch-limit
30

TE (Transition Engine) に並列実行を許可するジョブ数 （ネットワークおよびクラスターノードの負荷および速度により正しい値は異なる)

migration-limit
-1 (無制限)

一つのノードで TE に並列実行を許可する移行ジョブ数

no-quorum-policy
stop

クラスターが定足数を持たない場合に行う動作、使用できる値:

* ignore - 全リソースの管理を続行

* freeze - リソースの管理は続行するが、影響を受けるパーティション外のノードのリソースは復帰させない

* stop - 影響を受けるクラスターパーティション内の全リソースを停止する

* suicide - 影響を受けるクラスターパーティション内の全ノードを排他処理する

symmetric-cluster
true

デフォルトでいずれのノード上でもリソースの実行を許可するかどうかを指定

stonith-enabled
true

障害が発生しているノードおよび停止できないリソースがあるノードを排他処理するかどうかを指定、データ保護が必要な場合は true に設定すること

true または未設定の場合、STONITH リソースが設定されていない限りクラスターによりリソースの起動が拒否される

stonith-action
reboot

STONITH デバイスに送信する動作、使用できる値: reboot、off (poweroff の値も使用できるがレガシーデバイスでの使用に限定)

cluster-delay
60s

ネットワーク経由の往復遅延 (動作の実行は除く)、ネットワークおよびクラスターノードの負荷および速度により正しい値は異なる

stop-orphan-resources
true

削除したリソースの停止を行うかどうかを指定

stop-orphan-actions
true

削除した動作の取り消しを行うかどうかを指定

start-failure-is-fatal
true

起動の失敗をリソースに対して致命的と処理するかどうかを指定、false に設定するとリソースの failcount と migration-threshold の値を使用する (リソース用の migration-threshold オプションの設定は 「障害発生のためリソースを移動する」 を参照)

pe-error-series-max
-1 (all)

ERROR で保存する PE インプットの数、問題の報告時に使用

pe-warn-series-max
-1 (all)

WARNING で保存する PE インプットの数、問題の報告時に使用

pe-input-series-max
-1 (all)

保存する通常の PE インプットの数、問題の報告時に使用

cluster-infrastructure

Pacemaker が現在実行中のメッセージングスタック、情報および診断目的で使用 (ユーザー設定不可)

dc-version

クラスターの DC (Designated Controller) 上にある Pacemaker のバージョン、診断目的で使用 (ユーザー設定不可)

last-lrm-refresh

Local Resource Manager による最後のリフレッシュ (epoca のため秒単位）、診断目的で使用 (ユーザー設定不可)

cluster-recheck-interval
15min

オプション、リソースのパラメーター、制約に対する時間ベースの変更のポーリング間隔、使用できる値: ゼロの場合ポーリング無効、正の値の場合は秒単位の間隔 (5min など他の SI 単位の指定がない限り)

default-action-timeout
20s

Pacemaker 動作のタイムアウト値、クラスターオプションとして設定されるデフォルト値よりリソース自体の動作に対するセッティングの方が常に優先される

maintenance-mode
false

クラスターに無干渉モードになり別途指示があるまでサービスの起動や停止を行わないよう指示、メンテナンスモードが完了するとサービスの現在の状態に関する整合性チェックを行ってから必要に応じてそのサービスの停止または起動を行う

shutdown-escalation
20min

指定した時間を過ぎると正しいシャットダウンの試行を中断し終了 (高度な使用目的に限定)

stonith-timeout
60s

STONITH 動作の完了まで待機する時間

stop-all-resources
false

クラスターによる全リソースの停止

default-resource-stickiness
5000

リソースを現在の場所に優先的に留まらせる値 (この値はクラスターオプションではなくリソースまたは動作として設定することを推奨)

is-managed-default
true

リソースの起動および停止をクラスターに許可するかどうかを指定 (この値はクラスターオプションではなくリソースまたは動作として設定することを推奨)

enable-acl
false

(Red Hat Enterprise Linux 7.1 以降) pcs acl コマンドで設定したアクセス制御リストをクラスターが使用できるかどうかを示します。

⁠10.2. クラスターのプロパティの設定と削除

クラスタープロパティの値を設定する場合は次の pcs コマンドを使用します。

pcs property set property=value

例えば、symmetric-cluster の値を false に設定する場合は次のコマンドを使用します。

# pcs property set symmetric-cluster=false

設定からクラスタープロパティを削除する場合は次のコマンドを使用します。

pcs property unset property

代わりに pcs property set コマンドの値フィールドを空白にしてもクラスタープロパティを削除することができます。これによりそのプロパティの値がデフォルト値に戻されます。例えば、以前に symmetric-cluster プロパティを false に設定したことがある場合は、次のコマンドにより設定した値が削除され、symmetric-cluster の値がデフォルト値の true に戻されます。

# pcs property set symmetic-cluster=

⁠10.3. クラスタープロパティ設定のクエリー

ほとんどの場合、各種のクラスターコンポーネントの値を表示するため pcs コマンドを使用する際、pcs list または pcs show を交互に使用することができます。次の例では pcs list は複数プロパティのすべての設定の全一覧表示に使用する形式になります。一方、pcs show は特定のプロパティの値を表示する場合に使用する形式になります。

クラスターに設定されたプロパティ設定の値を表示する場合は次の pcs コマンドを使用します。

pcs property list

明示的には設定されていなかったプロパティ設定のデフォルト値も含め、クラスターのプロパティ設定のすべての値を表示する場合は次のコマンドを使用します。

pcs property list --all

特定のクラスタープロパティの現在の値を表示する場合は次のコマンドを使用します。

pcs property show property

例えば、cluster-infrastructure プロパティの現在の値を表示する場合は次のコマンドを実行します。

# pcs property show cluster-infrastructure
Cluster Properties:
 cluster-infrastructure: cman

情報としてプロパティの全デフォルト値の一覧を表示させ、その値がデフォルト以外で設定されているかどうかを確認することができます。次のコマンドを使用します。

pcs property [list|show] --defaults

⁠第11章 pcsd Web UI

本章では、pcsd Web UI を用いた Red Hat High Availability クラスターの設定について説明します。

⁠11.1. pcsd Web UI の設定

pcsd Web UI を使用してクラスターを設定するようシステムを設定するには、以下の手順に従います。

「Pacemaker 設定ツールのインストール」 の説明に従って Pacemaker 設定ツールをインストールします。

クラスターの一部である各ノードで、passwd コマンドを使用してユーザー hacluster のパスワードを設定します。各ノードに同じパスワードを使用してください。

各ノードの pcsd デーモンを開始し、有効にします。

# systemctl start pcsd.service
# systemctl enable pcsd.service

各ノードで、以下のコマンドを使用してクラスターを構成するノードを認証します。このコマンドを実行すると、Username と Password を指定するよう要求されます。Username には hacluster を指定してください。

# pcs cluster auth node1 node2 ... nodeN

いずれかのシステムで、以下の URL をブラウザーで開き、承認したノードの 1 つを指定します (https プロトコルを使用することに注意してください)。指定すると pcsd Web UI のログイン画面が表示されます。

https://nodename:2224

ユーザー hacluster としてログインします。ログイン後、Manage Clusters ページが表示されます。

⁠11.2. pcsd Web UI を用いたクラスターの管理

Manage Clusters ページでは、新しいクラスターを作成したり、既存のクラスターを Web UI に追加したりできます。クラスターの作成後、このページにクラスター名が表示されます。カーソルをクラスターの名前の上に置くと、そのクラスターの情報が表示されます。

クラスターを作成するには、 Create New をクリックし、作成するクラスターの名前とクラスターを構成するノードを入力します。入力後、Create Cluster をクリックします。作成されたばかりのクラスターと、クラスターノードが Manage Clusters 画面に表示されます。

既存のクラスターを Web UI に追加するには、Add Existing をクリックし、Web UI で管理したいクラスターのノードのホスト名または IP アドレスを入力します。

クラスターを管理するには、クラスターの名前をクリックします。クラスターのノード、リソース、フェンスデバイス、およびクラスタープロパティーを設定できるページが表示されます。

⁠11.3. クラスターノード

クラスター管理ページの上部にあるメニューから Nodes オプションを選択すると、現在設定されているノードと、選択しているノードの状態が表示されます。このページでノードを追加または削除でき、ノードを起動、停止、または再起動できます。また、ノードをスタンバイモードにすることもできます。スタンバイモードの詳細は 「スタンバイモード」 を参照してください。

「フェンスデバイス」 の説明に従って、Configure Fencing を選択し、このページから直接フェンスデバイスを設定することもできます。

⁠11.4. フェンスデバイス

クラスター管理ページの上部にあるメニューから Fence Devices オプションを選択すると、Fence Devices 画面が表示され、現在設定されているフェンスデバイスが表示されます。

新しいフェンスデバイスをクラスターに追加するには、Add をクリックし、Add Fence Device 画面を表示します。Type ドロップダウンメニューからフェンスデバイスタイプを選択すると、そのフェンスデバイスに指定する必要がある引数がメニューに表示されます。フェンスデバイスに指定できる任意の引数を表示するには、Optional Arguments をクリックします。新しいフェンスデバイスのパラメーターを入力したら Create Fence Instance をクリックします。

Pacemaker を用いたフェンスデバイスの設定の詳細は 4章フェンス機能: STONITH の設定 を参照してください。

⁠11.5. クラスターリソース

クラスター管理ページの上部にあるメニューから Resources オプションを選択すると、クラスターに現在設定されているリソースと、選択しているリソースの設定パラメーターが表示されます。リソースがリソースグループの一部である場合、かっこの付いたリソースグループの名前がリソース名とともに表示されます。

リソースは追加および削除でき、既存リソースの設定を編集できます。

新しいリソースをクラスターに追加するには、Add をクリックし、Add Resource 画面を表示します。Type ドロップダウンメニューからリソースタイプを選択すると、そのリソースに指定する必要がある引数がメニューに表示されます。リソースに指定できる任意の引数を表示するには、Optional Arguments をクリックします。作成するリソースのパラメーターを入力したら、Create Resource をクリックします。

リソースの引数を設定するとき、引数の簡単な説明がメニューに表示されます。カーソルをフィールドに移動すると、その引数の詳細な説明が表示されます。

リソースは、クローンされたリソースまたはマスター/スレーブリソースして定義できます。これらのリソースタイプの詳細は 8章高度なリソースタイプ を参照してください。

最低でも 1 つのリソースを作成したら、リソースグループを作成できます。リソースグループの詳細は 「リソースグループ」 を参照してください。

リソースグループを作成するには、グループの一部になるリソースを Resources から選択し、Create Group をクリックします。Create Group 画面が表示されたらグループ名を入力し、Create Group をクリックします。すると、Resources 画面に戻り、リソースのグループ名が表示されます。リソースグループの作成後、追加のリソースを作成または編集するときにグループ名をリソースパラメーターとして示すことができます。

⁠11.6. クラスタープロパティー

クラスター管理ページの上部にあるメニューから Cluster Properties オプションを選択するとクラスタープロパティーが表示され、これらのプロパティーの値をデフォルト値から他の値に変更できます。Pacemaker クラスタープロパティーの詳細は 10章Pacemaker クラスターのプロパティ を参照してください。

⁠付録A Red Hat Enterprise Linux 6 および Red Hat Enterprise Linux 7 でのクラスターの作成

Pacemaker を用いて Red Hat Enterprise Linux 7 で Red Hat High Availability Cluster を設定する場合、rgmanager を用いて Red Hat Enterprise Linux 6 のクラスターを設定する場合とは異なる設定ツールと管理インターフェースが必要になります。「クラスター作成 - rgmanager と Pacemaker」 ではクラスターコンポーネントごとに設定の違いを説明します。

Red Hat Enterprise Linux 6.5 リリースは pcs 設定ツールを使用して、Pacemaker を用いたクラスター設定をサポートします。「Red Hat Enterprise Linux 6.5 および Red Hat Enterprise Linux 7 で Pacemaker を用いたクラスターの作成」 では、Red Hat Enterprise Linux 6.5 の pcs サポートと Red Hat Enterprise Linux 7.0 の pcs サポートで異なる設定について説明します。

⁠A.1. クラスター作成 - rgmanager と Pacemaker

表A.1「gmanager と Pacemaker を使用した場合のクラスター設定に関する比較」 では、Red Hat Enterprise Linux 6 で rgmanager を使用した場合と Red Hat Enterprise Linux 7 で Pacemaker を使用した場合のクラスターコンポーネントの設定方法を比較しています。

⁠

表A.1 gmanager と Pacemaker を使用した場合のクラスター設定に関する比較

設定コンポーネント
rgmanager
Pacemaker

クラスター設定ファイル

各ノード上のクラスター設定ファイルは cluster.conf、目的に応じて直接編集が可能、またはluci か ccs を使用

クラスターおよび Pacemaker 設定ファイルは corosync.conf および cib.xml です。これらのファイルは直接編集しないでください。必ず pcs または pcsd インターフェースを使用して編集してください。

ネットワーク設定

クラスター設定前に IP アドレスおよび SSH を設定

クラスター設定前に IP アドレスおよび SSH を設定

クラスター設定ツール

luci、ccs コマンド、手作業で cluster.conf ファイルを編集

pcs または pcsd

インストール

rgmanager のインストール (ricci、luci、リソース、フェンスエージェントなどすべての依存パッケージをインストール)、必要に応じて lvm2-cluster および gfs2-utils をインストール

pcs と必要なフェンスエージェントをインストールします。必要な場合は lvm2-cluster および gfs2-utils をインストールします。

クラスターサービスの起動

次の手順でクラスターサービスを起動、有効にする

rgmanager と cman、必要であれば clvmd と gfs2 も起動する

ricci を起動、luci インターフェースを使用している場合は luci を起動

必要なサービスに対して chkconfig on を実行し各ランタイムで起動するようにする

または、ccs --start を実行しクラスターサービスの起動と有効化を行う

次の手順でクラスターサービスを起動、有効にする

各ノードで、systemctl start pcsd.service を実行した後に systemctl enable pcsd.service を実行し、起動時に開始するよう pcsd を有効にします。

クラスターの 1 つのノードで、pcs cluster start --all を実行し、 corosync および pacemaker を起動します。

設定ツールへのアクセスの制御

luci の場合、luci にアクセスできるのは root ユーザーまたは luci パーミッションを持つユーザーになる、すべてのアクセスにノードの ricci パスワードが必要

pcsd GUI では、共通のシステムユーザーであるユーザー hacluster として認証される必要があります。root ユーザーは hacluster のパスワードを設定できます。

クラスター作成

クラスターの命名、クラスターに含ませるノードの定義などは luci または ccs で行うか cluster.conf ファイルを直接編集

pcs cluster setup コマンドまたは pcsd Web UI を使用して、クラスターに名前を付け、ノードを含めます。pcs cluster node add コマンドまたは pcsd Web UI を使用すると、ノードを既存のクラスターに追加できます。

クラスター設定を全ノードに伝える

クラスターを luci で設定する場合は設定は自動的に伝わる、ccs の場合は --sync オプションを使用する、cman_tool version -r コマンドの使用も可

クラスターおよび Pacemaker 設定ファイルである corosync.conf および cib.xml は、クラスターの設定時やノードまたはリソースの追加時に自動的に伝播されます。

グローバルのクラスタープロパティー

以下の機能は、Red Hat Enterprise Linux 6 の rgmanager によってサポートされます。

* クラスターネットワーク内での IP マルチキャスティングに使用するマルチキャストアドレスの選択をシステム側で行うよう設定することが可能

* IP マルチキャスティングが利用できない場合に UDP Unicast トランスポートメカニズムが使用可能

* RRP プロトコルを使用したクラスター設定が可能

RHEL 7 の Pacemaker はクラスターの以下の機能をサポートします。

* クラスターに no-quorum-policy を設定しクラスターが定足数を持たない場合のシステムの動作を指定できる

* 設定可能な他のクラスタープロパティは 表10.1「クラスタープロパティ」 を参照

ログ機能

グローバルおよびデーモン固有のログ記録設定が可能

ログ記録を手作業で設定する方法については /etc/sysconfig/pacemaker ファイルを参照

クラスターの検証

luci および ccs ではクラスタースキーマを使った自動検証、クラスターは起動時に自動的に検証される

クラスターは起動時に自動的に検証される、または pcs cluster verify を使っての検証も可

2 ノード構成のクラスターでの定足数

2 ノードのクラスターの場合、システムの定足数を確定する方法の設定が可能:

* 定足数ディスクの設定

* ccs を使用するか cluster.conf ファイルを編集、two_node=1 と expected_votes=1 を設定し単一ノードによる定足数の維持を許可

pcs は 2 ノードクラスターに必要なオプションを自動的に corosync へ追加します。

クラスターの状態

luci では、クラスターの現在の状態がインターフェースのさまざまなコンポーネントで表示されます。クラスターの状態はリフレッシュできます。ccs コマンドの --getconf オプションを使用すると、現在の設定ファイルを確認できます。clustat コマンドを使用するとクラスターの状態を表示できます。

pcs status コマンドを使用して、現在のクラスターの状態を表示できます。

リソース

定義したタイプのリソースの追加およびリソース固有のプロパティの設定は luci または ccs コマンドを使って行うか cluster.conf 設定ファイルを編集して行う

pcs resource create コマンドまたは pcsd Web UI を使用して、定義されたタイプのリソースを追加し、リソース固有のプロパティーを設定します。Pacemaker を使用したクラスターリソースの設定については 5章クラスターリソースの設定 を参照してください。

リソースの動作、グループ化、起動と停止の順序

リソースの通信方法の設定にクラスターの サービス を定義

Pacemaker では、同時に配置され、順番に開始および停止される必要があるリソースのセットを定義する簡単な方法としてリソースグループを使用します。さらに、以下の方法でリソースの動作および対話方法を定義できます。

* リソース動作の一部はリソースオプションとして設定

* 場所の制約を使ってリソースを実行させるノードを指定

* 順序の制約を使ってリソースの実行順序を指定

コロケーション制約を使って任意のリソースの場所が別のリソースの場所に依存することを指定

詳細は 5章クラスターリソースの設定 および 6章リソースの制約 を参照してください。

リソース管理: リソースの移動、起動、停止

luci でクラスター、クラスターの個別ノード、およびクラスターサービスの管理が可能、ccs ではクラスターの管理が可能、クラスターサービスの管理には clusvadm を使用

pcs cluster standby コマンドを使ってノードを一時的に無効にしリソースをホストできないようにしてからリソースを移行させる、リソースの停止は pcs resource disable で行う

クラスターの設定を完全に削除

luci でクラスター内の全ノード削除を選択しクラスター全体を削除、クラスター内の各ノードの cluster.conf を削除することも可能

pcs cluster destroy コマンドを使用するとクラスター設定を削除できます。

複数のノードで実行中のリソース、複数モードで複数のノード上で実行中のリソース

該当なし。

Pacemaker ではリソースのクローンを作成し複数のノードで実行させることが可能、作成したリソースのクローンをマスターリソースとスレーブリソースとして定義し複数のモードで実行させることが可能、リソースのクローンおよびマスターとスレーブリソースについては 8章高度なリソースタイプ を参照

フェンス機能 -- 1 ノードにつき 1 フェンス

フェンスデバイスをグローバルまたはローカルに作成しノードに追加、クラスター全体に post-fail delay と post-join delay の値を定義することが可能

pcs stonith create または pcsd Web UI を使用して各ノードにフェンスデバイスを作成します。複数のノードをフェンスできるデバイスでは、各ノードで個別に定義せずに 1 度に定義する必要があります。また、1 つのコマンドですべてのノードにフェンスデバイスを設定するよう pcmk_host_map を定義することもできます。pcmk_host_map の詳細は 表4.1「フェンスデバイスの汎用プロパティ」 を参照してください。クラスター全体の stonith-timeout の値を定義できます。

1 ノードごとに複数の (バックアップ) フェンスデバイス

バックアップデバイスの定義は luci または ccs コマンドを使用するか cluster.conf ファイルを直接編集

フェンスレベルを設定

⁠A.2. Red Hat Enterprise Linux 6.5 および Red Hat Enterprise Linux 7 で Pacemaker を用いたクラスターの作成

Red Hat Enterprise Linux 6.5 リリースは pcs 設定ツールを使用して、Pacemaker を用いたクラスター設定をサポートします。Pacemaker を使用する場合、Red Hat Enterprise Linux 6.5 と Red Hat Enterprise Linux 7 とでは、クラスターのインストールおよび作成に若干の違いがあります。ここでは、これらのリリースで異なるコマンドを簡単に説明します。Red Hat Enterprise Linux 7 におけるクラスターのインストールおよび作成の詳細は、1章Red Hat High Availability Add-On の設定と管理のリファレンス概要 および 3章クラスターの作成と管理 を参照してください。

⁠A.2.1. Red Hat Enterprise Linux 6.5 および Red Hat Enterprise Linux 7 での Pacemaker のインストール

以下のコマンドは、Pacemaker が必要とする Red Hat High Availability Add-On ソフトウェアパッケージを Red Hat Enterprise Linux 6.5 にインストールし、cman を使用して corosync が開始されるようにします。クラスターの各ノードでこれらのコマンドを実行する必要があります。

[root@rhel6]# yum install pacemaker cman
[root@rhel6]# yum install pcs
[root@rhel6]# chkconfig corosync off

Red Hat Enterprise Linux 7 では、Pacemaker が必要とする Red Hat High Availability Add-On ソフトウェアパッケージをインストールするだけでなく、hacluster という名前の pcs 管理アカウントのパスワードを設定し、pcsd サービスを開始および有効にします。また、クラスターのノードの管理アカウントも認証します。

Red Hat Enterprise Linux 7 では、以下のコマンドをクラスターの各ノードで実行します。

[root@rhel7]# yum install pcs fence-agents-all
[root@rhel7]# passwd hacluster
[root@rhel7]# systemctl start pcsd.service
[root@rhel7]# systemctl enable pcsd.service

Red Hat Enterprise Linux 7 では、以下のコマンドをクラスターのノードの 1 つで実行します。

[root@rhel7]# pcs cluster auth [node] [...] [-u username] [-p password]

⁠A.2.2. Red Hat Enterprise Linux 6.5 および Red Hat Enterprise Linux 7 で Pacemaker を用いたクラスターの作成

Red Hat Enterprise Linux 6.5 で Pacemaker クラスターを作成する場合はクラスター内の各ノードでクラスターの作成とクラスターサービスの起動を行う必要があります。例えば、z1.example.com と z2.example.com の各ノードで構成される my_cluster というクラスターを作成して各ノードでクラスターサービスを起動するには次のコマンドを z1.example.com と z2.example.com の両方で実行します。

[root@rhel6]# pcs cluster setup --name my_cluster z1.example.com z2.example.com
[root@rhel6]# pcs cluster start

Red Hat Enterprise Linux 7 では、クラスターのノードの 1 つでクラスター作成のコマンドを実行します。以下のコマンドを 1 つのノードのみで実行すると、z1.example.com および z2.example.com というノードで構成される my_cluster という名前のクラスターが作成され、これらのノードでクラスターサービスが開始されます。

[root@rhel7]# pcs cluster setup --start --name my_cluster z1.example.com z2.example.com

⁠付録B 改訂履歴

改訂履歴

改訂 1.1-9.1
Mon Aug 31 2015
Junko Ito

翻訳ファイルを XML ソースバージョン 1.1-9 と同期

改訂 1.1-9
Mon Feb 23 2015
Steven Levine

7.1 GA リリース向けバージョン

改訂 1.1-7
Thu Dec 11 2014
Steven Levine

7.1 ベータリリース向けバージョン

改訂 1.1-2
Tue Dec 2 2014
Steven Levine

#1129854 を解決

pcs resource cleanup コマンドに関する内容を更新。

#1129837 を解決

pcs resource move コマンドの lifetime パラメーターに関する内容を追加。

#1129862 および #1129461 を解決

アクセス制御リストのサポートに関する内容を追加。

#1069385 を解決

DLM に対して有効にするポート番号を追加。

#1121128 および #1129738 を解決

コロケーションおよび順序付けされたセットの説明を更新および明確化。

#1129713 を解決

クラスタークォーラムアンブロック機能に関する内容を追加。

#1129722 を解決

auto_tie_breaker クォーラムオプションの説明を更新。

#1129737 を解決

pcs resource create コマンドの disabled パラメーターに関する内容を追加。

#1129859 を解決

pcs クラスター設定のバックアップおよび復元に関する内容を追加。

#1098289 を解決

ポート要件の説明を明確化。

改訂 1.1-1
Tue Nov 18 2014
Steven Levine

7.1 リリースのドラフト更新

改訂 0.1-41
Mon Jun 2 2014
Steven Levine

7.0 GA リリース向けバージョン

改訂 0.1-39
Thu May 29 2014
Steven Levine

#794494 を解決

クォーラムサポートに関する内容を追加。

#1088465 を解決

アンフェンシングに関する内容を追加。

#987087 を解決

pcs 更新に関する内容を追加。

改訂 0.1-23
Wed Apr 9 2014
Steven Levine

7.0 ベータ版ドラフトを更新

改訂 0.1-15
Fri Dec 6 2013
Steven Levine

ベータ版

改訂 0.1-2
Thu May 16 2013
Steven Levine

初回ドラフトの初版

⁠索引

シンボル

オプション

batch-limit, クラスタープロパティとオプションの要約

clone-max, クローンリソースの作成と削除

clone-node-max, クローンリソースの作成と削除

cluster-delay, クラスタープロパティとオプションの要約

cluster-infrastructure, クラスタープロパティとオプションの要約

cluster-recheck-interval, クラスタープロパティとオプションの要約

dampen, 接続状態が変化したためリソースの移動を行う

dc-version, クラスタープロパティとオプションの要約

default-action-timeout, クラスタープロパティとオプションの要約

default-resource-stickiness, クラスタープロパティとオプションの要約

enable-acl, クラスタープロパティとオプションの要約

failure-timeout, リソースのメタオプション

globally-unique, クローンリソースの作成と削除

host_list, 接続状態が変化したためリソースの移動を行う

interleave, クローンリソースの作成と削除

is-managed, リソースのメタオプション

is-managed-default, クラスタープロパティとオプションの要約

last-lrm-refresh, クラスタープロパティとオプションの要約

maintenance-mode, クラスタープロパティとオプションの要約

master-max, 多状態のリソース: 複数モードのリソース

master-node-max, 多状態のリソース: 複数モードのリソース

migration-limit, クラスタープロパティとオプションの要約

multiplier, 接続状態が変化したためリソースの移動を行う

no-quorum-policy, クラスタープロパティとオプションの要約

notify, クローンリソースの作成と削除

ordered, クローンリソースの作成と削除

pe-error-series-max, クラスタープロパティとオプションの要約

pe-input-series-max, クラスタープロパティとオプションの要約

pe-warn-series-max, クラスタープロパティとオプションの要約

priority, リソースのメタオプション

requires, リソースのメタオプション

shutdown-escalation, クラスタープロパティとオプションの要約

start-failure-is-fatal, クラスタープロパティとオプションの要約

stonith-action, クラスタープロパティとオプションの要約

stonith-enabled, クラスタープロパティとオプションの要約

stonith-timeout, クラスタープロパティとオプションの要約

stop-all-resources, クラスタープロパティとオプションの要約

stop-orphan-actions, クラスタープロパティとオプションの要約

stop-orphan-resources, クラスタープロパティとオプションの要約

symmetric-cluster, クラスタープロパティとオプションの要約

target-role, リソースのメタオプション

オプションのクエリー, クラスタープロパティ設定のクエリー

クエリー

クラスターのプロパティ, クラスタープロパティ設定のクエリー

クラスター

オプション

batch-limit, クラスタープロパティとオプションの要約

cluster-delay, クラスタープロパティとオプションの要約

cluster-infrastructure, クラスタープロパティとオプションの要約

cluster-recheck-interval, クラスタープロパティとオプションの要約

dc-version, クラスタープロパティとオプションの要約

default-action-timeout, クラスタープロパティとオプションの要約

default-resource-stickiness, クラスタープロパティとオプションの要約

enable-acl, クラスタープロパティとオプションの要約

is-managed-default, クラスタープロパティとオプションの要約

last-lrm-refresh, クラスタープロパティとオプションの要約

maintenance-mode, クラスタープロパティとオプションの要約

migration-limit, クラスタープロパティとオプションの要約

no-quorum-policy, クラスタープロパティとオプションの要約

pe-error-series-max, クラスタープロパティとオプションの要約

pe-input-series-max, クラスタープロパティとオプションの要約

pe-warn-series-max, クラスタープロパティとオプションの要約

shutdown-escalation, クラスタープロパティとオプションの要約

start-failure-is-fatal, クラスタープロパティとオプションの要約

stonith-action, クラスタープロパティとオプションの要約

stonith-enabled, クラスタープロパティとオプションの要約

stonith-timeout, クラスタープロパティとオプションの要約

stop-all-resources, クラスタープロパティとオプションの要約

stop-orphan-actions, クラスタープロパティとオプションの要約

stop-orphan-resources, クラスタープロパティとオプションの要約

symmetric-cluster, クラスタープロパティとオプションの要約

プロパティのクエリー, クラスタープロパティ設定のクエリー

プロパティの削除, クラスターのプロパティの設定と削除

プロパティの設定, クラスターのプロパティの設定と削除

クラスターのプロパティ, クラスターのプロパティの設定と削除, クラスタープロパティ設定のクエリー

クラスターの状態

表示, クラスターの状態表示

クラスターオプション, クラスタープロパティとオプションの要約

クローン, リソースのクローン

オプション

clone-max, クローンリソースの作成と削除

clone-node-max, クローンリソースの作成と削除

globally-unique, クローンリソースの作成と削除

interleave, クローンリソースの作成と削除

notify, クローンリソースの作成と削除

ordered, クローンリソースの作成と削除

クローンオプション, クローンリソースの作成と削除

グループ, リソースグループ, グループの Stickiness (粘着性)

グループリソース, リソースグループ

コロケーション, リソースのコロケーション

スコア, Pacemaker ルール

プロパティ

id, リソースのプロパティー, リソースの動作, 多状態のリソース: 複数モードのリソース

interval, リソースの動作

name, リソースの動作

on-fail, リソースの動作

provider, リソースのプロパティー

standard, リソースのプロパティー

timeout, リソースの動作

type, リソースのプロパティー

プロパティの削除, クラスターのプロパティの設定と削除

プロパティの設定, クラスターのプロパティの設定と削除

リソース, リソースのプロパティー, リソースを手作業で移動する

オプション

failure-timeout, リソースのメタオプション

is-managed, リソースのメタオプション

multiple-active, リソースのメタオプション

priority, リソースのメタオプション

requires, リソースのメタオプション

resource-stickiness, リソースのメタオプション

target-role, リソースのメタオプション

クリーンアップ, クラスターリソースのクリーンアップ

クローン, リソースのクローン

グループ, リソースグループ

プロパティ

id, リソースのプロパティー

provider, リソースのプロパティー

standard, リソースのプロパティー

type, リソースのプロパティー

他のリソースに相対的となる場所, リソースのコロケーション

制約

コロケーション, リソースのコロケーション

ルール, Pacemaker ルール

属性の式, ノード属性の式

日付と時刻の式, 時刻と日付ベースの式

日付の詳細, 日付の詳細

期間, 期間

順序, 順序の制約

場所

ルールで確定, リソースの場所の確定にルールを使用する

多状態, 多状態のリソース: 複数モードのリソース

有効化, クラスターリソースの有効化と無効化

無効化, クラスターリソースの有効化と無効化

移動する, リソースを手作業で移動する

起動順序, 順序の制約

リソースのクローン, リソースのクローン

リソースの場所の確定, リソースの場所の確定にルールを使用する

リソースオプション, リソースのメタオプション

ルール, Pacemaker ルール

boolean-op, Pacemaker ルール

role, Pacemaker ルール

score-attribute, Pacemaker ルール

スコア, Pacemaker ルール

リソースの場所の確定, リソースの場所の確定にルールを使用する

ルールで確定, リソースの場所の確定にルールを使用する

他のリソースに相対的となる場所, リソースのコロケーション

値, ノード属性の式

制約の式, ノード属性の式

制約

Date Specification日付の詳細

yeardays, 日付の詳細

コロケーション, リソースのコロケーション

ルール, Pacemaker ルール

boolean-op, Pacemaker ルール

role, Pacemaker ルール

score-attribute, Pacemaker ルール

スコア, Pacemaker ルール

場所

id, 場所の制約

score, 場所の制約

属性の式, ノード属性の式

operation, ノード属性の式

type, ノード属性の式

値, ノード属性の式

属性, ノード属性の式

日付と時刻の式, 時刻と日付ベースの式

end, 時刻と日付ベースの式

operation, 時刻と日付ベースの式

start, 時刻と日付ベースの式

日付の詳細, 日付の詳細

hours, 日付の詳細

id, 日付の詳細

monthdays, 日付の詳細

months, 日付の詳細

moon, 日付の詳細

weekdays, 日付の詳細

weeks, 日付の詳細

weekyears, 日付の詳細

years, 日付の詳細

期間, 期間

順序, 順序の制約

制約のルール, Pacemaker ルール

制約の式, ノード属性の式, 時刻と日付ベースの式

制約の式n, 時刻と日付ベースの式

制約ルール, Pacemaker ルール

削除

クラスターのプロパティ, クラスターのプロパティの設定と削除

動作

プロパティ

id, リソースの動作

interval, リソースの動作

name, リソースの動作

on-fail, リソースの動作

timeout, リソースの動作

動作プロパティ, リソースの動作

場所

score, 場所の制約

ルールで確定, リソースの場所の確定にルールを使用する

場所の制約, 場所の制約

多状態, 多状態のリソース: 複数モードのリソース, 多状態の粘着性

オプション

master-max, 多状態のリソース: 複数モードのリソース

master-node-max, 多状態のリソース: 複数モードのリソース

プロパティ

id, 多状態のリソース: 複数モードのリソース

多状態オプション, 多状態のリソース: 複数モードのリソース

多状態プロパティ, 多状態のリソース: 複数モードのリソース

属性, ノード属性の式

制約の式, ノード属性の式

属性の式, ノード属性の式

operation, ノード属性の式

type, ノード属性の式

値, ノード属性の式

属性, ノード属性の式

日付と時刻の式, 時刻と日付ベースの式

end, 時刻と日付ベースの式

operation, 時刻と日付ベースの式

start, 時刻と日付ベースの式

日付の詳細, 日付の詳細

hours, 日付の詳細

id, 日付の詳細

monthdays, 日付の詳細

months, 日付の詳細

moon, 日付の詳細

weekdays, 日付の詳細

weeks, 日付の詳細

weekyears, 日付の詳細

yeardays, 日付の詳細

years, 日付の詳細

時刻ベースの式, 時刻と日付ベースの式

有効化

リソース, クラスターリソースの有効化と無効化

期間, 期間

無効化

リソース, クラスターリソースの有効化と無効化

状態

表示, クラスターの状態表示

移動する, リソースを手作業で移動する

リソース, リソースを手作業で移動する

設定

クラスターのプロパティ, クラスターのプロパティの設定と削除

起動順序, 順序の制約

順序

kind, 順序の制約

順序の制約, 順序の制約

symmetrical, 順序の制約

順序付け, 順序の制約

, クラスターの作成

A

Action

Property

enabled, リソースの動作

Action Property, リソースの動作

B

batch-limit, クラスタープロパティとオプションの要約

クラスターオプション Option, クラスタープロパティとオプションの要約

boolean-op, Pacemaker ルール

制約のルール, Pacemaker ルール

C

clone-max, クローンリソースの作成と削除

クローンオプション, クローンリソースの作成と削除

clone-node-max, クローンリソースの作成と削除

クローンオプション, クローンリソースの作成と削除

cluster-delay, クラスタープロパティとオプションの要約

クラスターオプション, クラスタープロパティとオプションの要約

cluster-infrastructure, クラスタープロパティとオプションの要約

クラスターオプション, クラスタープロパティとオプションの要約

cluster-recheck-interval, クラスタープロパティとオプションの要約

クラスターオプション, クラスタープロパティとオプションの要約

Constraints

順序

kind, 順序の制約

D

dampen, 接続状態が変化したためリソースの移動を行う

Ping リソースオプション, 接続状態が変化したためリソースの移動を行う

dc-version, クラスタープロパティとオプションの要約

クラスターオプション, クラスタープロパティとオプションの要約

default-action-timeout, クラスタープロパティとオプションの要約

クラスターオプション, クラスタープロパティとオプションの要約

default-resource-stickiness, クラスタープロパティとオプションの要約

クラスターオプション, クラスタープロパティとオプションの要約

E

enable-acl, クラスタープロパティとオプションの要約

クラスターオプション, クラスタープロパティとオプションの要約

enabled, リソースの動作

Action Property, リソースの動作

end, 時刻と日付ベースの式

制約の式, 時刻と日付ベースの式

F

failure-timeout, リソースのメタオプション

リソースオプション, リソースのメタオプション

G

globally-unique, クローンリソースの作成と削除

クローンオプション, クローンリソースの作成と削除

H

host_list, 接続状態が変化したためリソースの移動を行う

Ping リソースオプション, 接続状態が変化したためリソースの移動を行う

hours, 日付の詳細

日付の詳細, 日付の詳細

I

id, リソースのプロパティー, リソースの動作, 日付の詳細

Action Property, リソースの動作

リソース, リソースのプロパティー

場所の制約, 場所の制約

多状態プロパティ, 多状態のリソース: 複数モードのリソース

日付の詳細, 日付の詳細

interleave, クローンリソースの作成と削除

クローンオプション, クローンリソースの作成と削除

interval, リソースの動作

動作プロパティ, リソースの動作

is-managed, リソースのメタオプション

リソースオプション, リソースのメタオプション

is-managed-default, クラスタープロパティとオプションの要約

クラスターオプション, クラスタープロパティとオプションの要約

K

kind, 順序の制約

順序の制約, 順序の制約

L

last-lrm-refresh, クラスタープロパティとオプションの要約

クラスターオプション, クラスタープロパティとオプションの要約

M

maintenance-mode, クラスタープロパティとオプションの要約

クラスターオプション, クラスタープロパティとオプションの要約

master-max, 多状態のリソース: 複数モードのリソース

多状態オプション, 多状態のリソース: 複数モードのリソース

master-node-max, 多状態のリソース: 複数モードのリソース

多状態オプション, 多状態のリソース: 複数モードのリソース

migration-limit, クラスタープロパティとオプションの要約

クラスターオプション, クラスタープロパティとオプションの要約

migration-threshold, リソースのメタオプション

Resource Option, リソースのメタオプション

monthdays, 日付の詳細

日付の詳細, 日付の詳細

months, 日付の詳細

日付の詳細, 日付の詳細

moon, 日付の詳細

日付の詳細, 日付の詳細

multiple-active, リソースのメタオプション

リソースオプション, リソースのメタオプション

multiplier, 接続状態が変化したためリソースの移動を行う

Ping リソースオプション, 接続状態が変化したためリソースの移動を行う

N

name, リソースの動作

動作プロパティ, リソースの動作

no-quorum-policy, クラスタープロパティとオプションの要約

クラスターオプション, クラスタープロパティとオプションの要約

notify, クローンリソースの作成と削除

クローンオプション, クローンリソースの作成と削除

O

on-fail, リソースの動作

動作プロパティ, リソースの動作

operation, ノード属性の式, 時刻と日付ベースの式

制約の式, ノード属性の式

制約の式 Expression, 時刻と日付ベースの式

Option

migration-threshold, リソースのメタオプション

multiple-active, リソースのメタオプション

resource-stickiness, リソースのメタオプション

ordered, クローンリソースの作成と削除

クローンオプション, クローンリソースの作成と削除

P

pe-error-series-max, クラスタープロパティとオプションの要約

クラスターオプション, クラスタープロパティとオプションの要約

pe-input-series-max, クラスタープロパティとオプションの要約

クラスターオプション, クラスタープロパティとオプションの要約

pe-warn-series-max, クラスタープロパティとオプションの要約

クラスターオプション, クラスタープロパティとオプションの要約

Ping リソース

オプション

multiplier, 接続状態が変化したためリソースの移動を行う

Ping リソースオプション, 接続状態が変化したためリソースの移動を行う

オプション

dampen, 接続状態が変化したためリソースの移動を行う

host_list, 接続状態が変化したためリソースの移動を行う

priority, リソースのメタオプション

リソースオプション, リソースのメタオプション

Property

enabled, リソースの動作

provider, リソースのプロパティー

リソース, リソースのプロパティー

R

requires, リソースのメタオプション

Resource

Option

migration-threshold, リソースのメタオプション

Resource Option, リソースのメタオプション

resource-stickiness, リソースのメタオプション

グループ, グループの Stickiness (粘着性)

リソースオプション, リソースのメタオプション

多状態, 多状態の粘着性

role, Pacemaker ルール

制約ルール, Pacemaker ルール

S

score, 場所の制約

制約ルール, Pacemaker ルール

場所の制約, 場所の制約

score-attribute, Pacemaker ルール

制約ルール, Pacemaker ルール

shutdown-escalation, クラスタープロパティとオプションの要約

クラスターオプション, クラスタープロパティとオプションの要約

standard, リソースのプロパティー

リソース, リソースのプロパティー

start, 時刻と日付ベースの式

制約の式, 時刻と日付ベースの式

start-failure-is-fatal, クラスタープロパティとオプションの要約

クラスターオプション, クラスタープロパティとオプションの要約

stonith-action, クラスタープロパティとオプションの要約

クラスターオプション, クラスタープロパティとオプションの要約

stonith-enabled, クラスタープロパティとオプションの要約

クラスターオプション, クラスタープロパティとオプションの要約

stonith-timeout, クラスタープロパティとオプションの要約

クラスターオプション, クラスタープロパティとオプションの要約

stop-all-resources, クラスタープロパティとオプションの要約

クラスターオプション, クラスタープロパティとオプションの要約

stop-orphan-actions, クラスタープロパティとオプションの要約

クラスターオプション, クラスタープロパティとオプションの要約

stop-orphan-resources, クラスタープロパティとオプションの要約

クラスターオプション, クラスタープロパティとオプションの要約

symmetric-cluster, クラスタープロパティとオプションの要約

クラスターオプション, クラスタープロパティとオプションの要約

symmetrical, 順序の制約

順序の制約, 順序の制約

T

target-role, リソースのメタオプション

リソースオプション, リソースのメタオプション

timeout, リソースの動作

動作プロパティ, リソースの動作

type, リソースのプロパティー, ノード属性の式

リソース, リソースのプロパティー

制約の式, ノード属性の式

W

weekdays, 日付の詳細

日付の詳細, 日付の詳細

weeks, 日付の詳細

日付の詳細, 日付の詳細

weekyears, 日付の詳細

日付の詳細, 日付の詳細

Y

yeardays, 日付の詳細

日付の詳細, 日付の詳細

years, 日付の詳細

日付の詳細, 日付の詳細