第5章 ccs コマンドを使用した Red Hat High Availability アドオンの設定
Red Hat Enterprise Linux 6.1 リリース以降、Red Hat High Availability アドオンは
ccs
クラスター設定コマンドのサポートを提供しています。ccs
コマンドにより、管理者は cluster.conf
クラスター設定ファイルの作成/修正/表示が可能です。ccs
コマンドを使用して、クラスター設定ファイルをローカルファイルシステム又はリモートノード上で設定できます。さらには、ccs
コマンドにより、管理者は設定済のクラスター内にある 1 つ又はすべてのノードでクラスターサービスの起動と停止を行うこともできます。
本章は
ccs
コマンドを使用した Red Hat High Availability アドオンクラスター設定ファイルの設定方法について説明しています。実行中のクラスターを管理するための ccs
コマンドの使用に関しては 6章Red Hat High Availability アドオンを使用した ccs の管理 をご覧ください。
本章は以下のセクションで構成されます。
注記
High Availability アドオンの導入がご使用のニーズに適合していて、サポート可能であることを確認してください。導入する前に、Red Hat 認定担当者に連絡して、設定を検証してください。さらに、設定のバーンイン期間を設けて障害モードのテストを実施してください。
注記
本章では、一般に使用されている
cluster.conf
の要素と属性を参照します。cluster.conf
の要素と属性の総括的な一覧と説明は、/usr/share/cluster/cluster.rng
にあるクラスタースキーマと /usr/share/doc/cman-X.Y.ZZ/cluster_conf.html
(例えば、/usr/share/doc/cman-3.0.12/cluster_conf.html
) にある注釈付きスキーマを参照してください。
5.1. 操作の概要
このセクションでは、クラスターを設定するための
ccs
コマンドの使用に関する一般的な操作について説明します。
5.1.1. ローカルシステム上でのクラスター設定ファイルの作成
ccs
コマンドを使用すると、クラスターノードでクラスター設定ファイルを作成できます。あるいは、ローカルファイルシステムでクラスター設定ファイルを作成して、それをクラスター内のホストに送信することも可能です。これによりローカルマシンのファイルでの作業が可能になるため、バージョン管理下で維持管理ができます。別の方法として、ニーズに合わせてファイルをタグ付けすることも可能です。ccs
コマンドを使用するには、root 権限は必要ありません。
ccs
コマンドを使用してクラスターノード上でクラスター設定ファイルを作成/編集する場合、-h
オプションを使用して、ホスト名を指定します。これは、ホストの cluster.conf
ファイルを作成/編集することになります:
ccs -h host [options]
ローカルシステム上でクラスター設定ファイルを作成/編集するには、
ccs
コマンドで -f
オプションを使用して、クラスターの操作を行う時に設定ファイル名を指定します。ファイル名は任意に指定できます。
ccs -f file [options]
ローカルでファイルを作成した後は
ccs
コマンドで --setconf
オプションを使用して、ファイルをクラスターノードに送信することができます。クラスター内のホストマシン上で、送信したファイルは cluster.conf
と名前が付けられ、/etc/cluster
ディレクトリに配置されます。
ccs -h host -f file --setconf
5.1.2. 現在のクラスター設定の表示
クラスターの設定ファイルの作成時に現在ファイルを出力したい場合、以下のコマンドを使用して、クラスター内のノードをホストとして指定します。
ccs -h host --getconf
5.1.3. ccs コマンドを使用した ricci パスワードの指定
ccs
コマンドは cluster.conf
ファイルのコピーをクラスターのノード群に配布します。このコマンドの実行には、「ricci
の注意事項」 で説明してあるように、クラスターノード群に ricci がインストールされ稼働している必要があります。ricci を使用する場合は、いずれかのマシンから ricci とやりとりを行う初回時にパスワードが必要になります。
使用しているマシンからある特定のマシン上で ricci のインスタンスのパスワードを入力していない場合は、
ccs
コマンドが必要な場合にパスワードをプロンプトします。別の方法として、-p
オプションを使用して、コマンドラインで ricci パスワードを指定することも可能です。
ccs -h host -p password --sync --activate
ccs
コマンドの --sync
オプションを使用して cluster.conf
ファイルをクラスター内の全ノードに伝播し、そのコマンドに ricci パスワードを指定する場合、ccs
コマンドはクラスター内の各ノードにそのパスワードを使用します。個々のノードで ricci に違うパスワードを設定する必要がある場合は、--setconf
に -p
オプションを付けて使用することで、設定ファイルを同時に 1 つのノードに配布できます。
5.1.4. クラスター設定コンポーネントの修正
ccs
コマンドを使用して、クラスターコンポーネント及びそれらの属性をクラスター設定ファイル内で設定します。そのファイルにクラスターコンポーネントを追加した後に、そのコンポーネントの属性を修正するには、定義したコンポーネントを削除してから、属性を修正して再度コンポーネントを追加しなければなりません。各コンポーネントでこれを実行する方法の詳細は、本章の個別のセクションで紹介しています。
cman
クラスターコンポーネントの属性は、クラスターコンポーネントの変更手順に例外を追加できます。この属性を変更するには、ccs
コマンドの --setcman
オプションを実行して、新しい属性を指定します。「以前の設定を上書きするコマンド」 に記載されているように、このオプションを指定すると、明示的に指定していない値はすべてデフォルト値にリセットされるので注意してください。
5.1.5. 以前の設定を上書きするコマンド
ccs
コマンドの中には、プロパティを設定すると上書きセマンティクスの実装をするオプションが複数あります。つまり、設定を何も指定せずにオプションの 1 つをつけて ccs
コマンドを実行できますが、全設定がデフォルト値にリセットされるということです。これらのオプションは以下のとおりです。
--settotem
--setdlm
--setrm
--setcman
--setmulticast
--setaltmulticast
--setfencedaemon
--setlogging
--setquorumd
例えば、フェンスデーモンのプロパティをすべてリセットするには、以下のコマンドを実行します。
# ccs -h hostname --setfencedaemon
ただし、これらのコマンドのいずれかを使用してプロパティをリセットした場合、コマンドのその他のプロパティがデフォルト値にリセットされる点に注意してください。例えば、以下のコマンドを使用して
post_fail_delay
プロパティを 5 に設定することができます。
# ccs -h hostname --setfencedaemon post_fail_delay=5
コマンド実行後、以下のコマンドを実行して
post_join_delay
プロパティを 10 にリセットすると、post_fail_delay
プロパティはデフォルト値にリセットされます。
# ccs -h hostname --setfencedaemon post_join_delay=10
post_fail_delay
と post_join_delay
の両方のプロパティをリセットするには、以下の例のように、同じコマンド内で両方を指定します。
# ccs -h hostname --setfencedaemon post_fail_delay=5 post_join_delay=10
フェンスデバイスの設定に関する詳細情報は、「フェンスデバイスの設定」 を参照してください。
5.1.6. 設定の妥当性検証
ccs
コマンドを使用して、クラスター設定ファイルの作成/編集を行う場合、設定はクラスタースキーマに従って自動的に検証されます。Red Hat Enterprise Linux 6.3 リリース以降、ccs
コマンドは -h
オプションで指定するノードの /usr/share/cluster/cluster.rng
にあるクラスタースキーマに従って設定を検証します。これまでは、ccs
コマンドは ccs
コマンドでパッケージ化されたローカルシステムのクラスタースキーマである /usr/share/ccs/cluster.rng
を常に使用していました。-f
オプションを使用してローカルシステムを指定する場合は、ccs
コマンドはそのシステムで ccs
コマンドでパッケージ化されたクラスタースキーマの /usr/share/ccs/cluster.rng
を引き続き使用します。