適用先 SUSE Linux Enterprise High Availability Extension 12

5 クラスタリソースの設定と管理(Webインタフェース)

クラスタリソースを設定および管理するには、HA Web Konsole (Hawk)、Webベースユーザインタフェース、またはcrmシェル(crmsh)コマンドラインユーティリティのいずれかを使用します。

Hawkを使用すれば、Linux以外のマシンからも、Linuxクラスタを監視し、管理することができます。さらにこれは、ご使用のシステムが最小限のグラフィカルユーザインタフェースしか提供していない場合に最適なソリューションです。

この章では、Hawkを紹介し、グローバルクラスタオプションの変更、基本的なリソースと高度なリソース(グループとクローン)の作成、制約の設定、フェールオーバーノードとフェールバックノードの指定、リソースモニタリングの設定、リソースの始動、クリーンアップ、または削除、および手動によるリソースの移行など、クラスタリソースの設定と管理のための基本的な作業について説明します。Hawkは、クラスタステータスの詳細な分析のために、クラスタレポート(hb_report)を生成します。クラスタの履歴を表示できます。また、シミュレータにより、可能性のある障害シナリオを検討することができます。

5.1 Hawk - 概要

HawkのWebインタフェースを使用すれば、Linux以外のマシンからも、Linuxクラスタを監視し、管理することができます。さらにこれは、ご使用のシステムが最小限のグラフィカルユーザインタフェースしか提供していない場合に最適なソリューションです。

5.1.1 Hawkの起動とログイン

このWebインタフェースは、hawkパッケージに含まれています。これは、Hawkで接続するすべてのクラスタノードにインストールする必要があります。Hawkを使用してクラスタノードにアクセスするマシンに必要なものは、JavaScriptとクッキーを有効にして接続を確立できる(グラフィカル)Webブラウザだけです。

Hawkを使用するには、このWebインタフェースで接続するノード上で、それぞれのWebサービスが開始されている必要があります。

ha-cluster-bootstrapパッケージからスクリプトを使用してクラスタをセットアップした場合、Hawkサービスはすでに開始されています。その場合は、手順5.1「Hawkサービスの開始」をスキップして手順5.2「Hawk Webインタフェースへのログイン」に進みます。

手順 5.1 Hawkサービスの開始
  1. 接続先にするノードで、シェルを開き、rootとしてログインします。

  2. 次のように入力して、サービスのステータスをチェックします。

    root # systemctl status hawk.service
  3. サービスが実行されていない場合は、次のコマンドでサービスを開始します。

    root # systemctl start hawk.service

    ブート時にHawkを自動的にブートしたい場合は、次のコマンドを実行します。

    root # systemctl enable hawk.service
注記
注記: ユーザの認証

Hawkユーザはhaclientグループのメンバーである必要があります。インストール時にhaclusterという名前のLinuxユーザが作成されますが、このユーザがhaclientグループに追加されます。セットアップ用にha-cluster-initスクリプトを使用している場合は、haclusterユーザに対してデフォルトパスワードが設定されます。

Hawkを開始する前に、haclusterユーザのパスワードを設定するか変更してください。または、haclientグループのメンバーである新しいユーザを作成してください。

Hawkを使用して接続する各ノードでこれを実行します。

手順 5.2 Hawk Webインタフェースへのログイン

Hawk Webインタフェースは、HTTPSプロトコルとポート7630を使用します。

  1. 任意のコンピュータで、Webブラウザを起動し、JavaScriptとクッキーが有効なことを確認します。

  2. URLとして、Hawk Webサービスを実行するクラスタノードのIPアドレスまたはホスト名を入力します。または、クラスタオペレータが設定したIPaddr(2)リソースのアドレスを入力します。

    https://HOSTNAME_OR_IP_ADDRESS:7630/
    注記
    注記: 証明書の警告

    初めてURLにアクセスしようとするときに証明書の警告が表示される場合は、自己署名証明書が使用されています。自己署名証明書は、デフォルトでは信頼されません。

    証明書を検証するための詳細情報については、クラスタのオペレータに問い合わせてください。

    続行するには、ブラウザに例外を追加して警告をバイパスします。

    自己署名証明書を公式認証局によって署名された証明書で置き換える方法の詳細については、自己署名証明書の置き換えを参照してください。

  3. Hawkログイン画面で、haclusterユーザ(または、haclientグループのメンバーである他の任意のユーザ)のユーザ名パスワードを入力します。

  4. ログインをクリックします。

    クラスタの状態画面が開き、クラスタノードとリソースのステータスが表示されます。表示される情報は、crmシェルのcrm statusの出力と似ています。

5.1.2 メイン画面: クラスタステータス

ログインした後、Hawkはクラスタステータス画面を表示します。重要なグローバルクラスタパラメータと、クラスタノードおよびリソースのステータスを示すサマリが表示されます。ノードとリソースのステータスを表示するのに、次のカラーコードが用いられます。

Hawkのカラーコード
  • 緑: OK。たとえば、リソースが実行中か、ノードがオンラインです。

  • 赤: 不良。クリーンでないたとえば、リソースに障害が発生したか、ノードがクリーンにシャットダウンされませんでした。

  • 黄: 過渡期。たとえば、現在、ノードがシャットダウン中か、またはリソースが起動中または停止中です。保留中のリソースをクリックして詳細を表示すると、現在リソースが変更しようとしている先の状態も表示されます(StartingStoppingMovingPromoting、またはDemoting)。

    注記
    注記: リソースの移行状態の表示

    リソースの移行状態は、操作のプロパティ record-pendingtrueに設定されている場合にのみ表示されます。ha-cluster-initスクリプトでクラスタをセットアップしている場合は、このプロパティは、デフォルトでグローバルにオンになります。手動で有効にするには、Hawkのクラスタ設定画面を使用して操作のデフォルトの下にプロパティを追加して有効にするか、次のコマンドを使用します。

    root # crm configure op_defaults record-pending=true
  • 灰色: 実行中でありません。ただし、クラスタは、それが実行中であることを期待しています。たとえば、管理者が停止したか、standbyモードにしたノードです。オフラインのノードも、灰色で表示されます(クリーンにシャットダウンされた場合)。

カラーコードの他に、Hawkのクラスタの状態画面のすべてのビューには、ノード、リソース、チケットの状態やエラーメッセージに関するアイコンも表示されます。

リソースに障害が発生した場合は、詳細を示す障害メッセージが画面上部に赤色で表示されます。障害の原因を分析するには、エラーメッセージをクリックします。これにより、Hawkの履歴エクスプローラが自動的に開き、20分の時間範囲でデータの収集がトリガされます(障害の発生前10分と発生後10分)。詳細については、手順5.27「履歴エクスプローラで遷移を表示する 」を参照してください。

Hawk - クラスタステータス(サマリビュー)
図 5.1 Hawk - クラスタステータス(サマリビュー)

クラスタステータス画面はほぼリアルタイムで更新されます。次のビューの中から選択します。これらのビューには、右上隅の3つのアイコンでアクセスできます。

Hawkクラスタステータスビュー
サマリビュー

重要なグローバルクラスタのパラメータと、クラスタノードおよびリソースのステータスが同時に確認できるように表示されます。セットアップにGeoクラスタ(マルチサイトクラスタ)が含まれている場合、サマリビューにはチケットも表示されます。特定のカテゴリ(チケット、ノード、またはリソース)に属しているすべての要素に関する詳細を表示するには、リンクとしてマークされているカテゴリタイトルをクリックします。それ以外の場合は、個々の要素をクリックして詳細を表示します。

ツリービュー

重要なグローバルクラスタパラメータと、クラスタノードおよびリソースのステータスが拡張ビューで表示されます。セットアップにGeoクラスタ(マルチサイトクラスタ)が含まれている場合、ツリービューにはチケットも表示されます。それぞれのカテゴリに属する要素を展開したり折りたたんだりするには、矢印をクリックします。サマリビューとは異なり、このビューはリソースのIDとステータスだけでなく、タイプも表示します(たとえばプリミティブ、クローン、またはグループ)。

グループの場合は、同じタイプ(グループ内)のリソースが一緒に表示されるビューに切り替えることもできます。リソースカテゴリのabアイコンを押すと、リソースが個別に表示される通常のビューとタイプ別に結合されるビューを切り替えることができます。たとえば、あるグループにocf:pacemaker:Dummyタイプの3つのリソースがあり、その1つのみが実行されている場合、タイプ別ビューには、灰色の背景に1/3 ocf:pacemaker:Dummy NODENAMEが表示されます。これは、リソースの1/3しか起動されていないことを示しています。

テーブルビュー

このビューは、現在どのリソースがどのノード上で実行されているかを簡潔に表示するため、大きめのクラスタに特に便利です。アクティブ化されていないノードまたはリソースも表示されます。

メイン画面の最上位の行には、ログインに使用したユーザ名が表示されます。Webインタフェースからログアウトして、ユーザ名の隣にあるレンチアイコンから次のツールにアクセスすることもできます。

  • シミュレータ:詳細については、5.4.7項 「可能性のある障害シナリオを調べる」を参照してください。

  • クラスタダイアグラム:ノードのグラフィック表現とCIBで設定されたリソースについては、このエントリを選択します。このダイアグラムには、リソースとノード割り当て(スコア)の間の順序とコロケーションも表示されます。

    Hawk - クラスタダイアグラム
    図 5.2 Hawk - クラスタダイアグラム
  • クラスタレポート(hb_report):詳細については、5.4.8項 「クラスタレポートの生成」を参照してください。

