
dejanmm at fastmail
Apr 26, 2011, 1:50 AM
Post #3 of 8
(1048 views)
Permalink
|
Hi Junko-san, On Mon, Apr 25, 2011 at 08:48:31PM +0900, Junko IKEDA wrote: > Hi Dejan, > > I translated "crm_cli.txt" to Japanese. Great! > I got the original file from Pacemaker 1.0 (rev e6f5769f5de2), > so, is it possible to apply it into 1.0 repository for now? > It seems that all ".txt" file in doc dir will be converted into html > with asciidoc. That depends on the distribution and availability of asciidoc. > I confirmed that "asciidoc" can convert the attached txt into html > format successfully. > # asciidoc crm_cli-ja-JP.txt > > I am now translating its version 1.1 and also trying to translate the May I suggest that you go with the devel version, because crm_cli.txt was converted to crm.8.txt. There are not many textual changes, just some obsolete parts removed. > other document, for example, Pacemaker_Explained. > > Thanks, > Junko IKEDA Cheers, Dejan > NTT DATA INTELLILINK CORPORATION > CRM CLI (command line interface) tool > ====================================== > Dejan_Muhamedagic,_Yan_Gao dejan [at] suse,ygao [at] novell > v0.94, Februar 18, 2010: > > CRM(別名 Pacemaker)はクラスタマネージャです。CIB(Cluster Information Base)に蓄積された情報をもとにクラスタを管理します。CIBはXMLで記述されています。CIBは構文が複雑なので、CIBの情報を変更する手順はかなり煩雑です。 > > .備考 > ***** > XMLの扱いに慣れたユーザであれば、CIBの編集はそれほど難しくないかもしれません。 > ***** > > 現在、CIBの情報を変更するために下記のツールが提供されています。 > > - GUI > - コマンドラインツール(crm_resource など) > - cibadmin > > GUIは特に人気のあるツールで、現在でも改良が続けられています。初めてクラスタを管理する場合はまずGUIを試してみるとよいでしょう。 > > > Pacemaker には crm_resource をはじめとするコマンドラインツールが付属しており、これらのツールでCIBの編集を行うこともできます。しかし、コマンドラインツールはオプションの種類が多く、操作も複雑であるため、習熟に時間がかかるという欠点があります。また、それぞれのコマンドラインツールでオプションが統一されていないものもあり、ユーザが混乱する原因にもなっています。 > > コマンドラインツールの一つである cibadmin は、優れた管理ツールです。ユーザはCIB全体ではなくCIBの一部のみを取り出して編集することもできます。しかし、このツールは操作が難しいため、かなり経験を積んだユーザにしか使いこなせないでしょう。何度も繰り返し操作を試してみて慣れていくしかありませんが、エラーメッセージもわかりにくいため、さらに敷居が高くなっています。 > > == CRM-CLIの開発目標 > > CRM-CLIは、CIBの編集およびクラスタの管理を行うためのツールです。CRM-CLIは内部でコマンドラインツールが呼びだしており、コマンドラインツールを通してXMLの編集が行われます。それぞれのツールで実行された結果は互換性を保持しています。 > > CRM-CLIは、対話式だけではなくバッチ入力にも対応しています。標準入力から一連のコマンドを連続して実行することも可能であるため、操作をスクリプト化することもできます。クラスタの設定や管理に慣れていないユーザのために、テンプレートも用意されています。 > > CRM-CLIを操作することによって、CIBそのものを生成することもできます。CRM-CLIのコマンドを記述したスクリプトはXML形式ではありませんが、CIBに適用することが可能です。 > > 新しい機能として、シャドーCIBも利用可能となりました。ユーザは複数のシャドーCIBを作成し、そのうちの一つをクラスタへ反映することができます。 > XML形式の設定を直接編集し、ファイルまたはネットワーク経由でCIBに適用することも可能です。 > > ユーザの熟練度に応じて使用可能な機能を限定することもできます。 > > CRM-CLIはコマンドラインツールです。各コマンドは基本的には一行で実行してください。コマンドに複数のオプションを追加して行が長くなってしまった場合は、継続文字(\)を使って改行してください。 > > CRM-CLIは、クラスタ内のノードで実行してください。 > > .備考 > ***** > クラスタの管理は全てCRM-CLIで実行可能となるように開発が続けられていますが、特定のXMLに関してはまだ対応できていない箇所もあります。不具合を見つけたらバグレポートを提出してください。 > > CRM-CLIによる操作が失敗した場合、操作内容はCIBに反映されません。ただし、CRM-CLIを使わずに直接XMLを編集してCIBを変更することは可能です。 > ***** > > == ユーザインターフェースの概略 > > このツールの最も重要な部分はユーザインタフェースです。この章では形式ばったチュートリアルではなく感覚的に理解できるような例をいくつか紹介します。では、CRM-CLIの使い方を簡単に紹介しましょう。 > > 1. コマンドラインモード > > # crm resource stop www_app > > 2. 対話式モード > > # crm > crm(live)# resource > crm(live) resource# unmanage tetris_1 > crm(live) resource# up > crm(live)# node standby node4 > > 3. バッチモード > > # crm<<EOF > configure > erase > # > # resources > # > primitive disk0 iscsi \ > params portal=192.168.2.108:3260 target=iqn.2008-07.com.suse:disk0 > primitive fs0 Filesystem \ > params device=/dev/disk/by-label/disk0 directory=/disk0 fstype=ext3 > primitive internal_ip IPaddr params ip=192.168.1.101 > primitive apache apache \ > params configfile=/disk0/etc/apache2/site0.conf > primitive apcfence stonith:apcsmart \ > params ttydev=/dev/ttyS0 hostlist="node1 node2" \ > op start timeout=60s > primitive pingd pingd \ > params name=pingd dampen=5s multiplier=100 host_list="r1 r2" > # > # monitor apache and the UPS > # > monitor apache 60s:30s > monitor apcfence 120m:60s > # > # cluster layout > # > group internal_www \ > disk0 fs0 internal_ip apache > clone fence apcfence \ > meta globally-unique=false clone-max=2 clone-node-max=1 > clone conn pingd \ > meta globally-unique=false clone-max=2 clone-node-max=1 > location node_pref internal_www \ > rule 50: #uname eq node1 \ > rule pingd: defined pingd > # > # cluster properties > # > property stonith-enabled=true > commit > EOF > > CRM-CLIを使ったことがなくても、上記の例は直感的に理解することができるのではないでしょうか。CRM-CLIを使用することによってクラスタを効率的に管理するとともに、容易に設定を変更することができます。 > > コマンドプロンプトに表示される (live) という文字列は、操作対象のCIBが実行中のクラスタ(ライブCIB)であることを表しています。ライブCIBとは別にシャドーCIBを使用することができます。シャドーCIBとは、ライブCIBのコピーと考えてよいでしょう。シャドーCIBに対する変更はライブCIBには反映されません。 > > CIBは、XMLの階層構造を保持しており、CRM-CLIは、XMLの階層ごとに特定のコマンドを使うことができます。 > > === シャドーCIBの使い方 > > シャドーCIBは新しく追加された機能です。シャドーCIBはライブCIBと同様の操作が可能ですが、シャドーCIBに対する設定変更はクラスタには反映されません。管理者は複数のシャドーCIBを作成し、そのうちの一つだけをクラスタに反映することもできます。シャドーCIBの操作中は、プロンプトにシャドーCIBの名前が表示されます。シャドーCIBでは、階層別でいうと configure レベルのコマンドのみ使用可能です。 > > configure commit コマンドを実行してはじめて、シャドーCIBでの変更がクラスタに反映されます。クラスタを設定する際、最初はライブCIBを直接編集することが多いかもしれませんが、慣れてきたらまずシャドーCIBで設定を変更し、設定内容が間違っていないことを確認してからクラスタに反映するほうがよいでしょう。シャドーCIBの操作方法 > .................................................. > crm(live)configure# cib new test-2 > INFO: test-2 shadow CIB created > crm(test-2)configure# commit > .................................................. > > === テンプレート > > CRM-CLIには、クラスタを設定するための基本的なテンプレートがいくつか用意されています。ユーザはテンプレートを利用することによって、複雑な操作を行わずにクラスタを設定することができます。Pacemaker をはじめて使用する場合は、まずテンプレートを使用してクラスタを設定してみてください。 > > では、テンプレートを使用して Apache の設定を行ってみましょう。 > .................................................. > # crm configure > crm(live)configure# template > crm(live)configure template# list templates > apache filesystem virtual-ip > crm(live)configure template# new web <TAB><TAB> > apache filesystem virtual-ip > crm(live)configure template# new web apache > INFO: pulling in template apache > INFO: pulling in template virtual-ip > crm(live)configure template# list > web2-d web2 vip2 web3 vip web > .................................................. > > 最初に、configure レベルに移動して template コマンドを実行してください。list template コマンドを実行すると、利用可能な template の一覧が表示されます。new コマンドを実行して、apaceh の設定を作成します。タブキーによる入力補完も使用することができます。apache の設定は仮想IPの設定にも依存するため、仮想IP用の設定も自動的に生成されます。ここで list コマンドを実行すると、先ほど作成した web という名前の設定(apache, 仮想IP)が表示されます。上の例では以前に作成した web 以外の設定も表示されています。 > > show コマンドを実行すると、設定内容が表示されます。ユーザがそれぞれの環境にあわせて設定を変更する必要のあるパラメータは、エラーメッセージが表示されます。エラーメッセージは設定が必要なパラメータごとに表示されます。 > .................................................. > crm(live)configure template# show > ERROR: 23: required parameter ip not set > ERROR: 61: required parameter id not set > ERROR: 65: required parameter configfile not set > crm(live)configure template# edit > .................................................. > > edit コマンドを実行するとテキストエディタが起動します。エディタを使用して先ほどの設定(設定名:web)を手動で編集しましょう。ファイルの先頭に、変更が必要な項目が表示されています。よく作りこまれたテンプレートの場合、ユーザはいくつかのパラメータ値を入力するだけでクラスタの設定が完了します。先ほどの設定(設定名:web)の場合、次のパラメータを変更する必要があります。変更する必要のあるパラメータの接頭辞に %% が追加されています。 > .................................................. > $ grep -n ^%% ~/.crmconf/web > 23:%% ip > 31:%% netmask > 35:%% lvs_support > 61:%% id > 65:%% configfile > 71:%% options > 76:%% envfiles > .................................................. > > 上記のパラメータはユーザの環境にあわせて変更する必要があります。各行の最後尾にパラメータ値を追加してください。編集しおわった設定を再度検索すると、下記のような表示がえられるでしょう。netmask, lvs_support, options, envfiles はオプションのため、パラメータ値の設定は必須ではありません。 > .................................................. > $ grep -n ^%% ~/.crmconf/web > 23:%% ip 192.168.1.101 > 31:%% netmask > 35:%% lvs_support > 61:%% id websvc > 65:%% configfile /etc/apache2/httpd.conf > 71:%% options > 76:%% envfiles > .................................................. > > パラメータの設定方法は非常にシンプルです。パラメータの名前と値をスペースで区切って定義してください。 > .................................................. > %% <name> <value> > .................................................. > > edit コマンドで設定を編集した後、再度 show コマンドを実行して設定内容を確認してください。 > .................................................. > crm(live)configure template# show > primitive virtual-ip ocf:heartbeat:IPaddr \ > params ip="192.168.1.101" > primitive apache ocf:heartbeat:apache \ > params configfile="/etc/apache2/httpd.conf" > monitor apache 120s:60s > group websvc \ > apache virtual-ip > .................................................. > > 上記の手順で、apache と仮想IPを含んだ group リソースを設定することができました。ここでは group リソースの名前を websvc とします。 > > configure レベルで show コマンドを実行すると、設定内容が表示されます。template ではじめから提供されていた内容に加えて、ユーザ環境に依存するパラメータ値が追加されていることを確認してください。上記の設定手順はよく理解しておいてください。 > > 設定した内容をクラスタに適用します。適用した内容は、template よりも一つ上の階層である configure レベルで確認することができます。 > .................................................. > crm(live)configure template# apply > crm(live)configure template# cd .. > crm(live)configure# show > node xen-b > node xen-c > primitive apache ocf:heartbeat:apache \ > params configfile="/etc/apache2/httpd.conf" \ > op monitor interval="120s" timeout="60s" > primitive virtual-ip ocf:heartbeat:IPaddr \ > params ip="192.168.1.101" > group websvc apache virtual-ip > .................................................. > > ここで注意しなくてはならないのは、apply コマンドを実行した時点では、設定内容はまだクラスタに反映されていないということです。これはライブCIBを直接編集する場合だけではなく、シャドーCIBを操作する場合も同じです。設定内容をクラスタに反映するためには、commit コマンドを実行する必要があります。 > > 次に、初期起動時にリソースが起動するノードを決定するための配置制約を設定します。 > .................................................. > crm(live)configure# location websvc-pref websvc 100: xen-b > .................................................. > > テンプレートを使用するとデフォルトのリソース名が設定されますが、rename コマンドでリソース名を変更することもできます。 > .................................................. > crm(live)configure# rename virtual-ip intranet-ip > crm(live)configure# show > node xen-b > node xen-c > primitive apache ocf:heartbeat:apache \ > params configfile="/etc/apache2/httpd.conf" \ > op monitor interval="120s" timeout="60s" > primitive intranet-ip ocf:heartbeat:IPaddr \ > params ip="192.168.1.101" > group websvc apache intranet-ip > location websvc-pref websvc 100: xen-b > .................................................. > > これまでの手順をまとめてみます。クラスタの設定を行うためには次の手順が必要です。 > > - new: 新しいテンプレートを作成します。 > - edit: ユーザの環境にあわせてパラメータ値を設定します。 > - show: 設定内容を確認します。 > - apply: configure レベルで、設定内容を適用します(まだクラスタには反映されていません)。 > > === タブキーによる入力補完について > > CRM-CLIはタブキーによる入力補完が可能です。入力補完は静的にも動的にも実行可能です。後者はクラスタの状態やリソースエージェントの情報を取得するために必要となります。入力補完はコマンドのヘルプ表示やリソースに必要なパラメータを表示するためにも使用できます。実行例: > .................................................. > crm(live)# resource <TAB><TAB> > bye exit manage param show unmanage > cd failcount meta quit start unmigrate > cleanup help migrate refresh status unmove > end list move reprobe stop up > crm(live)# configure > crm(live)configure# primitive fence-1 <TAB><TAB> > heartbeat: lsb: ocf: stonith: > crm(live)configure# primitive fence-1 stonith:ipmilan params <TAB><TAB> > auth= hostname= ipaddr= login= password= port= priv= > crm(live)configure# primitive fence-1 stonith:ipmilan params auth=<TAB><TAB> > auth* (string) > The authorization type of the IPMI session ("none", "straight", "md2", or "md5") > crm(live)configure# primitive fence-1 stonith:ipmilan params auth= > .................................................. > > [[SEMCHK]] > === 構文チェック > > リソースの定義については、リソースエージェントの meta-data に基づいて構文チェックが実行がされます。例えば、次のようなチェックが実行されます。 > > - 必要なパラメータが設定されているか > - 定義されたパラメータが存在しているか > - リソースの各オペレーション(start/stop/promote/demote/monitor)にタイムアウト値は設定されているか > > パラメータ値のチェックは一般的なものなので、特に説明する必要はないでしょう。構文チェックでエラーとなった項目は、設定時にもエラーが出力されます。 > > オペレーションのタイムアウト値は meta-data に記述された推奨値よりも大きくする必要があります。タイムアウト値が小さすぎるために発生する不具合はよくある設定ミスなのですが、タイムアウト値が短い設定でもクラスタは正常に起動してしまうため、不具合発生時に原因の解明が難しくなることがあります。オペレーションに設定されたタイムアウト値が短いと、クラスタはリソースの起動時に「警告(warning)」を出力します。この場合、タイムアウト値を再検討したほうがよいでしょう。meta-data で推奨されている値はあくまで最小のタイムアウト値です。特定の環境によってはさらに大きな値が必要となる場合もありますので注意してください。 > > 構文チェックが実行される頻度は、<<cmdhelp_options_check-frequency,check-frequency>> または <<cmdhelp_options_check-mode,check-mode>> で定義されています。 > > check-frequency が always に設定されており、かつ check-mode が strict に設定されている場合、エラーは決して許容されないため、エラーを含む設定内容はクラスタに反映されません。 > > == コマンドリファレンス > > CRM-CLIによるクラスタの設定手順は非常にシンプルです。クラスタを管理するコマンドを実行する際、いくつかのオプションが必要になる場合もあります。configure レベルで使用するコマンドに関してはいくつか複雑なものが存在しますが、その他のコマンドは総じて直感的に理解可能です。 > > 構文例 > `<>`は文字列を示します。 > `[]`は省略可能であることを意味します。 > (`...`)は、構文の繰り返しを意味します。 > `|`は、多数の項目から1項目を選ぶことを意味します。 > (strings, `:`, `=`)はその他の構文要素です。 > > > === `status` > > status コマンドはクラスタの状態を表示します。crm_mon コマンドで表示される内容とほぼ同じものです。引数を追加すると、詳細情報の表示や異なるフォーマットでの表示なども可能です。詳細は crm_mon コマンドの man を参照してください。 > > 使用方法 > .................................................. > status [<option> ...] > > option :: bynode | inactive | ops | timing | failcounts > .................................................. > > [[cmdhelp_cib,CIB shadow management]] > === `cib` (shadow CIBs) > > cib コマンドはシャドーCIBの管理を行います。cib コマンドはCRM-CLIのトップレベルと configure レベルでのみ実行可能です。 > > 内部的に cib_shadow コマンドを実行しているため、環境変数 CIB_shadow が必要となります。CRM-CLIを実行中、プロンプトにはシャドーCIBもしくはライブCIBの名前が表示されます。 > > [[cmdhelp_cib_new,create a new shadow CIB]] > ==== `new` > > new コマンドは新しいシャドーCIBを作成します。new コマンドを実行するとライブCIBがシャドーCIBにコピーされます。シャドーCIBの status セクションを編集する場合は withstatus を指定してください。 詳細は、<<cmdhelp_cibstatus,cibstatus>> を参照してください。ライブCIBを既存のシャドーCIBに強制上書きする場合は、force オプションを追加してください。 > > シャドーCIBをライブCIBからではなく、全く空の状態から作成する場合は、emply を指定してください。つまり、シャドーCIBはライブCIBが存在していない、つまりクラスタが起動していない状態でも作成可能です。 > > 使用方法 > .................................................. > new <cib> [withstatus] [force] [empty] > .................................................. > > [[cmdhelp_cib_delete,delete a shadow CIB]] > ==== `delete` > > delete コマンドはシャドーCIBを削除します。 > > 使用方法 > .................................................. > delete <cib> > .................................................. > > [[cmdhelp_cib_reset,copy live cib to a shadow CIB]] > ==== `reset` > > reset コマンドはシャドーCIBにライブCIBを上書きします。 > > 使用方法 > .................................................. > reset <cib> > .................................................. > > [[cmdhelp_cib_commit,copy a shadow CIB to the cluster]] > ==== `commit` > > commit コマンドはシャドーCIBの内容をクラスタに反映します。 > > 使用方法 > .................................................. > commit <cib> > .................................................. > > [[cmdhelp_cib_use,change working CIB]] > ==== `use` > > 複数のシャドーCIBが存在する場合、編集対象のシャドーCIBを use コマンドで選択します。シャドーCIBの status セクションを編集する場合は withstatus を指定してください。 詳細は、<<cmdhelp_cibstatus,cibstatus>> を参照してください。シャドーCIBが複数存在している場合、編集中に他のシャドーCIBに移動することもできますし、現在実行中のライブCIBへ移動することもできます。 > > 使用方法 > .................................................. > use [<cib>] [withstatus] > .................................................. > > [[cmdhelp_cib_diff,diff between the shadow CIB and the live CIB]] > ==== `diff` > > diff コマンドはクラスタとシャドーCIBの差分を表示します。 > > 使用方法 > .................................................. > diff > .................................................. > > [[cmdhelp_cib_list,list all shadow CIBs]] > ==== `list` > > list コマンドは既存のシャドーCIBの一覧を表示します。 > > 使用方法 > .................................................. > list > .................................................. > > [[cmdhelp_cib_import,import a CIB or PE input file to a shadow]] > ==== `import` > > import コマンドはファイルに保存されたCIBの情報をシャドーCIBに取り込みます。CIBの情報はPE(Policy Engine)からファイルとして出力されています。import コマンドは、まずプログラムが実行されたローカルディレクトリを参照した後、/var/lib/pengine 以下を検索します。CIBファイルが見つかると、シャドーCIBに内容がコピーされます。このシャドーCIBは即座に configure レベルと cibstatus レベルで編集可能となります。 > > 引数としてシャドーCIBの名前が省略された場合は、インポートされたファイル名がシャドーCIBの名前として使用されます。 > > PEファイルは複数出力されていることが多いので、ファイル名を指定する際は注意してください。 > > 使用方法 > .................................................. > import {<file>|<number>} [<shadow>] > .................................................. > 設定例 > .................................................. > import pe-warn-2222 > import 2289 issue2 > .................................................. > > [[cmdhelp_cib_cibstatus,CIB status management and editing]] > ==== `cibstatus` > > cibstatus コマンドはCIB の statsu セクションを編集、管理します。詳細は <<cmdhelp_cibstatus,cibstatus>> を参照してください。 > > [[cmdhelp_ra,Resource Agents (RA) lists and documentation]] > === `ra` > > ra コマンドはリソースエージェントに関連する情報を表示します。ra コマンドはCRM-CLIのトップレベルと configure レベルで実行可能です。 > > [[cmdhelp_ra_classes,list classes and providers]] > ==== `classes` > > classes コマンドはリソースエージェントの class および provider を表示します。 > > 使用方法 > .................................................. > classes > .................................................. > > [[cmdhelp_ra_list,list RA for a class (and provider)]] > ==== `list` > > list コマンドは利用可能なリソースエージェントを表示します。class パラメータに ocf を指定した場合、利用可能な OCF RA を表示します。 > > 使用方法 > .................................................. > list <class> [<provider>] > .................................................. > 使用例 > .................................................. > list ocf pacemaker > .................................................. > > [[cmdhelp_ra_meta,show meta data for a RA]] > ==== `meta` (`info`) > > meta コマンドはリソースエージェントの meta-data を表示します。リソースエージェントの使用方法などを表示します。 > > 使用方法 > .................................................. > meta [<class>:[<provider>:]]<type> > meta <type> <class> [<provider>] (obsolete) > .................................................. > 使用例 > .................................................. > meta apache > meta ocf:pacemaker:Dummy > meta stonith:ipmilan > .................................................. > > [[cmdhelp_ra_providers,show providers for a RA and a class]] > ==== `providers` > > providers コマンドはリソースエージェントの provider を表示します。デフォルトの class は ocf です。 > > 使用方法 > .................................................. > providers <type> [<class>] > .................................................. > 使用例 > .................................................. > providers apache > .................................................. > > [[cmdhelp_resource,Resource management]] > === `resource` > > resource コマンドでリソースを管理することができます。 > > resource コマンドによる操作は、crm_resource などでも代替可能です。 > > [[cmdhelp_resource_status,show status of resources]] > ==== `status` (`show`, `list`) > > status コマンドはリソースの状態を表示します。引数が省略された場合は、すべてのリソースの状態が表示されます。 > > 使用方法 > .................................................. > status [<rsc>] > .................................................. > > [[cmdhelp_resource_start,start a resource]] > ==== `start` > > start コマンドは target-role 属性を設定し、リソースを起動します。複数の meta 属性が存在する場合は、すべての属性が設定されます。リソースが、group リソース、または clone リソースの場合、子リソースから target-role 属性が削除されます。 > > 使用方法 > .................................................. > start <rsc> > .................................................. > > [[cmdhelp_resource_stop,stop a resource]] > ==== `stop` > > stop コマンドは target-role 属性を設定し、リソースを停止します。複数の meta 属性が存在する場合は、すべての属性が設定されます。リソースが、group リソース、または clone リソースの場合、子リソースから target-role 属性が削除されます。 > > 使用方法 > .................................................. > stop <rsc> > .................................................. > > [[cmdhelp_resource_restart,restart a resource]] > ==== `restart` > > restart コマンドはリソースを再起動します。このコマンドは、start と stop を連続して実行します。リソースが完全に停止するまでコマンドは待機状態となります。すべてのリソースが停止した後に起動処理が実行されます。このコマンドは複数のオペレーションを実行するため、実行中にメッセージが出力されることもあります。 > > 使用方法 > .................................................. > restart <rsc> > .................................................. > 使用例 > .................................................. > # crm resource restart g_webserver > INFO: ordering g_webserver to stop > waiting for stop to finish .... done > INFO: ordering g_webserver to start > # > .................................................. > > [[cmdhelp_resource_promote,promote a master-slave resource]] > ==== `promote` > > promote コマンドは target-role 属性を設定し、リソースをマスタ状態へプロモートします。 > > 使用方法 > .................................................. > promote <rsc> > .................................................. > > [[cmdhelp_resource_demote,demote a master-slave resource]] > ==== `demote` > > demote コマンドは target-role 属性を設定し、リソースをスレーブ状態へデモートします。 > > 使用方法 > .................................................. > demote <rsc> > .................................................. > > [[cmdhelp_resource_manage,put a resource into managed mode]] > ==== `manage` > > manage コマンドは is-managed 属性を変更し、リソースを管理対象とします。複数の meta 属性が存在する場合は、すべての属性が設定されます。リソースが、group リソース、または clone リソースの場合、子リソースから target-role 属性が削除されます。 > > 使用方法 > .................................................. > manage <rsc> > .................................................. > > [[cmdhelp_resource_unmanage,put a resource into unmanaged mode]] > ==== `unmanage` > > unamanage コマンドは is-managed 属性を変更し、リソースを管理対象から除外します。複数の meta 属性が存在する場合は、すべての属性が設定されます。リソースが、group リソース、または clone リソースの場合、子リソースから target-role 属性が削除されます。 > > 使用方法 > .................................................. > unmanage <rsc> > .................................................. > > [[cmdhelp_resource_migrate,migrate a resource to another node]] > ==== `migrate` (`move`) > > migrate コマンドはリソースを別のノードへ移動させます。引数として移動先のノードが省略された場合は、リソースが現在起動しているノードに対する制約が変更されます。リソースが現行ノードで実行不可となる制約が追加されるため、リソースは他ノードへ移動します。制約には lifetime というオプションを追加することも可能です。lifetime が失効すると、そのノードに対する配置制約は無効となります。 > > 使用方法 > .................................................. > migrate <rsc> [<node>] [<lifetime>] [force] > .................................................. > > [[cmdhelp_resource_unmigrate,unmigrate a resource to another node]] > ==== `unmigrate` (`unmove`) > > unmigrate コマンドは migrate コマンドで作成された制約を削除します。 > > 使用方法 > .................................................. > unmigrate <rsc> > .................................................. > > [[cmdhelp_resource_param,manage a parameter of a resource]] > ==== `param` > > param コマンドはリソースのパラメータを表示、編集、削除します。 > > 使用方法 > .................................................. > param <rsc> set <param> <value> > param <rsc> delete <param> > param <rsc> show <param> > .................................................. > 使用例 > .................................................. > param ip_0 show ip > .................................................. > > [[cmdhelp_resource_meta,manage a meta attribute]] > ==== `meta` > > リソースの meta 属性を表示、編集、削除します。現在、全てのリソースの meta 属性は、この meta コマンド以外、例えば resource stop などでも操作可能です。 > > 使用方法 > .................................................. > meta <rsc> set <attr> <value> > meta <rsc> delete <attr> > meta <rsc> show <attr> > .................................................. > 使用例 > .................................................. > meta ip_0 set target-role stopped > .................................................. > > [[cmdhelp_resource_failcount,manage failcounts]] > ==== `failcount` > > failcount コマンドはリソースのフェイルカウントを表示、編集、削除します。 > > 使用方法 > .................................................. > failcount <rsc> set <node> <value> > failcount <rsc> delete <node> > failcount <rsc> show <node> > .................................................. > 使用例 > .................................................. > failcount fs_0 delete node2 > .................................................. > > [[cmdhelp_resource_cleanup,cleanup resource status]] > ==== `cleanup` > > cleanup コマンドはリソースの故障履歴(フェイルカウントを含む)を削除します。このコマンドはリソースの故障が発生した後にリソースの故障履歴を削除するために使用されます。ノード情報を指定する引数を省略した場合、全てのノードで故障履歴の削除が実行されます。ノードの数が多い場合、コマンドの実行時間が長くなってしまう可能性があるので注意してください。 > > 使用方法 > .................................................. > cleanup <rsc> [<node>] > .................................................. > > [[cmdhelp_resource_refresh,refresh CIB from the LRM status]] > ==== `refresh` > > refresh コマンドはCIBに含まれるLRMの状態を更新します。 > > 使用方法 > .................................................. > refresh [<node>] > .................................................. > > [[cmdhelp_resource_reprobe,probe for resources not started by the CRM]] > ==== `reprobe` > > reprobe コマンドはCRMを経由せずに起動したリソースの probe 処理を実行します。 > > 使用方法 > .................................................. > reprobe [<node>] > .................................................. > > [[cmdhelp_node,Nodes management]] > === `node` > > node コマンドはノードの管理を行います。 > > [[cmdhelp_node_status,show nodes' status]] > ==== `status` > > status コマンドはノードの状態を表示します。引数が省略された場合、すべてのノードの状態が表示されます。 > > 使用方法 > .................................................. > status [<node>] > .................................................. > > [[cmdhelp_node_show,show node]] > ==== `show` > > show コマンドはノードの設定内容を表示します。引数が省略された場合、すべてのノードの状態が表示されます。 > > 使用方法 > .................................................. > show [<node>] > .................................................. > > [[cmdhelp_node_standby,put node into standby]] > ==== `standby` > > standby コマンドはノードをスタンバイ化します。ノードを指定する引数が省略された場合、コマンドを実行しているノードがスタンバイ化されます。lifetime というオプションを使用することも可能です。lifetime に reboot を設定した場合、ノードが再起動した後、ノードは online 状態でクラスタに参加します。lifetime に forever を設定した場合、ノードが再起動した後も、ノードは standby 状態を維持します。 > > 使用方法 > .................................................. > standby [<node>] [<lifetime>] > > lifetime :: reboot | forever > .................................................. > > [[cmdhelp_node_online,set node online]] > ==== `online` > > online コマンドはノードをオンライン化します。ノードを指定する引数が省略された場合、コマンドを実行しているノードがオンライン化されます。 > > 使用方法 > .................................................. > online [<node>] > .................................................. > > [[cmdhelp_node_fence,fence node]] > ==== `fence` > > fence コマンドはノードをフェンス(停止)します。フェンスは、STONITH リソースが利用可能な場合にのみ実行されます。STONITH リソースが設定されていない場合は、フェンスも実行されません。 > > 使用方法 > .................................................. > fence <node> > .................................................. > > [[cmdhelp_node_clearstate,Clear node state]] > ==== `clearnodestate` > > cleannodestate コマンドは特定ノードの状態をクリアします。このコマンドを実行すると、ノードは故障履歴などが削除され、offline 状態であるとみなされます。ノードがフェンスされた状態を手動で再現することができます。 > > 注意!この操作は共有ディスクの二重マウントなどを引き起こす可能性もあるので注意してください。 > > 使用方法 > .................................................. > clearstate <node> > .................................................. > > [[cmdhelp_node_delete,delete node]] > ==== `delete` > > delete コマンドはノードの定義内容を削除します。delete コマンドはCIBからノードの情報を削除します。メンバシップレイヤとして Heartbeat を実行している場合、内部的に hb_delnode コマンドが実行されます。 > > 使用方法 > .................................................. > delete <node> > .................................................. > > [[cmdhelp_node_attribute,manage attributes]] > ==== `attribute` > > attribute コマンドはノードの属性を編集します。ノードに必要なメモリサイズなどを属性値として設定する際に、このコマンドを使用するとよいでしょう。 > > 使用方法 > .................................................. > attribute <node> set <attr> <value> > attribute <node> delete <attr> > attribute <node> show <attr> > .................................................. > 使用例 > .................................................. > attribute node_1 set memory_size 4096 > .................................................. > > [[cmdhelp_node_status-attr,manage status attributes]] > ==== `status-attr` > > status-attr コマンドはCIBに含まれるのノード属性(クラスタの実行中に変更される属性)を編集します。例えば、`pingd`により作成される属性は、このコマンドによって編集することができます。 > > 使用方法 > .................................................. > status-attr <node> set <attr> <value> > status-attr <node> delete <attr> > status-attr <node> show <attr> > .................................................. > 使用例 > .................................................. > status-attr node_1 show pingd > .................................................. > > [[cmdhelp_options,user preferences]] > === `options` > > option コマンドを使用して、CRM-CLIに各種のオプションを設定することができます。 > > [[cmdhelp_options_skill-level,set skill level]] > ==== `skill-level` > > skill-level を設定することによって、各ユーザが実行可能な操作を制限することができます。ユーザの権限は、operator、administrator、expertの3種類のレベルから選択可能です。operator は、resource および node 関連のコマンドを使用できますが、リソースの編集や削除はできません。administrator は、operator の機能の他に、configure でクラスタを設定し、シャドーCIBを管理できます。expert は全ての操作を実行することができます。 > > 使用方法 > .................................................. > skill-level <level> > > level :: operator | administrator | expert > .................................................. > > [[cmdhelp_options_user,set the cluster user]] > ==== `user` > > クラスタを管理するには root ユーザの権限が必要な場合があります。。crm_verify コマンドや crm_resource コマンド、最終的に cibadmin コマンドを実行する場合は、root や、CRMのオーナー(通常 hacluster )のいずれかとしてコマンドを実行する必要があります。user コマンドで実行ユーザを指定してください。root ユーザでCRM-CLIを実行する場合は、ユーザ権限に関係する挙動について考慮する必要はありません。ただし、通常は root ユーザ以外のユーザでCRM-CLIを操作し、必要な場合だけ適切なユーザ(例:hacluster)に切り替える(例:sudores ファイルの利用)ほうが安全でしょう。 > > 使用方法 > .................................................. > user system-user > .................................................. > 使用例 > ............ > user hacluster > ........................................ > > [[cmdhelp_options_editor,set preferred editor program]] > ==== `editor` > > editor コマンドはエディタを起動します。好みのエディタプログラムを指定することができます。特定のエディタが設定されていない場合は、EDITOR 環境変数もしくは標準UNIXエディタのいずれか(vi, emacs, nano)がデフォルトで設定されます。 > > 使用方法 > .................................................. > editor program > .................................................. > 使用例 > .................................................. > editor vim > .................................................. > > [[cmdhelp_options_pager,set preferred pager program]] > ==== `pager` > > pager コマンドはページャを起動します。 好みのページャプログラムを指定することができます。ページャが設定されていない場合は、PAGER 環境変数もしくは標準UNIXエディタのいずれか(less, more, pg)がデフォルトで設定されます。 > > [[cmdhelp_options_sort-elements,sort CIB elements]] > ==== `sort-elements` > > CRM-CLIはデフォルトでCIBの要素をソートして表示します。CIBの要素を作成された順序に表示したい場合、sort-elements を no に設定してください。 > > 使用方法 > .................................................. > sort-elements {yes|no} > .................................................. > 使用例 > .................................................. > sort-elements no > .................................................. > > [[cmdhelp_options_output,set output type]] > ==== `output` > > CRM-CLIには装飾機能も実装されています。文字を色分けして表示する機能と、キーワードを大文字で表示する機能が利用可能です。設定可能なパラメータは plain, color, uppercase です。color と upperclass は組み合わせて使用することも可能です。ここでは、color と uppercase を設定してみましょう。 > > [[cmdhelp_options_colorscheme,set colors for output]] > ==== `colorscheme` > > output に color を設定します。カンマ区切り形式で複数の color を指定することもできます。下記の情報を出力した際に文字が色分けされます。 > > - keywords > - object ids > - attribute names > - attribute values > - scores > - resource references > > CRM-CLIの出力を色分けするためには、python-curses がインストールされている必要があります。ターミナルで利用可能な色を設定してください。デフォルトの表示を使用する場合は normal を指定します。 > > デフォルト値は、yellow,normal,cyan,red,green,magenta です。ターミナルの背景を黒地にしておくと見やすいでしょう。色設定を保存する方法は、別の章を参照してください。 > > 使用例 > .................................................. > colorscheme yellow,normal,blue,red,green,magenta > .................................................. > > [[cmdhelp_options_check-frequency,when to perform semantic check]] > ==== `check-frequency` > > 設定が変更されると、CIBの構文チェックが実施されます。内部的にはXMLの要素が修正されたり、新たな要素が作成されたりしています。これは、check-frequency がデフォルトで always に設定されているためです。熟練者であれば、on-verify を変更してもよいでしょう。check-frequency を never に設定すると、構文チェックは実行されません。check-frequency が on-verify の場合は、verify コマンドが実行されたタイミングで構文チェックが実行されます。 > > 構文チェックを実施するためには、リソースエージェントが指定のディレクトリに配置されていなくてはなりません。リソースエージェント用のパッケージ(resource-agents)をインストールしていない場合は、check-frequency を never に設定して構文チェックが実行されないようにしてください。 > > 詳細は <<SEMCHK,Configuration semantic checks>> を参照してください。 > > [[cmdhelp_options_check-mode,how to treat semantic errors]] > ==== `check-mode` > > 設定が変更されるたびに、CIBの構文チェックが実施され、check-mode の設定に応じて構文チェックの結果が出力されます。構文チェックで誤りが発見された場合、デフォルトでは「エラー」レベルでメッセージが出力されますが、check-mode を relaxed に設定すると、「警告」レベルで出力されます。check-mode のデフォルト値は strict です。 > > 詳細は <<SEMCHK,Configuration semantic checks>> を参照してください。 > > [[cmdhelp_options_show,show current user preference]] > ==== `show` > > show コマンドはCRM-CLIの設定内容を表示します。 > > [[cmdhelp_options_save,save the user preferences to the rc file]] > ==== `save` > > save コマンドはCRM-CLIの設定内容を保存します。保存先は $HOME/.crm.rc です。CRM-CLIの実行時には、rc ファイルが自動的に読み込まれます。 > > [[cmdhelp_configure,CIB configuration]] > === `configure` > > configure レベルではCIBのオブジェクトに対して設定の変更などを行うことができます。 > > 設定内容は4つに分類されます。ノードの設定、リソースの設定、制約の設定、属性の設定の4つです。configure レベルのコマンドは、異なるCIBオブジェクトでも共通で使用できるものもあります。 > > 例えば、node コマンドは、ノードの設定変更だけではなく、ノードの属性に関する設定変更を実行することができます。 > > 設定可能なリソースは次の通りです。 > > - primitive > - monitor > - group > - clone > - ms/master (master-slave) > > 設定可能な制約は三種類あります。 > > - location(配置制約) > - colocation(同居制約) > - order(順序制約) > > クラスタ全体の挙動を設定するためのクラスタプロパティや、リソースのメタ属性、オペレーションのデフォルト値なども編集することができます。クラスタプロパティ、リソースのメタ属性、オペレーションのデフォルト値は属性値として処理されます。属性値は次のコマンドで操作します。 > > - property > - rsc_defaults > - op_defaults > > 変更された設定内容は、configuration レベルから抜けたとき、または、commit コマンドが実行されたときにCIBに反映されます。 > > [[cmdhelp_configure_node,define a cluster node]] > ==== `node` > > node コマンドでノードを定義することができます。ノードの情報はCRMによって自動的に作成されます。ノードの属性値を編集する場合を除いて、このコマンドでなにか操作を実行する必要はあまりありません。ノードの属性値もこのコマンドで編集可能です。 > > 使用方法 > .................................................. > node <uname>[:<type>] > [attributes <param>=<value> [<param>=<value>...]] > > type :: normal | member | ping > .................................................. > 使用例 > .................................................. > node node1 > node big_node attributes memory=64 > .................................................. > > [[cmdhelp_configure_primitive,define a resource]] > ==== `primitive` > > primitive リソースを定義します。primitive リソースは、group リソースや clone リソース、master-slave リソースから参照されます。他リソースから参照されていない primitive リソースは単純な一つのリソースとして起動します。 > > primitive リソースのオペレーションは三通りの方法で定義することができます。Anonymous リソースはオペレーションが定義されていないリソースです。オペレーションの設定を他のリソースから参照しない場合に使用します。一般的なリソースには、いくつかのオペレーションが定義されます。オペレーションの定義を他のリソースから参照可能な状態にするためには、operations というキーワードを追加した後に、$id-ref でユニークなIDを定義してください。他のリソースからは、このIDを参照します。 > > オペレーションの属性は instance attribute として保持されます。オペレーションの属性値として典型的な例は OCF_CHECK_LEVEL です。 > > 使用方法 > .................................................. > primitive <rsc> [<class>:[<provider>:]]<type> > [params attr_list] > [meta attr_list] > [operations id_spec] > [op op_type [<attribute>=<value>...] ...] > > attr_list :: [$id=<id>] <attr>=<val> [<attr>=<val>...] | $id-ref=<id> > id_spec :: $id=<id> | $id-ref=<id> > op_type :: start | stop | monitor > .................................................. > 使用例 > .................................................. > primitive apcfence stonith:apcsmart \ > params ttydev=/dev/ttyS0 hostlist="node1 node2" \ > op start timeout=60s \ > op monitor interval=30m timeout=60s > > primitive www8 apache \ > params configfile=/etc/apache/www8.conf \ > operations $id-ref=apache_ops > > primitive db0 mysql \ > params config=/etc/mysql/db0.conf \ > op monitor interval=60s \ > op monitor interval=300s OCF_CHECK_LEVEL=10 > .................................................. > > [[cmdhelp_configure_monitor,add monitor operation to a primitive]] > ==== `monitor` > > monitor は最も一般的なオペレーションです。リソースの設定に、monitor オペレーションのみを追加することもできます。primitive リソースは単純なリソースですが、様々な設定を追加していくと複雑になってしまう場合もあります。このコマンドは、あくまで monitor オペレーションを単純に追加することを目的としているため、monitor オペレーションに関する属性値を全て設定できるわけではありません。もし、monitor オペレーションに特殊な属性を設定したい場合は、primitive コマンドを使用してください。 > > 使用方法 > .................................................. > monitor <rsc>[:<role>] <interval>[:<timeout>] > .................................................. > 使用例 > .................................................. > monitor apcfence 60m:60s > .................................................. > > 上の例では、primitive リソースの定義に monitor オペレーションの interval(60分)と timeout(60秒)を追加しています。 > > [[cmdhelp_configure_group,define a group]] > ==== `group` > > group リソースを定義します。 > > 使用方法 > .................................................. > group <name> <rsc> [<rsc>...] > [meta attr_list] > [params attr_list] > > attr_list :: [$id=<id>] <attr>=<val> [<attr>=<val>...] | $id-ref=<id> > .................................................. > 使用例 > .................................................. > group internal_www disk0 fs0 internal_ip apache \ > meta target_role=stopped > .................................................. > > [[cmdhelp_configure_clone,define a clone]] > ==== `clone` > > clone リソースを定義します。一つの primitive リソース、または一つの group リソースで構成されます。 > > 使用方法 > .................................................. > clone <name> <rsc> > [meta attr_list] > [params attr_list] > > attr_list :: [$id=<id>] <attr>=<val> [<attr>=<val>...] | $id-ref=<id> > .................................................. > 使用例 > .................................................. > clone cl_fence apc_1 \ > meta clone-node-max=1 globally-unique=false > .................................................. > > [[cmdhelp_configure_ms,define a master-slave resource]] > ==== `ms` (`master-slave`) > > master-slave リソースを定義します。一つの primitive リソース、または一つの group リソースで構成されます。 > > 使用方法 > .................................................. > ms <name> <rsc> > [meta attr_list] > [params attr_list] > > attr_list :: [$id=<id>] <attr>=<val> [<attr>=<val>...] | $id-ref=<id> > .................................................. > 使用例 > .................................................. > ms disk1 drbd1 \ > meta notify=true globally-unique=false > .................................................. > > .備考 「id-ref」 の使用方法 > ***** > params や meta のような属性は、他のリソースで設定済みの属性を参照することができます。id-ref を使用した場合、参照値以外の属性は設定できません。id-ref には、参照元となるリソース属性(operations)の ID を設定します。参照元 が存在している場合は、CRM-CLIは id-ref に自動的に参照値を設定します。 > > .................................................. > crm(live)configure# primitive a2 www-2 meta $id-ref=a1 > crm(live)configure# show a2 > primitive a2 ocf:heartbeat:apache \ > meta $id-ref="a1-meta_attributes" > [...] > .................................................. > id-ref で参照することを考慮して、リソースの属性値にはわかりやすい ID を設定することをお勧めします。 > ***** > > [[cmdhelp_configure_location,a location preference]] > ==== `location` > > location はリソースの配置制約を定義します。配置制約は、1つ以上の rule から構成されており、rule に適合したリソースに対して特定のスコアが割り当てられます。 > > 使用方法 > .................................................. > location <id> <rsc> {node_pref|rules} > > node_pref :: <score>: <node> > > rules :: > rule [id_spec] [$role=<role>] <score>: <expression> > [rule [id_spec] [$role=<role>] <score>: <expression> ...] > > id_spec :: $id=<id> | $id-ref=<id> > score :: <number> | <attribute> | [-]inf > expression :: <simple_exp> [bool_op <simple_exp> ...] > bool_op :: or | and > simple_exp :: <attribute> [type:]<binary_op> <value> > | <unary_op> <attribute> > | date <date_expr> > type :: string | version | number > binary_op :: lt | gt | lte | gte | eq | ne > unary_op :: defined | not_defined > > date_expr :: lt <end> > | gt <start> > | in_range start=<start> end=<end> > | in_range start=<start> <duration> > | date_spec <date_spec> > duration|date_spec :: > hours=<value> > | monthdays=<value> > | weekdays=<value> > | yearsdays=<value> > | months=<value> > | weeks=<value> > | years=<value> > | weekyears=<value> > | moon=<value> > .................................................. > 設定例 > .................................................. > location conn_1 internal_www 100: node1 > > location conn_1 internal_www \ > rule 50: #uname eq node1 \ > rule pingd: defined pingd > > location conn_2 dummy_float \ > rule -inf: not_defined pingd or pingd number:lte 0 > .................................................. > > [[cmdhelp_configure_colocation,colocate resources]] > ==== `colocation` (`collocation`) > > colocation はリソースの同居制約を定義します。二つ以上のリソースに対して、リソース間の制約を定義することができます。同居制約には依存関係の優先順位を設定することができます。括弧で囲まれたリソースの依存関係が優先されます。次の例では、リソース B, C の依存関係が A との依存関係よりも優先されます。 > > 使用方法 > .................................................. > colocation <id> <score>: <rsc>[:<role>] <rsc>[:<role>] ... > .................................................. > 使用例 > .................................................. > colocation dummy_and_apache -inf: apache dummy > colocation c1 inf: A ( B C ) > .................................................. > > [[cmdhelp_configure_order,order resources]] > ==== `order` > > order はリソースの順序制約を定義します。二つ以上のリソースに対して、リソース間の制約を定義することができます。順序制約には依存関係の優先順位を設定することができます。括弧で囲まれたリソースの依存関係が優先されます。次の例では、リソース B, C の依存関係が A との依存関係よりも優先されます。 > > 使用方法 > .................................................. > order <id> score-type: <rsc>[:<action>] <rsc>[:<action>] ... > [symmetrical=<bool>] > > score-type :: advisory | mandatory | <score> > .................................................. > 使用例 > .................................................. > order c_apache_1 mandatory: apache:start ip_1 > order o1 inf: A ( B C ) > .................................................. > > [[cmdhelp_configure_property,set a cluster property]] > ==== `property` > > property コマンドはクラスタの全体的な設定を行います。CIBの crm_config セクションに設定されます。 > > 使用方法 > .................................................. > property [$id=<set_id>] <option>=<value> [<option>=<value> ...] > .................................................. > 使用例 > .................................................. > property stonith-enabled=true > .................................................. > > [[cmdhelp_configure_rsc_defaults,set resource defaults]] > ==== `rsc_defaults` > > rsc_defaults コマンドはリソースに設定する meta 属性のデフォルト値を定義します。 > > 使用方法 > .................................................. > rsc_defaults [$id=<set_id>] <option>=<value> [<option>=<value> ...] > .................................................. > 使用例 > .................................................. > rsc_defaults failure-timeout=3m > .................................................. > > [[cmdhelp_configure_op_defaults,set resource operations defaults]] > ==== `op_defaults` > > op_defaults コマンドはオペレーションに設定する meta 属性のデフォルト値を定義します。 > > 使用方法 > .................................................. > op_defaults [$id=<set_id>] <option>=<value> [<option>=<value> ...] > .................................................. > 使用例 > .................................................. > op_defaults record-pending=true > .................................................. > > [[cmdhelp_configure_show,display CIB objects]] > ==== `show` > > show コマンドはオブジェクトの内容を表示します。全てのオブジェクトを一括で表示することもできますし、特定のオブジェクトのみを表示することもできます。また、変更されたオブジェクトのみを表示することもできます。CLI形式ではなくXML形式で表示することも可能です。 > > 使用方法 > .................................................. > show [xml] [<id> ...] > show [xml] changed > .................................................. > > [[cmdhelp_configure_edit,edit CIB objects]] > ==== `edit` > > edit コマンドを実行するとテキストエディタが起動します。エディタを使用してオブジェクトを編集することができます。show コマンドと同様に、全てのオブジェクトを一括で編集することもできますし、特定のオブジェクトのみを編集することもできます。 > > XML形式で編集することも可能ですが、オブジェクトの ID を変更しないように注意してください。 > > 使用方法 > .................................................. > edit [xml] [<id> ...] > edit [xml] changed > .................................................. > > [[cmdhelp_configure_delete,delete CIB objects]] > ==== `delete` > > delete コマンドはCIBのオブジェクトを削除します。group リソースのように、他のオブジェクトに対して依存関係のあるオブジェクトが削除された場合、依存関係にあるオブジェクトも一緒に削除されます。また、削除するオブジェクトに依存関係のある制約も全て削除されます。 > > 使用方法 > .................................................. > delete <id> [<id>...] > .................................................. > > [[cmdhelp_configure_rename,rename a CIB object]] > ==== `rename` > > rename コマンドはオブジェクトの名前を変更します。リソースの名前を変更したい場合は、このコマンドを使用してください。rename コマンドを使用するとリソースと依存関係にある制約も一括して変更されます。edit コマンドでリソースの名前を変更した場合は、制約の設定までは変更されません。 > > リソースの名前を変更したい場合は、リソースを停止した状態で rename コマンドを実行してください。 > > 使用方法 > .................................................. > rename <old_id> <new_id> > .................................................. > > [[cmdhelp_configure_refresh,refresh from CIB]] > ==== `refresh` > > refresh コマンドはCIBを更新します。commit コマンドでクラスタに反映されていない内容は全て失われます。 > > 使用方法 > .................................................. > refresh > .................................................. > > [[cmdhelp_configure_erase,erase the CIB]] > ==== `erase` > > erae コマンドはCIBの全ての設定を削除します。ノード情報は削除対象外です。CIBからノード情報を削除したい場合は、nodes コマンドの使用方法を参照してください。 > > 実行中のクラスタからノードの情報を削除すると、予想外の動作を発生する可能性があるので注意してください。 > > 使用方法 > .................................................. > erase [nodes] > .................................................. > > [[cmdhelp_configure_ptest,show cluster actions if changes were committed]] > ==== `ptest` > > ptest コマンドを実行して、PE(Policy Engine)の遷移グラフを表示します。 > > CIBには、ユーザが編集した情報だけではなく、実行中のクラスタの状態が含まれています。ユーザが編集した情報を、実行中のクラスタに反映した場合、クラスタの状態がどのように遷移するかを ptest で確認することができます。 > > クラスタの情報を保持している status セクションは <<cmdhelp_cibstatus,`cibstatus`>> レベルのコマンドで操作されます。ptest コマンドは実際のクラスタ状態を変化させることなく、擬似的に遷移グラフを作成します。 > > ptest の実行結果を図で表示するためには、実行環境に graphviz をインストールします。X11セッション で ptest コマンドを実行すると、dottyが実行され遷移グラフが表示されます。 > > -v オプションで詳細情報が表示されます。ptest コマンドでリソースに割り当てられたスコアを表示することもできます。 > > 使用方法 > .................................................. > ptest [nograph] [v...] [scores] > .................................................. > 設定例 > .................................................. > ptest scores > ptest vvvvv > .................................................. > > [[cmdhelp_configure_cibstatus,CIB status management and editing]] > ==== `cibstatus` > > cibstatus コマンドはCIB の statsu セクションを編集、管理します。詳細は <<cmdhelp_cibstatus,CIB status management section>> を参照してください。 > > [[cmdhelp_configure_template,edit and import a configuration from a template]] > ==== `template` > > 特定のテンプレートをエディタに取り込みます。テンプレートの利用方法はユーザごとに異なるでしょう。詳細は <<cmdhelp_template,template>> を参照してください。 > > 使用方法 > .................................................. > template [xml] url > .................................................. > 使用例 > .................................................. > template two-apaches.txt > .................................................. > > [[cmdhelp_configure_commit,commit the changes to the CIB]] > ==== `commit` > > commit コマンドは変更内容をCIBに反映します。configuration レベルで実行したコマンドはCIBに即座に反映されているわけではありません。変更内容がCIBに反映されるタイミングは、commit コマンドを実行した時、または、configure レベルを抜けたときのいずれかです。複数のユーザが同時に編集を行っている場合は、CIBによって設定内容の反映が拒否されることもあります。このような場合は、force オプションを追加して強制的に変更を反映することもできます。 > > 使用方法 > .................................................. > commit [force] > .................................................. > > [[cmdhelp_configure_verify,verify the CIB with crm_verify]] > ==== `verify` > > verify コマンドは変更内容を検証します。 > > 使用方法 > .................................................. > verify > .................................................. > > [[cmdhelp_configure_upgrade,upgrade the CIB to version 1.0]] > ==== `upgrade` > > 「CIB not supported」というエラーが出力された場合は、CIBのバージョンが古い可能性があります。CIBのバージョンを更新するために、update コマンドを実行してCIBをバージョンアップしてください。内部的に cibadmin コマンドが実行されます。 > .................................................. > # cibadmin --upgrade --force > .................................................. > > エラーが表示されなくてもCIBのバージョンが古いということがわかっている場合は、 force オプションを使用して強制的にバージョンアップしてください。 > > 使用方法 > .................................................. > upgrade [force] > .................................................. > > [[cmdhelp_configure_save,save the CIB to a file]] > ==== `save` > > save コマンドは設定内容をファイルに保存します。XML形式で保存することも可能です。 > > 使用方法 > .................................................. > save [xml] <file> > .................................................. > 使用例 > .................................................. > save myfirstcib.txt > .................................................. > > [[cmdhelp_configure_load,import the CIB from a file]] > ==== `load` > > locad コマンドはローカルまたはネットワーク上のファイルを読み込みます。replace オプションを使用した場合、現在の設定は全て置換されます。update オプションを使用した場合、現在の設定は上書きされます。ファイルの形式はCLIまたはXMLです。 > > 使用方法 > .................................................. > load [xml] <method> URL > > method :: replace | update > .................................................. > 使用例 > .................................................. > load xml update myfirstcib.xml > load xml replace http://storage.big.com/cibs/bigcib.xml > .................................................. > > [[cmdhelp_configure_xml,raw xml]] > ==== `xml` > > CRM-CLIはXMLを編集しないことを前提としていますが、CIBの内容が複雑になると、まれにXMLを直接編集しなければならない場合があります。このような場合は、xml コマンドを使用してください。xml コマンドを使用して、XMLの各要素を直接編集することができます。手動編集によってXMLの構文が冗長になってしまった場合などは、CRM-CLIは自動的に通常の形式に変換します。ただし、xml コマンドを使用しなくてもほとんどの設定は実行可能です。 > > 使用方法 > .................................................. > xml <xml> > .................................................. > > [[cmdhelp_template,edit and import a configuration from a template]] > === `template` > > 事前に準備されたテンプレートを使用してクラスタの設定を行うことができます。テンプレートは典型的なクラスタの雛形です。ユーザはテンプレートの一部のパラメータを変更するだけで容易にクラスタを設定することができます。 > > このコマンドは、template レベルだけでなく、configuration レベルのさらに下の階層(configuration/template)でも実行可能です。 > > [[cmdhelp_template_new,create a new configuration from templates]] > ==== `new` > > new コマンドは新しいテンプレートを作成します。テンプレートは同時に複数作成することも可能です。configuration レベルと template レベルの設定内容は別々に保存されます。よって、それぞれの階層で同じ名前のテンプレートを作成することができます。 > > テンプレートに必要なパラメータがすでにわかっている場合は、テンプレートを作成する段階で値を入力することもできます。 > > パラメータの ID はデフォルトで設定名が使用されます。 > > 使用方法 > .................................................. > new <config> <template> [<template> ...] [params name=value ...]" > .................................................. > 設定例 > .................................................. > new vip virtual-ip > new bigfs ocfs2 params device=/dev/sdx8 directory=/bigfs > .................................................. > > [[cmdhelp_template_load,load a configuration]] > ==== `load` > > load コマンドは既存のテンプレートを読み込みます。edit コマンド、show コマンド、apply コマンドは読み込まれたテンプレートを参照します。 > > 使用方法 > .................................................. > load <config> > .................................................. > > [[cmdhelp_template_edit,edit a configuration]] > ==== `edit` > > edit コマンドでエディタを起動し、テンプレートを編集することができます。 > > 使用方法 > .................................................. > edit [<config>] > .................................................. > > [[cmdhelp_template_delete,delete a configuration]] > ==== `delete` > > delete コマンドはテンプレートを削除します。読み込まれた設定は強制的に削除されます。 > > 使用方法 > .................................................. > delete <config> [force] > .................................................. > > [[cmdhelp_template_list,list configurations/templates]] > ==== `list` > > list コマンドは利用可能なテンプレートを表示します。 > > 使用方法 > .................................................. > list [templates] > .................................................. > > [[cmdhelp_template_apply,process and apply the current configuration to the current CIB]] > ==== `apply` > > apply コマンドはテンプレートの内容をライブCIBに適用します。デフォルトでは、update オプションが使用されるためCIBは上書きされます。replace オプションを指定した場合、CIBは置換されます。 > > 使用方法 > .................................................. > apply [<method>] [<config>] > > method :: replace | update > .................................................. > > [[cmdhelp_template_show,show the processed configuration]] > ==== `show` > > show コマンドはテンプレートの内容を表示します。 > > 使用方法 > .................................................. > show [<config>] > .................................................. > > [[cmdhelp_cibstatus,CIB status management and editing]] > === `cibstatus` > > CIBの cibstatus セクションは、実行中のノードやリソースの情報を保持しています。このセクションは、リソースのオペレーションが実行された際や、ノードの状態が変更した際にのみ変更されます。cibstatus セクションはCRMによって変更されますが、CRMは cibstatus セクションを編集するためのユーザインターフェースを提供していません。このため、cibstatus セクションは基本的には読み取り専用領域となります。cibstatus セクションはディスク上にファイルとして保存されません。しかしクラスタの遷移状態を実行するPE(Policy Engine)の出力には保存されています。cibstatus セクションの状態は、cibadmin -Q コマンドで表示することができます。 > > cibstatus セクションが変更されると Policy Engine の挙動にどのような影響を与えるのかについては興味深い点もあります。cibstatus レベルで提供されているコマンドは、CIB の status セクションに保持された様々な値を表示します。状態遷移の詳細については <<cmdhelp_configure_ptest,ptest>> を参照してください。 > > [[cmdhelp_cibstatus_load,load the CIB status section]] > ==== `load` > > load コマンドはファイルやシャドーCIB、ライブCIBから status セクションを読み込みます。デフォルトではライブCIBから status セクションを読み込みます。ユーザがファイルやシャドーCIBから status セクションを読み込んだ場合、クラスタの cibstatus が上書きされてしまうため、クラスタの状態遷移がCIBに反映されない場合があります。クラスタの状態を復旧するためには、load live コマンドを実行してください。 > > シャドーCIBは、status セクションを含んでいますが、その情報はシャドーCIBが作成されたときのものです。よって、実行中のクラスタとは異なる status 情報が含まれていることもあります。このため、ptest コマンドのデフォルトの動作は、実行中のクラスタの status セクションを参照します。 > > 使用方法 > .................................................. > load {<file>|shadow:<cib>|live} > .................................................. > 使用例 > .................................................. > load bug-12299.xml > load shadow:test1 > .................................................. > > [[cmdhelp_cibstatus_save,save the CIB status section]] > ==== `save` > > save コマンドは編集内容をファイルもしくはシャドーCIBへ保存します。 > > CIBのフォーマットで記述されたファイルがすでに存在する場合は、status セクションの変更内容のみが置換されます。CIBフォーマットのファイルが存在しない場合は、status セクションだけではなくすべての設定が保存されます。 > > 引数が省略された場合は、status セクションの変更はオリジナルのCIBに保存されます。オリジナルのCIBとは実行中のクラスタが参照するライブCIBのことです。 > > 使用方法 > .................................................. > save [<file>|shadow:<cib>] > .................................................. > 使用例 > .................................................. > save bug-12299.xml > .................................................. > > [[cmdhelp_cibstatus_origin,display origin of the CIB status section]] > ==== `origin` > > origin コマンドは実行中のクラスタで使用している設定を表示します。最新の設定が表示されます。 > > 使用方法 > .................................................. > origin > .................................................. > > [[cmdhelp_cibstatus_show,show CIB status section]] > ==== `show` > > show コマンドはクラスタの状態をXML形式で表示します。出力された内容を理解するためにはXMLやCIBの知識が必要となります。引数に changed オプションを追加すると、いくぶか読みやすい出力になるかもしれません。 > > 使用方法 > .................................................. > show [changed] > .................................................. > > [[cmdhelp_cibstatus_node,change node status]] > ==== `node` > > node コマンドはノードの状態を変更します。ノードをクラスタから除外したり、新しいノードをクラスタに追加したりするだけではなく、クラスタに参加しているノードの状態を unclean へ変更することもできます。 > > online:: node_state, crmd の属性を online へ変更します。また、expected, join の属性を member へ変更します。ノードはクラスタに参加します。 > > offline:: node_state, crmd の属性を offline へ変更します。また、expected の属性を削除します。ノードはクラスタから除外されます。 > > unclean:: node_state, crmd の属性を offline へ変更します。また、expected の属性を member へ変更します。ノードはクラスタ内でオフライン状態となります。 > > 使用方法 > .................................................. > node <node> {online|offline|unclean} > .................................................. > 使用例 > .................................................. > node xen-b unclean > .................................................. > > [[cmdhelp_cibstatus_op,edit outcome of a resource operation]] > ==== `op` > > op コマンドを使用してリソースのオペレーションに設定された名前を編集することができます。オペレーションが実行されると、通常はリソースエージェントから規定の返り値が戻されます。オペレーションの名前だけでなく、オペレーションの状態(op_status)を変更することも可能です。オペレーションの状態を done 以外に設定する場合は、リソースエージェントからの返り値は無視されます。 > > 使用方法 > .................................................. > op <operation> <resource> <exit_code> [<op_status>] [<node>] > > operation :: probe | monitor[:<n>] | start | stop | > promote | demote | notify | migrate_to | migrate_from > exit_code :: <rc> | success | generic | args | > unimplemented | perm | installed | configured | not_running | > master | failed_master > op_status :: pending | done | cancelled | timeout | notsupported | error > > n :: the monitor interval in seconds; if omitted, the first > recurring operation is referenced > rc :: numeric exit code in range 0..9 > .................................................. > 使用例 > .................................................. > op start d1 xen-b generic > op start d1 xen-b 1 > op monitor d1 xen-b not_running > op stop d1 xen-b 0 timeout > .................................................. > > === `end` (`cd`, `up`) > > end コマンドは現在のレベルを終了して、一つ上のレベルへ移動します。このコマンドはどのレベル、どのコマンドでも利用可能です。 > > 使用方法 > .................................................. > end > .................................................. > > === `help` > > help コマンドは、現在のレベルで実行可能なコマンドや、コマンドのオプションについてヘルプ情報を表示します。このコマンドはどのレベル、どのコマンドでも利用可能です。 > > 使用方法 > .................................................. > help [<topic>] > .................................................. > > === `quit` (`exit`, `bye`) > > CRM-CLIを終了します。 > > ////////////////////// > vim:ts=4:sw=4:expandtab: > ////////////////////// > _______________________________________________________ > Linux-HA-Dev: Linux-HA-Dev [at] lists > http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev > Home Page: http://linux-ha.org/ _______________________________________________________ Linux-HA-Dev: Linux-HA-Dev [at] lists http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev Home Page: http://linux-ha.org/
|