ノードおよびリソースで基本的な操作(リソースの起動や停止、ノードのオンライン化、詳細の表示など)を実行するには、それぞれのノードまたはリソースの隣にあるレンチアイコンをクリックします。これにより、コンテキストメニューが表示されます。任意のステータス画面上のいずれかのクローン、グループ、またはマスタ/スレーブの子リソースについては、コンテキストメニューからメニュー項目を選択します。これをクリックすることで、そのプリミティブが属している最上位のクローンまたはグループの開始や停止などを実行できます。

リソースの設定、制約、グローバルクラスタオプションなどより複雑な作業については、左側のナビゲーションバーを使用します。そこから、次の画面にアクセスできます。

注記
注記: Hawkで利用できる機能

デフォルトでは、rootまたはhaclusterとしてログインしたユーザは、すべてのクラスタ設定作業への、完全な読み込み/書き込みのアクセス権を持ちます。ただし、アクセス制御リストを使用すれば、より詳細なアクセス権限を定義することができます。

CRMでACLが有効になっている場合、Hawkで利用できる機能は、割り当てられたユーザ役割とアクセスパーミッションごとに異なります。加えて、Hawkの次の機能は、ユーザhaclusterだけが使用できます。

  • hb_reportの生成。

  • 履歴エクスプローラの使用。

  • ノードまたリソースの最近のイベントの表示。

5.2 グローバルクラスタオプションの設定

グローバルクラスタオプションは、一定の状況下でのクラスタの動作を制御します。これらは、セットにグループ化され、Hawk、crmシェルなどのクラスタ管理ツールで表示し、変更することができます。事前に定義されている値は、通常は、そのまま保持できます。ただし、クラスタの主要機能を正しく機能させるには、クラスタの基本的なセットアップ後に、次のパラメータを調整する必要があります。

手順 5.3 グローバルクラスタオプションを変更する
  1. 5.1.1項 「Hawkの起動とログイン」で説明したように、Webブラウザを起動してクラスタにログインします。

  2. 左のナビゲーションバーで、クラスタのプロパティを選択して、グローバルクラスタオプションとそれらの現在の値を表示します。Hawkは、CRM設定リソースのデフォルト操作のデフォルトに関する重要なパラメータを表示します。

    Hawk - クラスタ設定
    図 5.3 Hawk - クラスタ設定
  3. クラスタの要件に応じて、CRM Configurationを調整します。

    1. no-quorum-policyを適切な値に設定します。

    2. なんらかの理由でフェンシングを無効にする必要がある場合は、stonith-enabledの選択を解除します。

      重要
      重要: STONITHがない場合はサポートなし

      STONITHがないクラスタはサポートされません。

    3. CRM設定からプロ化ティを削除するには、プロパティの横のマイナスアイコンをクリックします。プロパティが削除されたら、クラスタはそのプロパティがデフォルト値に設定されているように動作します。デフォルト値の詳細については、4.2.6項 「リソースオプション(メタ属性)」を参照してください。

    4. CRM設定に新しいプロパティを追加するには、ドロップダウンボックスからプロパティを1つ選択し、プラスアイコンをクリックします。

  4. リソースのデフォルトまたは操作のデフォルトを変更する必要がある場合は、次のような処理を実行します。

    1. すでに表示されているデフォルトの値を変更するには、それぞれの入力フィールドで値を編集します。

    2. 新しいリソースのデフォルトまたは操作のデフォルトを追加するには、空のドロップダウンリストから1つ選択し、プラスアイコンをクリックして値を入力します。定義されたデフォルト値が存在する場合は、Hawkから自動的に提示されます。

    3. リソースまたは操作のデフォルトを削除するには、パラメータの横のマイナスアイコンをクリックします。リソースのデフォルト操作のデフォルトに値が指定されていない場合、クラスタは4.2.6項 「リソースオプション(メタ属性)」および4.2.8項 「リソース操作」にドキュメントされているデフォルト値を使用します。

  5. 変更内容を確認します。

5.3 クラスタリソースの設定

クラスタの管理者は、クラスタ内のサーバ上の各リソースや、サーバ上で実行する各アプリケーションに対してクラスタリソースを作成する必要があります。クラスタリソースには、Webサイト、メールサーバ、データベース、ファイルシステム、仮想マシン、およびユーザが常時使用できるその他のサーバベースのアプリケーションまたはサービスなどが含まれます。

作成できるリソースタイプの概要については、4.2.3項 「リソースのタイプ」を参照してください。リソースの基本的な仕様(ID、クラス、プロバイダ、タイプ)とは別に、リソースの作成中または作成後に次のパラメータを追加または変更できます。

  • Instance attributes (parameters)は、リソースが制御するサービスのインスタンスを決定します。 詳細については、4.2.7項 「インスタンス属性(パラメータ)」を参照してください。

    リソースを作成する際、Hawkは必要なパラメータを自動的に表示します。これらを編集して、有効なリソースの設定を取得します。

  • Meta attributesは、特定のリソースの処理方法をCRMに指示します。詳細については、4.2.6項 「リソースオプション(メタ属性)」を参照してください。

    リソースを作成する際、Hawkはそのリソースの重要なメタ属性を自動的にリストにします(たとえばリソースの初期状態を定義するtarget-role属性です。デフォルトではStoppedに設定されているため、リソースはすぐには始動しません)。

  • Operations は、リソース監視に必要です。詳細については、4.2.8項 「リソース操作」を参照してください。

    リソースを作成する際、Hawkは、重要なリソース操作を表示します(monitorstart、およびstop)。

5.3.1 セットアップウィザードでリソースを設定する

High Availability Extensionには、高可用性NFSサーバのセットアップなど、よく使われるいくつかのクラスタシナリオ用に、テンプレートの定義済みセットが付属しています。定義済みテンプレートは、hawk-templatesパッケージに含まれています。ユーザ独自のウィザードテンプレートを定義することもできます。詳細については、https://github.com/ClusterLabs/hawk/blob/master/doc/wizard.txtを参照してください。

手順 5.4 セットアップウィザードの使用

Hawkには、選択したテンプレートの設定ステップ全体をガイドするウィザードが付属しています。画面の指示に従います。オプションについての情報が必要な場合には、オプションをクリックすると、Hawkは簡単なヘルプテキストを表示します。

注記
注記: テンプレートの可用性

個々のHawkユーザが使用できるテンプレートは異なる場合があります。テンプレートにアクセスするユーザの許可は、ACLを介して規定することができます。詳細については、第9章 アクセス制御リストを参照してください。

次の手順では、例としてNFSサーバを設定するウィザードを使用します。これは、NFS(v4/v3)フェールオーバーサーバとして使用できます。ウィザードでは、ブートストラップスクリプトを使用してクラスタをセットアップする必要があるため、ノード間でキーベースのSSHアクセスが設定されています。次の情報の入力を求めるプロンプトが表示されます。

  • Hawkを介してログインしているマシンのrootパスワード。このパスワードは、ファイルシステムを変更するため、Hawkで接続する必要があるすべてのクラスタノードで同じである必要があります。

  • ベースファイルシステムリソースのID。

  • NFSv4ファイルシステムルートの詳細。

  • NFSv3エクスポートの詳細。NFSサーバによってエクスポートされ、クライアントがシステムに統合できるディレクトリ。

  • 浮動IPアドレス。

その結果、Pacemaker設定には次のリソースが含まれるようになります。

NFSカーネルサーバ

ローカルにマウントするファイルシステムを、NFSネットワークプロトコルを介してクライアントに提供するカーネル内のLinux NFSデーモンを管理します。

NFSv4仮想ファイルシステムルート

NFSv4クライアントで必要とされる、仮想NFSルートエクスポートを管理します。このリソースは実際のNFSエクスポート済みデータではなく、他のNFSエクスポートがマウントされる空のディレクトリ(/srv/nfs)のみが保持されます。

非ルートNFSエクスポート

NFSv3エクスポートを管理します。

浮動IPアドレス

実行している物理ノードがどれであれ、NFSクライアントからの該当サービスへの接続を可能にする、仮想の浮動クラスタIPアドレス。

  1. 5.1.1項 「Hawkの起動とログイン」で説明したように、Webブラウザを起動してクラスタにログインします。

  2. 左のナビゲーションバーで、セットアップウィザードを選択します。クラスタセットアップウィザードに、使用可能なリソーステンプレートが一覧表示されます。エントリをクリックすると、Hawkはそのテンプレートについての簡単なヘルプテキストを表示します。

    Hawk - セットアップウィザード
    図 5.4 Hawk - セットアップウィザード
  3. 設定するリソースのテンプレートを選択して(この場合はNFS Server)、次へをクリックします。

  4. 可用性の高いNFSサーバを設定するには、次の手順に従います。

    1. 現在のマシンのrootパスワードを入力して、次へをクリックします。rootパスワードがなければ、設定ウィザードは必要な設定の変更を行うことができません。

    2. 次の画面では、ルートIDを入力して、NFSを介してエクスポートされるベースファイルシステムを指定します。次へをクリックします。

    3. 次の画面で、仮想NFSv4ファイルシステムルートについての詳細を入力します(NFSv4クライアントに必要)。次のパラメータを指定して、次へをクリックします。

      • このクラスタリソースに使用するリソースIDを定義します。

      • File System ID (ファイルシステムID)を入力します。ルートファイルシステムのIDは、0または文字列rootのいずれかである必要があるため、Hawkはデフォルトで0を提案します。

      • マウントポイント(/srv/nfsなど)を指定します。

      • クライアントアクセス用にClient Spec (クライアント指定)を入力します。たとえば、「10.9.9.0/255.255.255.0」と入力します。Hawkによって提案される値*を保持する場合は、すべての場所のすべてのクライアントが許可されることを意味します。

      • マウントオプションを指定します。NFSv4ファイルシステムルートの場合、Hawkはrw,crossmntを提案します。

    4. 次の画面で、エクスポートされたNFSマウントポイントの詳細を入力します。次のパラメータを指定して、次へをクリックします。

      • このクラスタリソースに使用するリソースIDを定義します。

      • File System ID (ファイルシステムID)を入力します。Hawkは、デフォルトで、1を提案します。NFSv4仮想ファイルシステムルートを表していないNFSエクスポートのIDは、固有の正の整数、またはUUID文字列(任意の句読点を持つ32桁の16進数)に設定される必要があります。

      • マウントポイント(/srv/nfs/exampleなど)を指定します。

      • クライアントアクセス用にClient Spec (クライアント指定)を入力します。たとえば、「10.9.9.0/255.255.255.0」と入力します。Hawkによって提案される値*を保持する場合は、すべての場所のすべてのクライアントが許可されることを意味します。

      • マウントオプションを指定します。NFSv3エクスポートの場合、Hawkはrw,mountpointを提案します。

    5. 次の画面で、NFSマウントへのアクセスに使用する仮想IPを設定します。次のパラメータを指定します。

      • このクラスタリソースに使用するリソースIDを定義します。

      • ドットで区切られた表記でIPアドレスを入力します。

      • オプションで、ネットマスクを入力します。指定されていない場合、自動的に決定されます。

      • LVAダイレクトルーティング設定の場合、LVS Support (LVSのサポート)を有効にします。そうでない場合は、無効のままにします。

    6. 次へをクリックします。

      ウィザードに、CIBに適用される設定スニペットが表示されます。

    7. 適用するには、次へをクリックします。

      NFS(v4/v3)フェールオーバーサーバが正常に設定されました。

5.3.2 単純なクラスタリソースの作成

最も基本的なタイプのリソースを作成するには、次の手順に従います。

手順 5.5 プリミティブリソースを追加する
  1. 5.1.1項 「Hawkの起動とログイン」で説明したように、Webブラウザを起動してクラスタにログインします。

  2. 左のナビゲーションバーで、リソースを選択します。リソース画面に、すべてのタイプのリソースのカテゴリが表示されます。ここにはすでに定義済みのすべてのリソースが表示されます。

  3. プリミティブカテゴリを選択し、プラスアイコンをクリックします。

  4. リソースを次のとおり指定します。

    1. 固有のリソースIDを入力します。

    2. クラスリストから、そのリソースに使用するリソースエージェントクラスを選択します。lsbocfservice、またはstonithを選択できます。 詳細については、4.2.2項 「サポートされるリソースエージェントクラス」を参照してください。

    3. ocfをクラスとして選択した場合、OCFリソースエージェントのプロバイダを指定します。OCFの指定によって、複数のベンダが同じリソースエージェントを提供できるようになります。

    4. タイプリストから、使用するリソースエージェントを選択します(たとえばIPaddrまたはFilesystem)。このリソースエージェントの簡単な説明が表示されます。

      タイプリストに表示される選択肢は、選択したクラス(OCFリソースの場合は、プロバイダも)によって異なります。

  5. Hawkは、リソースに必要なパラメータと、追加パラメータを指定するために使用できる空のドロップダウンボックスを自動的に表示します。

    リソースのパラメータ(インスタンス属性)を定義するには次のとおり行います。

    1. それぞれ必要なパラメータの値を入力します。パラメータの隣のテキストボックスをクリックすると、簡単なヘルプテキストが表示されます。

    2. パラメータを完全に削除するには、パラメータの隣のマイナスアイコンをクリックします。

    3. 他のパラメータを追加するには、空のドロップダウンリストをクリックし、パラメータを選択して、その値を入力します。

  6. Hawkは、重要なリソース操作を自動的に表示し、デフォルト値を提案します。ここで設定を変更しない場合、変更を確定するとすぐに、Hawkは提案した操作およびデフォルト値を追加します。

    操作の変更または削除方法の詳細については、手順5.15「監視操作を追加または変更する」を参照してください。

  7. Hawkは、たとえばtarget-roleなど、リソースの最も重要なメタ属性を自動的にリストにします。

    メタ属性を変更または追加するには次のとおり行います。

    1. 属性に(別の)値を設定するには、属性の隣のドロップダウンボックスから値を1つ選択するか、入力フィールドで値を編集します。

    2. 属性を完全に削除するには、その隣のマイナスアイコンをクリックします。

    3. 他のメタ属性を追加するには、空のドロップダウンボックスをクリックし、属性を選択します。属性のデフォルト値が表示されます。必要な場合は、上述したとおり変更します。

  8. リソースの作成をクリックして、設定を完了します。画面上のメッセージが、リソースが正常に作成されたかどうかを表示します。

Hawk - プリミティブリソース
図 5.5 Hawk - プリミティブリソース

5.3.3 STONITHリソースの作成

重要
重要: STONITHがない場合はサポートなし

STONITHがないクラスタはサポートされません。

デフォルトでは、グローバルクラスタオプションstonith-enabledtrueに設定されています。STONITHリソースが定義されていない場合、クラスタはどのリソースの開始も拒否します。1つ以上のSTONITHリソースを設定して、STONITHのセットアップを完了します。STONITHは他のリソースと同様に設定しますが、その動作はいくつかの点で異なっています。詳細については、8.3項 「STONITHの構成」を参照してください。

手順 5.6 STONITHリソースの追加
  1. 5.1.1項 「Hawkの起動とログイン」で説明したように、Webブラウザを起動してクラスタにログインします。

  2. 左のナビゲーションバーで、リソースを選択します。リソース画面には、すべてのタイプのリソースのカテゴリと、定義済みのすべてのリソースが表示されます。

  3. プリミティブカテゴリを選択し、プラスアイコンをクリックします。

  4. リソースを次のとおり指定します。

    1. 固有のリソースIDを入力します。

    2. クラスリストで、リソースエージェントクラスとしてstonithを選択します。

    3. タイプリストから、使用しているSTONITHデバイスのSTONITHプラグインを選択します。このプラグインの簡単な説明が下に表示されます。

  5. Hawkは、自動的にそのリソースに必要なパラメータを表示します。それぞれのパラメータの値を入力します。

  6. Hawkは、重要なリソース操作を表示し、デフォルト値を提案します。ここで設定を変更しない場合、確定するとすぐに、Hawkは提案した操作およびデフォルト値を追加します。

  7. 特に変更する理由がない場合には、メタ属性の設定はデフォルトを採用してください。

  8. 変更を確認して、STONITHリソースを作成します。

フェンシングを設定するには、制約の追加とクローンの使用のいずれか、またはその両方を行います。詳細については、第8章 フェンシングとSTONITHを参照してください。

5.3.4 リソーステンプレートの使用

類似した設定のリソースを多く作成する最も簡単な方法は、リソーステンプレートを定義することです。リソーステンプレートを定義した後は、プリミティブの中や、特定のタイプの制約で参照できるようになります。リソーステンプレートの機能と使用方法の詳細については、4.4.3項 「リソーステンプレートと制約」を参照してください。

手順 5.7 リソーステンプレートの作成
  1. 5.1.1項 「Hawkの起動とログイン」で説明したように、Webブラウザを起動してクラスタにログインします。

  2. 左のナビゲーションバーで、リソースを選択します。リソース画面には、すべてのタイプのリソースのカテゴリに加えて、テンプレートカテゴリが表示されます。

  3. テンプレートカテゴリを選択し、プラスアイコンをクリックします。

  4. テンプレートIDを入力します。

  5. プリミティブを指定するリソーステンプレートを指定します。手順 5.5: プリミティブリソースを追加するに従って、ステップ 4.bを開始します。

  6. リソースの作成をクリックして、設定を完了します。画面上のメッセージが、リソーステンプレートが正常に作成されたかどうかを表示します。

Hawk - リソーステンプレート
図 5.6 Hawk - リソーステンプレート
手順 5.8 リソーステンプレートの参照
  1. 5.1.1項 「Hawkの起動とログイン」で説明したように、Webブラウザを起動してクラスタにログインします。

  2. 新しく作成したリソーステンプレートをプリミティブで参照するには、次の手順に従います。

    1. 左のナビゲーションバーで、リソースを選択します。リソース画面に、すべてのタイプのリソースのカテゴリが表示されます。定義済みのすべてのリソースが表示されます。

    2. プリミティブカテゴリを選択し、プラスアイコンをクリックします。

    3. 固有のリソースIDを入力します。

    4. テンプレートの使用をオンにして、ドロップダウンリストから参照するテンプレートを選択します。

    5. 必要であれば、さらにパラメータ操作、またはメタ属性手順5.5「プリミティブリソースを追加する」で説明した方法で指定します。

  3. 新しく作成したリソーステンプレートをコロケーションまたは順序の制約で参照するには、手順5.10「コロケーションまたは順序の制約を追加または変更する」で説明する手順に従います。

5.3.5 リソース制約の設定

すべてのリソースを設定したら、クラスタがそれらを扱う方法を指定します。リソース制約を使えば、リソースがどのクラスタノードで実行されるか、リソースをどの順番でロードするか、そして特定のリソース型のどのリソースに依存するかを指定することができます。

利用可能な制約のタイプの概要は、4.4.1項 「制約のタイプ」を参照してください。制約を定義する際には、スコアも指定する必要があります。スコアおよびクラスタでのそれらの意味の詳細については、4.4.2項 「スコアと無限大」を参照してください。

次に、さまざまな制約タイプの作成方法について説明します。

手順 5.9 場所の制約を追加または変更する

場所の制約の場合には、制約ID、リソース、スコアおよびノードを指定します。

  1. 5.1.1項 「Hawkの起動とログイン」で説明したように、Webブラウザを起動してクラスタにログインします。

  2. 左のナビゲーションバーで、制約を選択します。制約画面に、すべてのタイプの制約のカテゴリが表示されます。定義済みのすべての制約が表示されます。

  3. 新しい場所制約を追加するには、対応するカテゴリのプラスアイコンをクリックします。

    既存の制約を変更するには、制約の隣にあるレンチアイコンをクリックして、制約の編集を選択します。

  4. 固有の制約IDを入力します。既存の制約を変更する場合には、IDはすでに定義されています。

  5. 制約を設定するリソースを選択します。リストには、そのクラスタに設定されているすべてのリソースのIDが表示されます。

  6. 制約のScore (スコア)を設定します。正の値は、次のステップで指定するノードでリソースを実行できることを示します。負の値は、リソースをそのノードで実行すべきではないことを示します。スコアをINFINITYに設定すれば、リソースはこのノードで実行されるように強制されます。-INFINITYに設定すれば、リソースはそのノードで実行してはならないことになります。

  7. 制約を設定するノードを選択します。

  8. 制約の作成をクリックして、設定を完了します。画面上のメッセージが、制約が正常に作成されたかどうかを表示します。

Hawk - 場所制約
図 5.7 Hawk - 場所制約
手順 5.10 コロケーションまたは順序の制約を追加または変更する

どちらの制約の場合でも、制約IDとスコアを指定してから、リソースを依存チェーンに追加します。

  1. 5.1.1項 「Hawkの起動とログイン」で説明したように、Webブラウザを起動してクラスタにログインします。

  2. 左のナビゲーションバーで、制約を選択します。制約画面には、すべてのタイプの制約のカテゴリと、定義済みのすべての制約が表示されます。

  3. 新しいコロケーションまたは順序制約を追加するには、対応するカテゴリのプラスアイコンをクリックします。

    既存の制約を変更するには、制約の隣にあるレンチアイコンをクリックして、制約の編集を選択します。

  4. 固有の制約IDを入力します。既存の制約を変更する場合には、IDはすでに定義されています。

  5. スコアを定義します。

    コロケーション制約の場合には、スコアは複数のリソースの場所のリレーションシップを決定します。正の値は、リソースを同じノードで実行するべきであることを示します。負の値は、リソースを同じノードで実行するべきではないことを示します。スコアをINFINITYに設定すれば、リソースは同じノードで実行されるように強制されます。-INFINITYに設定すれば、リソースは同じノードで実行してはならないことになります。スコアと他の要因との組み合わせによって、ノードの配置先が決定します。

    順序の制約の場合、0より大きなスコアなら必須となります。そうでなければ、単なる提案として扱われます。デフォルト値は、INFINITYです。

  6. 順序の制約の場合、オプションシンメトリックは常に有効にしていてください。これは、リソースを停止するときには逆順で行うという指定です。

  7. 制約のリソースを定義するには、次の手順に従います。

    1. リソースを制約に追加リストからリソースを選択します。リストには、そのクラスタに設定されているすべてのリソースとリソーステンプレートのIDが表示されます。

    2. 選択したリソースを追加するには、リストの隣のプラスアイコンをクリックします。下に新しいリストが表示されます。次のリソースをリストから選択します。コロケーション制約と順序の制約はどちらもリソース間の依存関係を定義するのものなので、少なくとも2つのリソースが必要です。

    3. リソースを制約に追加リストから残りのリソースのいずれかを選択します。リソースを追加するには、プラスアイコンをクリックします。

      これで、依存チェーンに2つのリソースが追加されました。

      順序の制約の場合には、一番上のリソースが最初に起動され、その下のリソースがその次に起動される、といった順序になります。通常、リソースを停止するときには逆順で行われます。

      ただし、コロケーション制約を定義した場合、リソース間に矢印が表示され、依存関係を示しますが、これは起動順ではありません。最上位のリソースは次のリソースなど順に依存するため、クラスタはまず最後のリソースを置く場所を決め、次にその決定に基づいて依存するものを配置していきます。制約が満たされないと、クラスタは依存するリソースが実行しないようにすることがあります。

    4. コロケーションまたは順序の制約に必要なだけ、リソースを追加します。

    5. 2つのリソースの順序を交換するには、リソースの右側にある二重線の矢印をクリックすると、依存チェーンの中でリソースが交換されます。

  8. 必要であれば、リソースごとに、役割(MasterSlaveStartedStopped)などのパラメータをさらに指定します。

  9. 制約の作成をクリックして、設定を完了します。画面上のメッセージが、制約が正常に作成されたかどうかを表示します。

Hawk - コロケーション制約
図 5.8 Hawk - コロケーション制約

制約を定義するための別のフォーマットとして、リソースセットを使用することができます。これらは、グループとして同じ意味論に従います。

SUSE Linux Enterprise High Availability Extension 12以降、場所制約内でもリソースセットが使用できるようになりました。以前は、コロケーションおよび順序の制約内でのみ使用できました。

手順 5.11 制約のためにリソースセットを使用する
  1. 5.1.1項 「Hawkの起動とログイン」で説明したように、Webブラウザを起動してクラスタにログインします。

  2. 場所制約内でリソースセットを使用するには:

    1. 手順5.9「場所の制約を追加または変更する」で説明されているように、ステップ 1からステップ 5に進みます。

    2. 単一リソースのみ選択するのではなく、CtrlまたはShiftを押しながらマウスをクリックして、複数のリソースを選択することもできます。これにより、場所制約内でリソースセットが作成されます。

    3. スコアを入力し、制約のノードを選択して、続行します。

    4. 場所制約からリソースを削除するには、Ctrlを押しながらリソースを再度クリックして、選択解除します。既存の場所制約を編集している場合は、変更の適用をクリックして、選択内容を確認します。

  3. コロケーションまたは順序の制約内でリソースセットを使用するには:

    1. 手順5.10「コロケーションまたは順序の制約を追加または変更する」の説明に従って、作業を行ってください。

    2. リソースを依存チェーンに追加した場合には、右側にあるチェーンアイコンをクリックして、リソースをリソースセットに入れることができます。リソースセットは、セットに属しているリソースの周囲のフレームによって示されます。

    3. また、リソースセットに複数のリソースを追加したり、複数のリソースセットを作成したりすることもできます。

    4. リソースセットからリソースを取り出すには、そのリソースの上にあるハサミアイコンをクリックします。

      Hawk—セットからのリソースの削除
      図 5.9 Hawk—セットからのリソースの削除

      リソースはセットから除かれて、依存チェーンの中の元の場所に戻ります。

  4. 変更を確認して、制約の設定を完了します。

制約の設定の詳細や、順序およびコロケーションの基本的な概念についての詳細なバックグラウンド情報は、http://www.clusterlabs.org/doc/で提供されているドキュメントを参照してください。

  • Pacemaker Explained (Pacemaker 1.1 for Corosync 2.x and crmsh)』、「Resource Constraints」の章

  • Colocation Explained

  • オーダーの概要

手順 5.12 制約の削除
  1. 5.1.1項 「Hawkの起動とログイン」で説明したように、Webブラウザを起動してクラスタにログインします。

  2. 左のナビゲーションバーで、制約を選択します。制約画面には、すべてのタイプの制約のカテゴリと、定義済みのすべての制約が表示されます。

  3. 制約の隣のレンチアイコンをクリックして制約の削除を選択します。

5.3.6 リソースフェールオーバーノードの指定

リソースに障害が発生すると、自動的に再起動されます。現在のノードで再起動できない場合、または現在のノードでN回失敗した場合は、別のノードへのフェールオーバーが試行されます。新しいノードへのマイグレートを行う基準(migration-threshold)となるリソースの失敗数を定義できます。クラスタ内に3つ以上ノードがある場合、特定のリソースのフェールオーバー先のノードはHigh Availabilityソフトウェアにより選択されます。

リソースがフェールオーバーする特定のノードを前もって指定するには、次の手順に従います。

  1. 5.1.1項 「Hawkの起動とログイン」で説明したように、Webブラウザを起動してクラスタにログインします。

  2. 手順5.9「場所の制約を追加または変更する」に記されている手順に従って、そのリソースの場所の制約を設定します。

  3. 手順 5.5: プリミティブリソースを追加するに説明されている手順に従ってリソースにmigration-thresholdメタ属性を追加し、ステップ 7migration-thresholdのを入力します。INFINITYではない正の値を指定する必要があります。

  4. リソースの失敗回数を自動的に失効させる場合は、手順 5.5: プリミティブリソースを追加するステップ 7に記されている手順に従ってfailure-timeoutメタ属性をそのリソースに追加し、失敗タイムアウトのを入力します。

  5. リソースの初期設定として、追加のフェールオーバーノードを指定する場合は、追加の場所の制約を作成します。

マイグレーションしきい値と失敗カウントに関連したプロセスフローは、例4.6「マイグレーションしきい値 - プロセスフロー」に示されています。

リソースの失敗回数は、自動的に期限切れにする代わりに、いつでも、手動でクリーンアップすることもできます。詳細については、5.4.2項 「リソースのクリーンアップ」を参照してください。

5.3.7 リソースフェールバックノードの指定(リソースの固着性)

ノードがオンライン状態に戻り、クラスタ内にある場合は、リソースが元のノードにフェールバックすることがあります。このことを防ぐ、またはリソースのフェールバック先として別のノードを指定するには、リソースの固着性の値を変更します。リソースの固着性は、リソースを作成するとき、または作成した後のどちらでも指定できます。

さまざまなリソース固着性値の意味については、4.4.5項 「フェールバックノード」を参照してください。

手順 5.13 リソースの固着性を指定する
  1. 5.1.1項 「Hawkの起動とログイン」で説明したように、Webブラウザを起動してクラスタにログインします。

  2. 手順 5.5: プリミティブリソースを追加するステップ 7に従って、resource-stickinessメタ属性をリソースに追加します。

  3. リソースの固着性として、-INFINITYINFINITYの間の値を指定します。

5.3.8 負荷インパクトに基づくリソース配置の設定

すべてのリソースが同等ではありません。Xenゲストなどの一部のリソースでは、そのホストであるノードがリソースの容量要件を満たす必要があります。配置したリソースの要件の合計が提供容量よりも大きくなった場合には、リソースのパフォーマンスが低下するか、または失敗します。

これを考慮に入れて、High Availability Extensionでは、次のパラメータを指定できます。

  1. 一定のノードが提供する容量

  2. 一定のリソースが要求する容量

  3. リソースの配置に関する全体的なストラテジ

使用属性は、リソースの要件と、ノードが提供する容量の両方を設定するために使用されます。High Availability Extensionには、ノードの容量とリソースの要件を自動的に検出し、設定する手段も用意されています。詳細と設定例については、4.4.6項 「負荷インパクトに基づくリソースの配置」を参照してください。

ノードの容量値(使用属性によって定義されたもの)、およびそのノードで実行されているリソースが現在消費している容量を表示するには、Hawkのクラスタの状態画面に切り替えます。対象とするノードを選択し、そのノードの隣のレンチアイコンをクリックして、詳細の表示を選択します。

Hawk - ノードの容量値の表示
図 5.10 Hawk - ノードの容量値の表示

ノードが提供する容量とリソースが要求する容量を設定した後、グローバルクラスタオプションで配置ストラテジを設定する必要があります。これを設定しないと、容量の設定は有効になりません。負荷のスケジュールに使用できるストラテジがいくつかあります。たとえば、負荷をできるだけ少ない数のノードに集中したり、使用可能なすべてのノードに均等に分散できます。詳細については、4.4.6項 「負荷インパクトに基づくリソースの配置」を参照してください。

手順 5.14 配置ストラテジを設定する
  1. 5.1.1項 「Hawkの起動とログイン」で説明したように、Webブラウザを起動してクラスタにログインします。

  2. 左のナビゲーションバーで、クラスタのプロパティを選択して、グローバルクラスタオプションとそれらの現在の値を表示します。

  3. 新しいプロパティの追加ドロップダウンリストから、placement-strategyを選択します。

  4. 要件に応じて、配置ストラテジを適切な値に設定します。

  5. プラスアイコンをクリックして、新しいクラスタプロパティ(値を含む)を追加します。

  6. 変更内容を確認します。

5.3.9 リソース監視の設定

High Availability Extensionは、ノードの障害を検出できるだけではなく、ノードの個々のリソースで障害が発生した場合、そのことも検出できます。リソースが実行中であるかどうか確認するには、そのリソースにリソースの監視を設定します。リソースを監視するには、タイムアウト、開始遅延のいずれか、または両方と、間隔を指定します。間隔の指定によって、CRMにリソースステータスの確認頻度を指示します。startまたはstop操作に対するTimeoutなど、特定のパラメータも設定できます。

手順 5.15 監視操作を追加または変更する
  1. 5.1.1項 「Hawkの起動とログイン」で説明したように、Webブラウザを起動してクラスタにログインします。

  2. 左のナビゲーションバーで、リソースを選択します。リソース画面には、すべてのタイプのリソースのカテゴリと、定義済みのすべてのリソースが表示されます。

  3. 変更するリソースを選択し、その隣のレンチアイコンをクリックして、リソースの編集を選択します。リソースの定義が表示されます。Hawkは、重要なリソース操作(monitorstartstop)を自動的に表示し、デフォルト値を提案します。

  4. 操作の値を変更するには

    1. 操作の隣のペンアイコンをクリックします。

    2. 表示されるダイアログで、次の値を指定します。

      • timeout値を秒単位で入力します。指定したタイムアウトを過ぎると、操作はfailedと見なされます。PEは何を行うか、あるいは監視操作のOn Fail (障害発生時の動作)フィールドで指定した内容を実行するかどうかを判断します。

      • 監視操作の場合には、intervalに監視の間隔を秒単位で入力します。

      必要な場合には、監視ダイアログの下部にある空のドロップダウンボックスを使用して、失敗の場合(このアクションが失敗した場合の処理)などのパラメータを追加します。または必要(このアクションを発生する前に満たす必要がある条件)などのパラメータを追加します。

    3. 変更を確認してダイアログを閉じ、リソースの編集画面に戻ります。

  5. 操作を完全に削除するには、その隣のマイナスアイコンをクリックします。

  6. 他の操作を追加するには、空のドロップダウンボックスをクリックし、操作を選択します。操作のデフォルト値が表示されます。必要に応じて、ペンアイコンをクリックしてこれを変更します。

  7. 変更の適用をクリックして、設定を完了します。画面上のメッセージが、リソースが正常に更新されたかどうかを表示します。

リソースモニタが障害を検出した場合の処理については、4.3項 「リソース監視」を参照してください。

リソースの障害を表示するには、Hawkでクラスタステータス画面に切り替えて、関係するリソースを選択します。リソースの隣のレンチアイコンをクリックして、詳細の表示を選択します。

5.3.10 クラスタリソースグループの構成

クラスタリソースの中には、他のコンポーネントやリソースに依存しており、各コンポーネントや各リソースを特定の順序で開始することや、同じサーバ上で一緒に実行することが必要なものもあります。この構成を簡単にするため、グループのコンセプトをサポートしています。

リソースグループの例と、グループとそのプロパティの詳細について、4.2.5.1項 「グループ」を参照してください。

注記
注記: 空のグループ

グループには1つ以上のリソースを含む必要があります。空の場合は設定は無効になります。Hawkでは、グループの作成中にプリミティブを作成したり変更したりすることはできません。グループを追加する前に、プリミティブを作成し、必要に応じて設定しておいてください。詳細については、手順5.5「プリミティブリソースを追加する」を参照してください。

手順 5.16 リソースグループを追加する
  1. 5.1.1項 「Hawkの起動とログイン」で説明したように、Webブラウザを起動してクラスタにログインします。

  2. 左のナビゲーションバーで、リソースを選択します。リソース画面には、すべてのタイプのリソースのカテゴリと、定義済みのすべてのリソースが表示されます。

  3. グループカテゴリを選択し、プラスアイコンをクリックします。

  4. 固有のグループIDを入力します。

  5. グループのメンバーを定義するには使用可能なプリミティブのリストから1つまたは複数のエントリを選択し、< アイコンをクリックして、グループの子リストに追加します。新しいグループメンバーは、リストの一番下に追加されます。グループメンバーの順序を定義するには、この時点でグループメンバーの追加および削除を必要な順序で行う必要があります。

  6. 必要に応じ、プリミティブリソースを追加するステップ 7に説明されている手順で、メタ属性を変更または追加します。

  7. グループの作成をクリックして、設定を完了します。画面上のメッセージが、グループが正常に作成されたかどうかを表示します。

Hawk - リソースのグループ
図 5.11 Hawk - リソースのグループ

5.3.11 クローンリソースの設定

特定のリソースをクラスタ内の複数のノードで同時に実行することが必要な場合には、それらのリソースをクローンとして設定します。たとえば、STONITHのようなりソースや、OCFS2のようなクラスタファイルシステムのクローンを作成することには意味があります。提供されているどのリソースも、クローンとして設定できます。クローンは、リソースのリソースエージェントによってサポートされます。クローンリソースは、動作しているノードに応じて設定を変えることもできます。

利用可能なリソースクローンのタイプの概要は、4.2.5.2項 「クローン」を参照してください。

注記
注記: クローンのためのサブリソース

クローンには、プリミティブまたはグループのいずれかをサブリソースとして含めることができます。Hawkでは、クローンの作成中にプリミティブを作成したり変更したりすることはできません。クローンを追加する前に、プリミティブを作成し、必要に応じて設定しておいてください。詳細については、手順5.5「プリミティブリソースを追加する」または手順5.16「リソースグループを追加する」を参照してください。

手順 5.17 クローンを追加または変更する
  1. 5.1.1項 「Hawkの起動とログイン」で説明したように、Webブラウザを起動してクラスタにログインします。

  2. 左のナビゲーションバーで、リソースを選択します。リソース画面には、すべてのタイプのリソースのカテゴリと、定義済みのすべてのリソースが表示されます。

  3. クローンカテゴリを選択し、プラスアイコンをクリックします。

  4. 固有のクローンIDを入力します。

  5. 子リソースリストから、クローンのサブリソースとして使用するプリミティブまたはグループを選択します。

  6. 必要に応じ、手順 5.5: プリミティブリソースを追加するステップ 7に説明されている手順で、メタ属性を変更または追加します。

  7. クローンを作成をクリックして、設定を完了します。画面上のメッセージが、クローンが正常に作成されたかどうかを表示します。

Hawk - クローンリソース
図 5.12 Hawk - クローンリソース

5.4 クラスタリソースの管理

Hawkでは、クラスタリソースを設定することに加えて、クラスタステータス画面で既存のリソースを管理することができます。画面、それぞれのビュー、およびステータス情報で使用するカラーコードの一般的な概要は、5.1.2項 「メイン画面: クラスタステータス」を参照してください。

基本的なリソース操作は、クラスタステータスビューから実行できます。ツリービューおよびテーブルビューは、どちらからでも、個々のリソースに直接アクセスすることができます。ただし、サマリビューでは、リソースの詳細を表示するのに、まずリソースカテゴリの中のリンクをクリックする必要があります。詳細ビューにもそのリソースのすべての属性が表示されます。プリミティブリソース(通常のプリミティブ、グループの子、クローン、またはマスター/スレーブリソース)については、次の情報が追加で表示されます。

  • リソースの失敗回数

    最終失敗時のタイムスタンプ(失敗回数が0より大きい場合)

  • 操作履歴とタイミング(コールID、操作、最終実行時のタイムスタンプ、実行時間、キュー時間、戻りコード、最後の変更タイムスタンプ)

リソースの詳細の表示
図 5.13 リソースの詳細の表示

5.4.1 リソースの開始

クラスタリソースは、起動する前に、正しく設定されているようにします。たとえば、Apacheサーバをクラスタリソースとして使用する場合は、まず、Apacheサーバをセットアップし、Apacheの環境設定を完了してから、クラスタで個々のリソースを起動します。

注記
注記: クラスタによって管理されるサービスには介入しないでください。

High Availability Extensionでリソースを管理しているときに、同じリソースを他の方法(クラスタ外で、たとえば、手動、ブート、再起動など)で開始したり、停止してはなりません。High Availability Extensionソフトウェアが、すべてのサービスの開始または停止アクションを実行します。

ただし、サービスが適切に構成されているか確認したい場合は手動で開始しますが、High Availabilityが起動する前に停止してください。

現在クラスタで管理されているリソースへの介入については、まず、手順5.23「リソースへの保守モードの適用」で説明されているように、リソースをmaintenance modeに設定します。

Hawkでリソースを作成するときには、target-roleメタ属性でその初期状態を設定することができます。その値をstoppedに設定した場合、リソースは、作成後、自動的に開始することはありません。

手順 5.18 新しいリソースを起動する
  1. 5.1.1項 「Hawkの起動とログイン」で説明したように、Webブラウザを起動してクラスタにログインします。

  2. 左のナビゲーションバーで、クラスタステータスを選択します。

  3. 個々のリソースビューのいずれかで、リソースの隣のレンチアイコンをクリックして、開始を選択します。継続するには、表示されるメッセージに対して確認します。リソースが開始すると、Hawkはすぐにリソースの色を緑に変え、それがどのノードで実行されているかを表示します。

5.4.2 リソースのクリーンアップ

リソースは、失敗した場合は自動的に再起動しますが、失敗のたびにリソースの失敗回数が増加します。

リソースに対してmigration-thresholdが設定されていた場合、失敗回数が移行しきい値に達すると、そのリソースはそのノードでは実行されなくなります。

リソースの失敗回数は、(リソースにfailure-timeoutオプションを設定することにより)自動的にリセットするか、または次に示すように手動でリセットできます。

手順 5.19 リソースをクリーンアップする
  1. 5.1.1項 「Hawkの起動とログイン」で説明したように、Webブラウザを起動してクラスタにログインします。

  2. 左のナビゲーションバーで、クラスタステータスを選択します。

  3. 個々のリソースビューのいずれかで、リソースの隣のレンチアイコンをクリックして、クリーンアップを選択します。継続するには、表示されるメッセージに対して確認します。

    これによって指定したノード上の指定したリソースに対して、コマンドcrm_resource -Cおよびcrm_failcount -Dが実行されます。

詳細は、crm_resourceおよびcrm_failcountのマニュアルページを参照してください。

5.4.3 クラスタリソースの削除

リソースをクラスタから削除する必要がある場合は、次の手順に従って、設定エラーが発生しないようにします。

手順 5.20 クラスタリソースの削除
  1. 5.1.1項 「Hawkの起動とログイン」で説明したように、Webブラウザを起動してクラスタにログインします。

  2. 左のナビゲーションバーで、クラスタステータスを選択します。

  3. 手順5.19「リソースをクリーンアップする」の説明に従って、すべてのノードでリソースをクリーンアップします。

  4. 個々のリソースビューのいずれかで、リソースの隣のレンチアイコンをクリックして、開始を選択します。継続するには、表示されるメッセージに対して確認します。

  5. 変更するリソースを選択し、その隣のレンチアイコンをクリックして、リソースの削除を選択します。

5.4.4 クラスタリソースの移行

5.3.6項 「リソースフェールオーバーノードの指定」で説明したように、ソフトウェアまたはハードウェアの障害時には、クラスタは定義可能な特定のパラメータ(たとえばマイグレーションしきい値やリソースの固着性など)に従って、リソースを自動的にフェールオーバー(マイグレート)させます。それ以外に、クラスタ内の別のノードにリソースを手動で移行させることもできます。または、リソースを現在のノードから出して、どこに移動するかはクラスタに判断させることもできます。

手順 5.21 リソースを手動で移行する
  1. 5.1.1項 「Hawkの起動とログイン」で説明したように、Webブラウザを起動してクラスタにログインします。

  2. 左のナビゲーションバーで、クラスタステータスを選択します。

  3. 個々のリソースビューのいずれかで、リソースの隣のレンチアイコンをクリックして、移動を選択します。

  4. 新規ウィンドウで、リソースの移動先ノードを選択します。

    これによって移動先ノードに対してINFINITYスコアの場所の制約が作成されます。

  5. または、リソースを現在のノードから移動するように選択します。

    これによって現在のノードに対して-INFINITYスコアによる場所の制約が作成されます。

  6. OKをクリックして、マイグレーションを確認します。

リソースを再び元に戻すには、次の手順に従います。

手順 5.22 移行制約をクリアする
  1. 5.1.1項 「Hawkの起動とログイン」で説明したように、Webブラウザを起動してクラスタにログインします。

  2. 左のナビゲーションバーで、クラスタステータスを選択します。

  3. 個々のリソースビューのいずれかで、リソースの隣のレンチアイコンをクリックして、再配置ルールを無視を選択します。継続するには、表示されるメッセージに対して確認します。

    これによって、crm_resource -Uコマンドが使用されます。リソースは元の場所に戻ることができます。あるいは現在の場所に残ることもあります(リソースの固着性によって)。

詳細は、crm_resourceのマニュアルページ、または『Pacemaker Explained (Pacemaker 1.1 for Corosync 2.x and crmsh)』(http://www.clusterlabs.org/doc/から入手可能)を参照してください。特に、「Resource Migration」のセクションを参照してください。

5.4.5 保守モードの使用

クラスタ設定の変更時、個々のノードに対するソフトウェアパッケージの更新時、または上位製品バージョンへのクラスタのアップグレード時であっても、個々のクラスタコンポーネント上、またはクラスタ全体でテストや保守タスクを実行する必要がある場合があります。

それに関して、High Availability Extensionは、次のレベルでmaintenanceオプションを提供しています。

警告
警告: データ損失の危険

クラスタ制御下でサービスを実行しているときにテストまたは保守タスクを実行する必要がある場合は、次のアウトラインに従ってください。

  1. 手順を開始する前に、個々のリソース、ノード、またはクラスタ全体を保守モードに設定します。これにより、順序正しくリソースを起動できないなどの望ましくない影響、クラスタノード間でCIBが同期されないリスク、またはデータ損失を避けることができます。

  2. 保守タスクまたはテストを実行します。

  3. 完了したら、保守モードを解除して、通常のクラスタ操作を開始します。

保守モード中にリソースおよびクラスタで何が発生するかの詳細については、4.7項 「メンテナンスモード」を参照してください。

手順 5.23 リソースへの保守モードの適用
  1. 5.1.1項 「Hawkの起動とログイン」で説明したように、Webブラウザを起動してクラスタにログインします。

  2. 左のナビゲーションバーで、リソースを選択します。保守モードまたは非管理対象モードにするリソースを選択し、そのリソースの隣のレンチアイコンをクリックして、リソースの編集を選択します。

  3. メタ属性カテゴリが開きます。

  4. 空のドロップダウンリストからmaintenance属性を選択し、プラスアイコンをクリックして追加します。

  5. maintenanceの隣のチェックボックスをオンにして、maintenance属性をyesに設定します。

  6. 変更内容を確認します。

  7. 該当するリソースの保守作業が完了したら、そのリソースのmaintenance属性の隣のチェックボックスをオフにします。

    リソースは、この時点から再びHigh Availability Extensionソフトウェアによって管理されます。

手順 5.24 ノードへの保守モードの適用

1つのノードを保守モードにする必要がある場合があります。

  1. 5.1.1項 「Hawkの起動とログイン」で説明したように、Webブラウザを起動してクラスタにログインします。

  2. 左のナビゲーションバーで、クラスタステータスを選択します。

  3. 個々のノードのビューのいずれかで、ノードの隣のレンチアイコンをクリックして、保守を選択します。

    これにより、maintenance="true"というインスタンス属性がノードに追加されます。保守モードのノードでこれまで実行されていたリソースは、unmanagedになります。保守モードを終了するまで、このノードに新しいリソースが割り当てられることはありません。

  4. 保守モードを無効化するには、そのノードの隣のレンチアイコンをクリックして準備完了を選択します。

手順 5.25 クラスタへの保守モードの適用

クラスタ全体に保守モードを設定または設定解除するには、次の手順に従います。

  1. 5.1.1項 「Hawkの起動とログイン」で説明したように、Webブラウザを起動してクラスタにログインします。

  2. 左のナビゲーションバーで、クラスタ設定を選択します。

  3. CRMの環境設定グループで、空のドロップダウンボックスからmaintenance-mode属性を選択し、プラスアイコンをクリックして追加します。

  4. maintenance-mode=trueを設定するには、maintenance-modeの隣のチェックボックスをオンにして、変更を確認します。

  5. クラスタ全体の保守作業が完了したら、maintenance-mode属性の隣のチェックボックスをオフにします。

    この時点から、High Availability Extensionはクラスタ管理をもう一度引き継ぎます。

5.4.6 クラスタ履歴の表示

Hawkには、クラスタの過去のイベントを表示する、次のような機能があります(いくつかの詳細さのレベルがあります)。

手順 5.26 ノードまたリソースの最近のイベントの表示
  1. 5.1.1項 「Hawkの起動とログイン」で説明したように、Webブラウザを起動してクラスタにログインします。

  2. 左のナビゲーションバーで、クラスタステータスを選択します。

  3. ツリービューまたはテーブルビューで、対象とするリソースまたはノードの隣のレンチアイコンをクリックして、最近のイベントを表示を選択します。

    表示されるダイアログには、直前の1時間のイベントが表示されます。

手順 5.27 履歴エクスプローラで遷移を表示する

履歴エクスプローラには、定義できるタイムフレームでの遷移情報が表示されます。ここではこれまでの実行内容が一覧され、不必要になったレポートを削除することができます。履歴エクスプローラは、hb_reportで提供される情報を使用します。(別のクラスタ上で)オフラインで作成されたhb_reportアーカイブをアップロードし、履歴エクスプローラで各遷移を表示することもできます。詳細については、手順5.28「履歴エクスプローラをオフラインで使用する」を参照してください。

  1. 5.1.1項 「Hawkの起動とログイン」で説明したように、Webブラウザを起動してクラスタにログインします。

  2. 左のナビゲーションバーで、履歴エクスプローラを選択します。

  3. デフォルトでは、表示する期間は直前の24時間に設定されています。これを変更するには、開始時刻 および終了時刻を設定します。

  4. 表示をクリックして、遷移データの収集を開始します。

Hawk - 履歴レポート
図 5.14 Hawk - 履歴レポート

次の情報が表示されます。

履歴エクスプローラの結果
時刻

クラスタ内の過去のすべての遷移のタイムライン。

情報アイコン

情報アイコンは、再生時間PE入力列の間に表示される場合があります。アイコンにマウスポインタを置いて、次のいずれかのメッセージを表示します。

  • Input created by different Pacemaker version。この場合、遷移グラフは、異なるPEバージョンによって生成されたため、おおよそのものにすぎません。

  • Pacemaker version not present in PE Input。これは、DCが選択される前のクラスタ起動時に発生します。

PE Input/Node

それぞれの遷移とそれが生成されたノードに関するpe-input*ファイル。遷移ごとに、クラスタは状態のコピーを保存します。これはポリシーエンジンに入力として提供されます。このアーカイブがログ記録されるパス。pe-input*ファイルは指定コーディネータ(DC)上でのみ生成されますが、DCは変更できるので、複数のノードからのpe-input*ファイルが存在する可能性があります。これらのファイルは、ポリシーエンジン(PE)が何を行うよう「予定」されているかを示します。

Details/Full Log

ポップアップウィンドウが開き、その特定の遷移に属しているログ記録データのスニペットが表示されます。さまざまな詳細レベルを表示できます。詳細情報をクリックすると、crm history transition peinput (リソースエージェントのログメッセージを含む)の出力が表示されますが、ログ全体にはpenginecrmdlrmdの詳細も含まれており、crm history transition log peinputに相当します。

Graph/XML

それぞれの遷移のグラフとXML表現。グラフを表示するように選択した場合、(pe-input*ファイルを使用して) PEが再度呼び出され、遷移のグラフィカルな表現が生成されます。または、グラフのXML表現を表示することもできます。

Hawk履歴レポート - 遷移グラフ
図 5.15 Hawk履歴レポート - 遷移グラフ
差分

複数のpe-inputが一覧表示されている場合、pe-inputの各ペアの右側に差分リンクが表示されます。これをクリックすると、設定とステータスの差異が表示されます。

手順 5.28 履歴エクスプローラをオフラインで使用する

いずれかのマシンでHawkを実行している場合は、履歴エクスプローラオフラインで使用することもできます。これは、現在接続されていないクラスタの遷移を表示および分析することを意味します。これを行うには、SUSE Linux Enterprise High Availability Extensionクラスタで生成されたhb_reportを含むTARアーカイブのみが必要です。このアーカイブを履歴エクスプローラでアップロードして分析するには、次の手順に従います。

  1. 5.1.1項 「Hawkの起動とログイン」で説明したように、Webブラウザを起動してHawk Webインタフェースにログインします。

  2. 左のナビゲーションバーで、履歴エクスプローラを選択します。

    hb_report tarballのアップロードというエントリが表示されます。

    Hawk — 履歴エクスプローラのオフラインでの使用
    図 5.16 Hawk — 履歴エクスプローラのオフラインでの使用
  3. 参照をクリックし、ファイルシステムからアップロードするhb_reportアーカイブを選択します。

  4. 探索をクリックして、アーカイブの分析を開始し、履歴エクスプローラの結果の一覧情報を表示します。

5.4.7 可能性のある障害シナリオを調べる

Hawkにはシミュレータが用意されており、障害シナリオを、実際に発生する前に調べることができます。シミュレータモードに切り替える前に、ノードのステータスを変更したり、リソースと制約を追加または編集したり、クラスタ設定を変更したり、複数のリソース操作を実行したりして、どのようなクラスタの動作によってこれらのイベントが発生するのかを確認することができます。シミュレータモードが有効になっている間は、クラスタステータス画面の右下隅にコントロールダイアログが表示されます。シミュレータはすべての画面の変更内容を収集し、イベントの内部キューにそれらを追加します。キューに入れられたイベントによる実行シミュレーションは、コントロールダイアログで手動でトリガされるまでは実行されません。シミュレーションの実行後、実行結果の詳細(ログスニペット、遷移グラフ、CIB状態)を表示して分析することができます。

手順 5.29 シミュレータモードに切り替える
  1. 5.1.1項 「Hawkの起動とログイン」で説明したように、Webブラウザを起動してクラスタにログインします。

  2. 最上位の行(ユーザ名の横)にあるレンチアイコンをクリックし、シミュレータを選択することで、シミュレータモードをアクティブ化します。

    Hawkのバックグラウンド色が変化して、シミュレータがアクティブであることが示されます。クラスタステータス画面の右下隅にシミュレータのコントロールダイアログが表示されます。そのタイトルシミュレータ(初期状態)は、まだシミュレータが実行されていないことを示します。

  3. シミュレータのイベントキューを埋めます。

    1. ノードのステータスの変更をシミュレートするには、まずシミュレータコントロールダイアログの+Nodeをクリックします。操作するノードを選択し、そのターゲット状態を選択します。変更を確認して、それらをコントローラダイアログに一覧表示されるイベントのキューに追加します。

    2. リソースの操作をシミュレートするには、まずシミュレータコントロールダイアログの+Opをクリックします。操作するリソースを選択し、シミュレートする操作を選択します。 必要に応じて、間隔を定義します。操作を実行するノードを選択し、ターゲットとする結果を選択します。変更を確認して、それらをコントローラダイアログに一覧表示されるイベントのキューに追加します。

  4. シミュレートするその他のノードのステータス変更やリソース操作に対して、前の手順を繰り返します。

    Hawk - イベントが挿入されたシミュレータ
    図 5.17 Hawk - イベントが挿入されたシミュレータ
  5. シミュレートするその他の変更を挿入するには:

    1. クラスタステータスセットアップウィザードクラスタ設定リソース、または制約といったHawk画面のいずれかに切り替えます。

      注記
      注記: 履歴エクスプローラとシミュレータモード

      履歴エクスプローラタブをクリックすると、シミュレータモードが無効になります。

    2. 必要に応じて、画面上でパラメータの追加や変更を行います。

      シミュレータはすべての画面の変更内容を収集し、イベントの内部キューにそれらを追加します。

    3. シミュレータコントロールダイアログに戻るには、クラスタステータス画面に切り替えるか、もう一度最上位の行のレンチアイコンをクリックしてシミュレータをクリックします。

  6. 挿入された状態に一覧されているイベントを削除する場合は、それぞれのエントリを選択して、リストのすぐ下のマイナスアイコンをクリックします。

  7. シミュレータコントロールダイアログで実行をクリックして、シミュレーションの実行を開始します。クラスタステータス画面に、シミュレートされるイベントが表示されます。たとえば、あるノードをアンクリーンとしてマークした場合、それはオフラインとして表示され、そのすべてのリソースは停止されます。シミュレータコントロールダイアログは、シミュレータ(最終状態)に変わります。

    Hawk - 最終状態のシミュレータ
    図 5.18 Hawk - 最終状態のシミュレータ
  8. シミュレーションの実行に関する詳細情報を表示するには:

    1. シミュレータダイアログの詳細リンクをクリックして、実行結果のログスニペットを表示します。

    2. グラフリンクをクリックして遷移グラフを表示します。

    3. CIB (in)をクリックしてCIB状態を表示します。遷移の後のCIBを表示するには、CIB (out)をクリックします。

  9. 新しいシミュレーションを最初から開始するには、 リセットボタンをクリックします。

  10. シミュレーションモードを終了するには、シミュレータコントロールダイアログを閉じます。クラスタステータス画面は切り替わって、元の色に戻り、クラスタの現在の状態を表示します。

5.4.8 クラスタレポートの生成

クラスタで発生している問題の分析と診断のために、Hawkはクラスタレポートを生成することができます。これは、クラスタ内のすべてのノードからの情報を集めたものです。

手順 5.30 hb_reportを生成する
  1. 5.1.1項 「Hawkの起動とログイン」で説明したように、Webブラウザを起動してクラスタにログインします。

  2. 最上位の行のユーザ名の隣にあるレンチアイコンをクリックして、hb_reportの生成を選択します。

  3. デフォルトでは、調査する期間は直前の1時間です。これを変更するには、開始時刻 および終了時刻を設定します。

  4. 生成をクリックします。

  5. レポートが作成されたら、対応するリンクをクリックして、*.tar.bz2ファイルをダウンロードします。

hb_reportおよびcrm_reportのようなツールが対応するログファイルの詳細については、すべてのクラスタノードの分析を含むレポートを作成するにはどうしたらよいですか。を参照してくだい。

5.5 複数のクラスタの監視

複数のクラスタを監視するためのシングルポイント管理としてHawkを使用できます。Hawkのクラスタダッシュボードでは、複数のクラスタのサマリを表示することができます。ここには各サマリのノード、リソース、チケット(Geoクラスタを使用している場合)の数と、それぞれの状態が表示されます。このサマリには、それぞれのクラスタに障害が表示されているかどうかも示されます。

Cluster Dashboardに表示されているクラスタ情報は、永続クッキーに保存されます。つまり、Cluster Dashboardを表示するHawkインスタンスを決定し、そのインスタンスを常に使用する必要があります。Hawkを実行するマシンは、その目的のためにクラスタの一部である必要はなく、別個の無関係のシステムで構いません。

手順 5.31 Hawkによる複数クラスタの監視
前提条件
  • Hawkのクラスタダッシュボードで監視するすべてのクラスタは、SUSE Linux Enterprise High Availability Extension 12を実行している必要があります。それより前のバージョンのSUSE Linux Enterprise High Availability Extensionを実行しているクラスタは監視できません。

  • すべてのクラスタノードにあるHawkの自己署名証明書を独自の証明書(または公式認証局によって署名された証明書)で置き換えていない場合は、「すべての」クラスタの「すべての」ノードで、少なくとも1回はHawkにログインします。証明書を検証します(または、ブラウザで例外を追加して警告をスキップします)。

  • Mozilla Firefoxをご使用の場合は、環境設定をサードパーティのCookieも保存するに変更する必要があります。そうでない場合、監視対象のクラスタのクッキーが設定されないため、監視しようとするクラスタにログインできなくなります。

  1. 複数のクラスタを監視するマシン上で、Hawk Webサービスを開始します。

  2. Webブラウザを起動して、Hawkを実行するマシンのIPアドレスまたはホスト名を入力します。

    https://IPaddress:7630/
  3. Hawkのログイン画面で、右上隅のダッシュボードリンクをクリックします。

    クラスタの追加ダイアログが表示されます。

  4. Cluster Dashboardでクラスタを識別するためのカスタムのクラスタ名を入力します。

  5. クラスタノードのいずれかのホスト名を入力し、変更内容を確認します。

    クラスタダッシュボードが開き、追加したクラスタのサマリが表示されます。

  6. ダッシュボードにクラスタをさらに追加するには、プラスアイコンをクリックして、次のクラスタの詳細を入力します。

    Hawk - Cluster Dashboard
    図 5.19 Hawk - Cluster Dashboard
  7. ダッシュボードからクラスタを削除するには、クラスタのサマリの隣のxアイコンをクリックします。

  8. クラスタの詳細を表示するには、ダッシュボード上でクラスタのボックス内の任意の場所をクリックします。

    これにより、新しいブラウザウィンドウまたは新しいブラウザタブが開きます。クラスタに現在ログインしていない場合は、Hawkのログイン画面が開きます。ログインしたら、Hawkのサマリビューに、そのクラスタのクラスタステータスが表示されます。ここで、Hawkによって通常どおりにクラスタを管理できます。

  9. クラスタダッシュボードは独立したブラウザウィンドウまたはタブで開いたままになっているので、ダッシュボードとHawkによる個々のクラスタの管理とは、簡単に切り替えることができます。

ノードまたはリソースに関するステータス変更は、Cluster Dashboard内でほぼ即時に反映されます。

5.6 GeoクラスタのHawk

地理的に離れたクラスタ(Geoクラスタ)に関連するHawk機能の詳細については、『Geo Clustering for SUSE Linux Enterprise High Availability Extensionクイックスタート』を参照してください。

5.7 トラブルシューティング

Hawkログファイル

Hawkログファイルは、/srv/www/hawk/logにあります。Hawkにアクセスできない場合には、これらのファイルをチェックしてください。

Hawkでリソースを始動または停止する際に問題が発生した場合は、Pacemakerのログメッセージを確認します。Pacemakerログの場所は、/etc/corosync/corosync.confloggingセクションで指定されています。

認証ファイル

haclientグループのメンバーである新規ユーザでHawkにログインできない(または、Hawkがこのユーザからのログインを受け入れるまでに遅延がある)場合は、nscdデーモンを停止してください。

systemctl stop nscd.service

Try again(再試行してください).

自己署名証明書の置き換え

Hawkの最初の起動で自己署名証明書に関する警告が発行されるのを避けるには、自動生成された証明書を、独自の証明書または公式認証局(CA)によって署名された証明書で置き換えてください。

証明書は/etc/lighttpd/certs/hawk-combined.pemに保存され、キーと証明書の両方を含んでいます。

パーミッションを変更して、rootだけがファイルをアクセスできるようにします。

chown root.root /etc/lighttpd/certs/hawk-combined.pem
      chmod 600 /etc/lighttpd/certs/hawk-combined.pem

新しいキーと証明書を作成した後、または受け取った後に、次のコマンドを実行してそれらを組み合わせます。

cat keyfile certificatefile > /etc/lighttpd/certs/hawk-combined.pem
履歴エクスプローラ/hb_reportの使用後に、Hawkへのログインが失敗する

履歴エクスプローラhb_reportで定義した期間、およびその期間中にクラスタで発生したイベントによっては、Hawkが、非常に大量の情報を集める場合があります。この情報は、/tmpディレクトリのログファイルに保存されます。この場合、ノードの残りディスクスペースが大きく消費されることがあります。履歴エクスプローラまたはhb_reportの使用後にHawkが応答しなくなった場合には、クラスタノードのハードディスクを確認して、対応するログファイルを削除してください。

Cluster Dashboard: ホストに接続できない

Hawkのダッシュボードにクラスタが追加できない場合は、手順5.31「Hawkによる複数クラスタの監視」に示されている前提条件をチェックしてください。

Cluster Dashboard: アクセスできないノード

Cluster Dashboardは、ステータスについてクラスタあたり1つのノードのみをポールします。ポールされたノードがダウンした場合、ダッシュボードは別のノードにポールして循環させます。この場合、Hawkは、そのノードがアクセス不可であることに関する警告メッセージをすぐに表示します。Hawkが交信する別のノードを見つけたら、メッセージは表示されなくなります。

このページを印刷