7. その他の設定情報

本章では、その他の監視設定や通報設定に関する情報について記載します。

本章で説明する項目は以下の通りです。

7.1. シャットダウン監視

7.1.1. シャットダウン監視とは?

CLUSTERPRO のコマンドでクラスタシャットダウンまたはサーバシャットダウンを実行したときに、OS がストールしているか否か監視します。
クラスタデーモンは OS がストールしていると判断すると強制的にリセットします。

7.1.2. シャットダウン監視を表示/変更するには

  • [常に実行する]
    シャットダウン監視をします。ハートビートタイムアウト (「5. ハートビートリソースの詳細」を参照してください。) を、アプリケーションの終了時間を含めて OS がシャットダウンする時間より長い時間に設定する必要があります。
  • [グループ非活性処理に失敗した場合のみ実行する]
    グループの非活性処理に失敗した場合のみシャットダウン監視をします。ハートビートタイムアウト (「5. ハートビートリソースの詳細」を参照してください。) を、アプリケーションの終了時間を含めて OS がシャットダウンする時間より長い時間に設定する必要があります。共有ディスク、ミラーディスク、ハイブリッドディスクを使用する場合は [グループ非活性処理に失敗した場合のみ実行する] を選択することを推奨します。
  • [実行しない]
    シャットダウン監視をしません。

7.1.3. シャットダウン監視の方法

シャットダウン監視の監視方法は以下のとおりです。

  • 監視方法 softdog
    監視方法が softdog の場合、softdog ドライバを使ってタイマを設定します。
  • 監視方法 ipmi
    監視方法が ipmi の場合、OpenIPMI を使ってタイマを設定します。OpenIPMI がインストールされていない場合、インストールする必要があります。ipmi については「ユーザ空間モニタリソースを理解する」を参照してください。
  • 監視方法 keepalive
    監視方法が keepalive の場合、CLUSTERPRO の clpkhb ドライバと clpka ドライバを使ってタイマを設定します。

    注釈

    clpkhb ドライバ、clpka ドライバが動作するディストリビューション、kernel バージョンについては必ず『スタートアップガイド』の「CLUSTERPRO の動作環境」 - 「ソフトウェア」 - 「動作可能なディストリビューションと kernel」で確認してください。
    ディストリビュータがリリースするセキュリティパッチを既に運用中のクラスタへ適用する場合(kernelバージョンが変わる場合) にも確認してください。
  • 監視方法 ipmi(High-End Server Option)
    監視方法が ipmi(High-End Server Option) の場合、ipmiドライバを使用します。

7.1.4. SIGTERM の設定

OS シャットダウン時に SIGTERM が発行されます。[SIGTERM を有効にする] の設定によりシャットダウン監視の有効範囲と OS が正常にシャットダウンした際の挙動が変わります。
監視方法が keepalive の場合は、監視方法が softdog の場合と同じ挙動となります。
Red Hat Enterprise Linux 8 系 OS 以降の場合、監視方法によらず[SIGTERM を有効にする]をONに設定してください。
  • 監視方法 softdog

    シャットダウン成功時 (監視方法が softdog、SIGTERM が有効の場合)

    1. コマンド(clpstdn、clpdown、shutdown、rebootなど)を発行します。

    2. シャットダウン監視を開始します。

    3. OSシャットダウンが開始されます。

    4. シャットダウン処理の途中でOSがSIGTERMを発行すると、SIGTERMが有効になっているため、シャットダウン監視が終了します。

    5. OSシャットダウンが成功します。

    (d)~(e)の間、ストールを検出することができません。

    _images/img_l_setting-of-sigterm-10.png

    図 7.1 シャットダウン成功時(監視方法が softdog、SIGTERM が有効の場合)

    シャットダウン成功時 (監視方法が softdog、SIGTERM が有効でない場合)

    1. コマンド(clpstdn、clpdown、shutdown、rebootなど)を発行します。

    2. シャットダウン監視を開始します。

    3. OSシャットダウンが開始されます。

    4. シャットダウン処理の途中でOSがSIGTERMを発行しても、SIGTERMが無効になっているため、シャットダウン監視はこの時点で終了しません。

    5. シャットダウン監視は終了し、softdogドライバがアンロードされます。
      OSシャットダウンが成功します。
    _images/img_l_setting-of-sigterm-20.png

    図 7.2 シャットダウン成功時(監視方法が softdog、SIGTERM が有効でない場合)

  • 監視方法 ipmi / ipmi(High-End Server Option)

    シャットダウン成功時 (監視方法が ipmi, SIGTERM が有効の場合)

    1. コマンド(clpstdn、clpdown、shutdown、rebootなど)を発行します。

    2. シャットダウン監視を開始します。

    3. OSシャットダウンが開始されます。

    4. シャットダウン処理の途中でOSがSIGTERMを発行すると、SIGTERMが有効になっているため、シャットダウン監視が終了します。

    5. OSシャットダウンが成功します。

    (d)~(e)の間、ストールを検出することができません。

    _images/img_l_setting-of-sigterm-30.png

    図 7.3 シャットダウン成功時(監視方法が ipmi, SIGTERM が有効の場合)

    シャットダウン成功時 (監視方法が ipmi、SIGTERM が有効でない場合)

    1. コマンド(clpstdn、clpdown、shutdown、rebootなど)を発行します。

    2. シャットダウン監視を開始します。

    3. OSシャットダウンが開始されます。

    4. シャットダウン処理の途中でOSがSIGTERMを発行しても、SIGTERMが無効になっているため、シャットダウン監視はこの時点で終了しません。

    5. OSシャットダウンが成功します。

    6. リセットが発生します。

    _images/img_l_setting-of-sigterm-40.png

    図 7.4 シャットダウン成功時 (監視方法が ipmi、SIGTERM が有効でない場合)

    • ストールが発生しないで正常にシャットダウンが完了した場合も ipmi によってリセットが発生します。

    • ソフトウェア電源 OFF が可能なサーバではリセットは発生しません。

    監視方法が ipmi の場合、SIGTERM を有効にする設定を推奨します。

  • OS シャットダウンでストールが発生した場合

    シャットダウンストール検出時

    1. コマンド(clpstdn、clpdown、shutdown、rebootなど)を発行します。

    2. シャットダウン監視を開始します。

    3. OSシャットダウンが開始されます。

    4. OSシャットダウン途中でストールが発生します。

    5. リセットが発生します。

    _images/img_l_setting-of-sigterm-50.png

    図 7.5 シャットダウンストール検出時

7.1.5. ハートビートタイムアウトを使用する

シャットダウン監視のタイムアウト値をハートビートタイムアウト値と連動させます。

7.1.6. タイムアウト

シャットダウン監視のタイムアウト値としてハートビートタイムアウト値を使用しない 場合にタイムアウト値を指定します。
サーバダウン検出によるフェイルオーバが発生した際に両系活性を回避するため、ハートビートタイムアウト値以下の値を設定する必要があります。

7.2. bonding

7.2.1. フローティング IP リソース

注意事項

bonding モードに "active-backup" を指定すると、スレーブインターフェイスの切り替えの際、一時的に通信が途絶えることがあります。

bonding 設定例

bonding の設定を行った場合、環境によっては bonding のマスターインターフェースに設定したIPアドレスがスレーブインターフェースにも表示される場合があります。

上記のような環境で bonding のマスターインターフェースにフローティングIPアドレスを設定する場合、[プロパティ] の [詳細] タブで以下のように IP アドレスと bonding デバイスを "%" で区切って指定してください。

例) デバイス名 bond0、IP アドレス 192.168.1.3 を設定する場合

注釈

インタコネクトの IP アドレス設定には、IP アドレスのみ設定してください。

bonding 上にフローティング IP リソースを使用する設定例を示します。

Device

Slave

Mode

bond0

eth0
eth1
active-backup(1)
balance-tlb(5)

bond0

eth0
eth1
active-backup(1)
balance-tlb(5)

図の Server 1、Server 2では スレーブインターフェース eth0、eth1 をbondingでまとめて、マスターインタフェース bond0を構成しています。 また、Server1、Server2へアクセスするため、FIPリソースにIPアドレスが設定されています。 クラスタサーバと同一LAN上のホスト、リモートLAN上のホスト、ともにFIPを使用してクラスタサーバと接続することができます。 ルータにおいて、FIPを使用するための特別な設定は必要ありません。

  • FIPリソースIPアドレス: 192.168.1.3%bond0

bondingインターフェイスをもつ2台のサーバ、同一ネットワークに接続されたクライアントPC、それらが接続されたPublic LAN用ハブ、ルータを介した別セグメントにあるクライアントPC

図 7.6 bonding 上でのフローティング IP リソース使用例

Server 1 での ifconfig によるフローティング IPリソースの活性状態は以下のようになります。(bonding mode は、"balance-tlb(5)" を指定。)

$ ifconfig
bond0   Link encap:Ethernet HWaddr 00:00:01:02:03:04
        inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
        UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
        RX packets:6807     errors:0 dropped:0 overruns:0 frame:0
        TX packets:2970     errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:0
        RX bytes:670032 (654.3 Kb)  TX bytes:189616 (185.1 Kb)

bond0:0 Link encap:Ethernet HWaddr 00:00:01:02:03:04
        inet addr:192.168.1.3 Bcast:192.168.1.255 Mask:255.255.255.0
        UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
        RX packets:236 errors:0 dropped:0 overruns:0 frame:0
        TX packets:2239 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:0
        RX bytes:78522 (76.6 Kb)  TX bytes:205590 (200.7 Kb)

eth0    Link encap:Ethernet HWaddr 00:00:01:02:03:04
        UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
        RX packets:3434     errors:0 dropped:0 overruns:0 frame:0
        TX packets:1494     errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:1000
        RX bytes:332303 (324.5 Kb)  TX bytes:94113 (91.9 Kb)
        Interrupt:18 Base address:0x2800 Memory:fc041000-fc041038

eth1    Link encap:Ethernet HWaddr 00:00:05:06:07:08
        UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
        RX packets:215      errors:0 dropped:0 overruns:0 frame:0
        TX packets:1627     errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:1000
        RX bytes:77162 (75.3 Kb)  TX bytes:141394 (138.0 Kb)
        Interrupt:19 Base address:0x2840 Memory:fc042000-fc042038

eth2    Link encap:Ethernet HWaddr 00:00:09:10:11:12
        inet addr:192.168.2.1 Bcast:192.168.2.255 Mask: 255.255.255.0
        UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
        RX packets:47 errors:0 dropped:0 overruns:0 frame:0
        TX packets:1525 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:1000
        RX bytes:2820 (2.7 Kb)  TX bytes:110113 (107.5 Kb)
        Interrupt:24 Base address:0x3000 Memory:fc500000-fc500038
  • 上記において、"bond0" のブロックは eth0、eth1 を bonding 化したデバイスの情報です。 パブリックLAN、2番目のインタコネクトに使用するデバイスです。

  • "bond0:0" のブロックは、"bond0" 上で活性したフローティングIPアドレスの情報を示しています。

  • "eth2" は、1番目のインタコネクトに使用するデバイスです。

7.2.2. ミラーディスクコネクト

注意事項

bonding 上でミラーディスクコネクトを使用すると、スレーブインターフェイスの切り替えの際、一時的に通信が途絶えます。ミラーリング処理のタイミングによっては、bonding の切り替えが完了したあとにミラー復帰が実行されることがあります。

bonding 設定例

bonding 上にミラーディスクコネクトを使用する設定例を示します。

Cluster Server

Device

Slave

Mode

Server 1

bond0

eth1
eth2

balance-rr(0)
active-backup(1)
balance-tlb(5)

Server 2

bond0

eth1
eth2

balance-rr(0)
active-backup(1)
balance-tlb(5)

7.3. 強制停止機能

7.3.1. 強制停止機能とは?

サーバのダウンを認識したときに残りのサーバ (正常なサーバ) からダウンしたサーバを強制的に停止させる機能です。

物理マシンは、IPMI の機能を使用して停止させます。

仮想マシンのゲスト OSは、VMware vCenter Serverの機能を使用して停止させます。

上記の他に、ダウンしたサーバを停止させる処理を記述した任意のスクリプトを実行することもできます。詳細は「7. その他の設定情報」の「強制停止スクリプト」を参照してください。

7.3.2. 強制停止実行条件

  • 以下の場合には強制停止は実行しません。

    • サーバダウンする前にフェイルオーバグループが正常に停止した場合

    • [clpdown] コマンド、OS のシャットダウンコマンド、Cluster WebUI でサーバをシャットダウンし、フェイルオーバグループが正常に停止した場合

    • [clpcl] コマンド、Cluster WebUI でクラスタを停止し、フェイルオーバグループが正常に停止した場合

    • サーバがダウンし、ダウンしたサーバから他のサーバにフェイルオーバさせるフェイルオーバグループが無い場合。
      (ダウンしたサーバでフェイルオーバグループが活性していない場合も含みます。)
  • 以下の場合には強制停止を実行します。

    • サーバがダウンし、ダウンしたサーバから他のサーバにフェイルオーバさせるフェイルオーバグループが有る場合。

7.3.3. 強制停止で使用するコマンド

物理マシンの強制停止には、[ipmitool] コマンドを使用します。

コマンドがインストールされていない場合には本機能は使用できません。

コマンド実行時の下記のオプション値をサーバプロパティの [BMC] タブに設定してください。

[ipmitool] コマンドのオプション

サーバプロパティの[BMC] タブの設定項目

-H ip_address

IPアドレス

-U username

ユーザ名

-P password

パスワード

サーバプロパティのBMCタブの[強制停止アクション]にコマンドラインを設定しない場合は以下のコマンドが実行されます。

強制停止アクション

コマンド

BMC パワーオフ

ipmitool -H ip_address -U username -P password power off

BMC リセット

ipmitool -H ip_address -U username -P password power reset

BMC パワーサイクル

ipmitool -H ip_address -U username -P password power cycle

BMC NMI

ipmitool -H ip_address -U username -P password power diag

上記コマンドに失敗した場合以下のコマンドを実行します。

強制停止アクション

コマンド

BMC パワーオフ

ipmitool -H ip_address -I lanplus -U username -P password power off

BMC リセット

ipmitool -H ip_address -I lanplus -U username -P password power reset

BMC パワーサイクル

ipmitool -H ip_address -I lanplus -U username -P password power cycle

BMC NMI

ipmitool -H ip_address -I lanplus -U username -P password power diag

アクションで使用するオプションについては、「4. モニタリソースの詳細」 - 「モニタリソースとは?」 - 「使用している ipmi コマンド」を参照してください。

仮想マシンのゲスト OSの強制停止には、VMware vSphere Command Line Interface(vCLI) の[vmcontrol] コマンドを使用します。VMware vSphere Command Line Interface(vCLI)がインストールされていない場合には本機能は使用できません。

コマンド実行時の下記のオプション値を設定してください。

[vmcontrol] コマンドのオプション

クラスタプロパティの拡張タブの [仮想マシン強制停止設定] の設定項目

サーバプロパティの情報タブの [仮想マシン名の入力] の設定項目

--server ip_address

IP アドレス

-

--username username

ユーザ名

-

--password password

パスワード

-

--vmname virtualmachine

-

仮想マシン名

アクションで使用するオプションについては、以下のとおりです。

コマンド

オプション

概要

vmcontrol

--operation poweroff

仮想マシンのゲスト OS の電源をオフにします。

7.3.4. 強制停止で使用するコマンドを指定するには

物理マシンのサーバの強制停止では、サーバプロパティのBMCタブの[強制停止アクション]にて強制停止で使用する任意のコマンドラインを指定することも可能です。

コマンドラインを指定する際は、以下の置換文字列を使用することでサーバプロパティの設定値をコマンドラインに反映することができます。

置換文字列名

置換対象
(サーバプロパティのBMCタブの設定項目)
置換対象
(クラスタプロパティの拡張タブの強制停止アクションの設定項目)

CLP_BMC_HOST

IPアドレス

-

CLP_BMC_USER

ユーザ名

-

CLP_BMC_PASSWORD

パスワード

-

CLP_BMC_ACTION

-

強制停止アクション

強制停止アクションの置換文字列(CLP_BMC_ACTION)で置換される文字は以下のとおりです。

強制停止アクション

置換文字列で変換される文字

BMC パワーオフ

off

BMC リセット

reset

BMC パワーサイクル

cycle

BMC NMI

diag

注釈

強制停止アクションは置換文字列(CLP_BMC_ACTION)の有無で実行するアクションが異なります。

  • コマンドラインにCLP_BMC_ACTIONが含まれる場合
    クラスタプロパティの強制停止アクションで選択したアクションを実行します。
  • コマンドラインにCLP_BMC_ACTIONが含まれない場合
    クラスタプロパティの強制停止アクションで選択したアクションは反映されません。

置換文字列を使用した強制停止アクションのコマンド指定例

ipmitool -H CLP_BMC_HOST -U CLP_BMC_USER -P CLP_BMC_PASSWORD power CLP_BMC_ACTION

7.3.5. 強制停止機能の詳細を表示/変更するには

強制停止機能の設定については本ガイドの「2. パラメータの詳細」の「クラスタプロパティ - 拡張タブ」、「サーバプロパティ - 情報タブ」、「サーバプロパティ - BMC タブ」を参照してください。

7.3.6. 強制停止機能の注意事項

  • 仮想マシンのゲストOSの強制停止について
    パワーオフ動作のみが実行可能です。また、VMWare vCenter Serverとの通信が行えない場合、本機能は使用できません。
  • ipmitoolの注意事項について
  • 強制停止の影響点について
    強制停止機能を使用すると OS やサーバの状態によらず強制的にパワーオフ、リセット、パワーサイクル、NMI を行うため以下の機能が影響を受けます。
    • ダンプ採取
      ダンプ採取中であることが認識できないので、ダンプ採取の処理中であってもパワーオフ、リセット、パワーサイクルが発生しダンプ採取が完了しません
    • ハートビートタイムアウト以内の電源オン操作
      ハートビートタイムアウト時間内に保守などの目的でサーバの電源を再度オンにした場合、ハートビートタイムアウト経過後にパワーオフ、リセット、パワーサイクル、NMIが発生することがあります。
  • BMC のネットワーク設定について
    BMC のマネージメント用 LAN ポートの IP アドレスと OS が使用する IP アドレスの間で通信ができるように設定をしてください。BMC のマネージメント用のネットワークが 閉塞している環境では本機能は使用できません。
    BMC のマネージメント用 LAN ポートに設定した IP アドレスと同じ IP アドレスをサーバプロパティの [BMC] タブに設定してください。
    BMC のマネージメント用 LAN ポートの IP アドレスなどの設定方法はサーバのマニュアルなどを参照してください。

7.4. 強制停止スクリプト

7.4.1. 強制停止スクリプトとは?

サーバのダウンを認識したときに 残りのサーバ (正常なサーバ) でユーザが作成した任意のスクリプトを実行する機能です。
この機能を使用することで、ダウンしたサーバを強制的に停止させることが可能になります。
また、強制停止の成功可否を確認し、フェイルオーバするか否かを制御できます。

7.4.2. 強制停止スクリプト実行条件

  • 以下の場合には強制停止スクリプトは実行しません。

    • サーバダウンする前にフェイルオーバグループが正常に停止した場合

    • [clpdown] コマンド、Cluster WebUI でサーバをシャットダウンし、フェイルオーバ グループが正常に停止した場合

    • [clpcl] コマンド、Cluster WebUI でクラスタを停止し、フェイルオーバグループが正常に停止した場合

    • サーバがダウンし、ダウンしたサーバから他のサーバにフェイルオーバさせるフェイルオーバグループが無い場合。
      (ダウンしたサーバでフェイルオーバグループが活性していない場合も含みます。)
  • 以下の場合には強制停止スクリプトを実行します。

    • サーバがダウンし、ダウンしたサーバから他のサーバにフェイルオーバさせるフェイルオーバグループが有る場合。

7.4.3. 強制停止スクリプトの記述について

強制停止スクリプトで使用する環境変数

CLUSTERPROはスクリプトを実行する場合に、どのサーバがダウンしたかなどの情報を環境変数にセットします。

スクリプト内で下図の環境変数を分岐条件として、システム運用にあった処理内容を記述できます。

環境変数

環境変数の値

意味

CLP_SERVER_DOWN
・・・ダウンサーバ名

サーバ名

ダウンしたサーバ名を示します。

CLP_SERVER_LOCAL
・・・ローカルサーバ名

サーバ名

スクリプトを実行するサーバ名を示します。

CLP_VMNAME
・・・仮想マシン名

仮想マシン名

サーバプロパティで設定した仮想マシン名を示します。

CLP_DATACENTER_NAME
・・・データセンタ名

データセンタ名

サーバプロパティで設定したデータセンタ名を示します。

CLP_VCENTER_HOST
・・・vCenterのホスト名

ホスト名

仮想マシン強制停止設定で設定したホスト名を示します。

CLP_VCENTER_USER
・・・vCenterのユーザ名

ユーザ名

仮想マシン強制停止設定で設定したユーザ名を示します。

CLP_VCENTER_PASSWORD
・・・vCenterのパスワード

パスワード

仮想マシン強制停止設定で設定したパスワードを示します。

CLP_BMC_HOST
・・・BMCのIPアドレス

IPアドレス

サーバプロパティで設定したIPアドレスを示します。

CLP_BMC_USER
・・・BMCのユーザ名

ユーザ名

サーバプロパティで設定したユーザ名を示します。

CLP_BMC_PASSWORD
・・・BMCのパスワード

パスワード

サーバプロパティで設定したパスワードを示します。

強制停止スクリプトの戻り値

スクリプトが正常終了する時には戻り値として 0 を返却してください。

7.4.4. 強制停止スクリプトの詳細を表示/変更するには

強制停止スクリプトの設定については、本ガイドの「2. パラメータの詳細」 - 「クラスタプロパティ」 - 「拡張タブ」を参照してください。

7.4.5. 強制停止スクリプトの注意事項

  • サーバを停止させる処理はお客様にて用意し、強制停止スクリプトに記述してください。

  • 強制停止スクリプトを設定する場合は、本ガイドの「7. その他の設定情報」の「強制停止機能」 - 「強制停止機能の注意事項」 - 「強制停止の影響点について」 を参照してください。

  • 強制停止機能と強制停止スクリプトの双方を設定した場合、下記の順序で実行されます。

    1. 強制停止機能

    2. 強制停止スクリプト

7.5. 筐体 ID ランプ連携

7.5.1. 筐体 ID ランプ連携とは

サーバのダウンを認識したときに 残りのサーバ (正常なサーバ) が IPMI の機能を使用し、ダウンしたサーバの筐体 ID ランプの点滅で通知する機能です。

7.5.3. クラスタが停止する場合に点滅している筐体 ID ランプの挙動について

クラスタが停止するときに、クラスタ内のサーバの筐体 ID ランプが点滅状態になっている場合には、最長で 250 秒間点滅が継続することがあります。

7.5.4. 筐体 ID ランプ連携で使用するコマンド

[ipmitool] コマンドを使用します。

コマンドがインストールされていない場合には本機能は使用できません。

コマンド実行時の下記のオプション値をサーバプロパティの BMC タブに設定してください。

[ipmitool] コマンドの

サーバプロパティの

オプション

BMC タブの設定項目

-H ip_address

IP アドレス

-U username

ユーザ名

-P password

パスワード

サーバプロパティのBMCタブの筐体IDランプ[点滅]、[消灯]にコマンドラインを設定しない場合は以下のコマンドが実行されます。

筐体IDランプ

コマンド

点滅

ipmitool -H ip_address -U username -P password chassis identify 250

消灯

ipmitool -H ip_address -U username -P password chassis identify 0

上記コマンドに失敗した場合以下のコマンドを実行します。

筐体IDランプ

コマンド

点滅

ipmitool -H ip_address -I lanplus -U username -P password chassis identify 250

消灯

ipmitool -H ip_address -I lanplus -U username -P password chassis identify 0

7.5.5. 筐体 ID ランプ連携で使用するコマンドを指定するには

筐体 ID ランプ連携では、サーバプロパティのBMCタブの筐体 ID ランプ[点滅]、[消灯]にて筐体 ID ランプ連携で使用する任意のコマンドラインを指定することも可能です。

コマンドラインを指定する際は、以下の置換文字列を使用することでサーバプロパティの設定値をコマンドラインに反映することができます。

置換文字列名

置換対象(サーバプロパティのBMCタブの設定項目)

CLP_BMC_HOST

IPアドレス

CLP_BMC_USER

ユーザ名

CLP_BMC_PASSWORD

パスワード

置換文字列を使用した筐体 ID ランプ点滅コマンドの指定例

ipmitool -H CLP_BMC_HOST -U CLP_BMC_USER -P CLP_BMC_PASSWORD chassis identify 250

7.5.6. 筐体 ID ランプ連携 の詳細を表示/変更するには

筐体 ID ランプ連携の設定については本ガイドの「2. パラメータの詳細」の「クラスタプロパティ - アラートサービスタブ」、「サーバプロパティ - BMC タブ」を参照してください。

7.5.7. 筐体 ID ランプ連携に関する注意事項

  • ipmitoolの注意事項について
  • BMC のネットワーク設定について
    BMC のマネージメント用 LAN ポートの IP アドレスと OS が使用する IP アドレスの間で通信ができるように設定をしてください。BMC のマネージメント用のネットワークが閉塞している環境では本機能は使用できません。
    BMC のマネージメント用 LAN ポートに設定した IP アドレスと同じ IP アドレスをサーバプロパティの [BMC] タブに設定してください。
    BMC のマネージメント用 LAN ポートの IP アドレスなどの設定方法はサーバのマニュアルなどを参照してください。

7.6. アラートサービス

7.6.1. アラートサービスとは?

CLUSTERPRO アラートサービスは、CLUSTERPRO 上の業務の異常を遠隔地にいる管理者に通知する機能です。

通知方法は、以下の 3 つがあります。それぞれの通知方法によって、通知が行われる事象がことなります。

  1. Eメール通報
    Cluster WebUI のアラートメッセージが表示されるタイミングで、アラートの内容を メール通報します。
  2. ネットワーク警告灯通報
    サーバ起動時とサーバダウン時にネットワーク警告灯通報しサーバの状態を示します。サーバが正常に終了するときは、ネットワーク警告灯を消灯します。
    メール通報とネットワーク警告灯通報は、お互いが独立して動作します。
  3. SNMP トラップ送信
    Cluster WebUI のアラートメッセージが表示されるタイミングで、アラートの内容をSNMP トラップ送信します。
2台のサーバ、サーバ内にあるアラートサービス、ネットワーク警告灯、Eメール

図 7.7 アラートサービス

  • Eメール通報を行うので、管理端末から離れている場合でも、障害発生をいち早く検知 することができます。

  • メール送信先を携帯電話にすることも可能です。

  • ネットワーク警告灯の点灯により、障害を視覚的に判断することができます。

  • ネットワーク警告灯の音声ファイルの再生により、障害を音声で判断することも可能です。

  • 通報先に設定したサーバに障害の内容をSNMP トラップ送信することができます。

Eメール通報では下記のフォーマットでアラートの内容をメール通報します。

件名

CLUSTERPRO

本文

Message: Server [ダウンしたサーバ名] has been stopped.
Type: nm
ID: 2
Host: [メール送信元 サーバ名]
Date: [送信タイムスタンプ]

7.6.2. アラートサービスに関する注意事項

  • Eメール通報とネットワーク警告灯通報機能を使用するには CLUSTERPRO X Alert Service 4.3 for Linux が必要です。

  • 本機能は、障害発生の第一報を通報することが目的であり、CLUSTERPRO 上の障害の調査や原因究明を行うものではありません。障害が発生した場合、その詳細な原因は、CLUSTERPRO のログや、syslog など他の手段で原因を判断する必要があります。

  • Linux でネットワーク警告灯機能を使用する際は、rsh パッケージのインストールが必要な場合があります。

7.6.3. メール通報の動作

7.6.4. ネットワーク警告灯通報の動作

ネットワーク警告灯は、以下の様な動作を行います。

  1. サーバ起動時
    サーバが正常に起動すると、緑を点灯します。
  2. サーバ終了時
    サーバが正常に終了すると、消灯します。
  3. サーバダウン時
    サーバがダウンしたとき、赤を点滅します。通報は、正常なサーバがほかの異常なサーバの状態を検出して送信されるため、全てのサーバがダウンした場合、最後にダウンしたサーバのネットワーク警告灯には障害を通知することができません。

一旦点灯または点滅したネットワーク警告灯は、クラスタシャットダウン時以外は消灯しませんので、消灯させたい場合は、[clplamp] コマンドを実行してください。[clplamp] コマンドについては本ガイドの「8.2. CLUSTERPRO コマンド一覧」の「ネットワーク警告灯を消灯する (clplamp コマンド)」を参照してください。

音声ファイル再生に対応したネットワーク警告灯 (当社指定品) の場合、設定により音声ファイルの再生も点灯/消灯と連動して行うことができます。

7.6.5. SNMP トラップ送信の動作

7.7. SNMP 連携

7.7.1. SNMP 連携とは?

SNMP 連携は、CLUSTERPRO MIB 定義を元に CLUSTERPRO からの SNMP トラップ送信、SNMP マネージャからの SNMP による情報取得 を可能にする機能です。

2台のサーバ、サーバ内にあるアラートサービス、SNMPマネージャ

図 7.8 SNMP連携

7.7.2. CLUSTERPRO MIB 定義とは?

SNMP連携により送信取得される情報は、MIB 定義ファイルにまとめられています。

後述する SNMP トラップ送信、および SNMP による情報取得の機能を使用する場合、MIB 定義ファイルが必要になります。

SNMP マネージャでCLUSTERPRO からの SNMP トラップを受信したい、あるいは、SNMP マネージャからクラスタの状態を取得したいといったような場合、SNMP マネージャへ CLUSTERPRO MIB 定義ファイル を組み込んでください。

SNMP マネージャへMIB 定義ファイルを組み込む方法については、各SNMP マネージャのマニュアルを参照してください。

CLUSTERPRO MIB 定義ファイルはCLUSTERPRO X CD-ROM の以下に配置しています。

<CLUSTERPRO X CD-ROM>Common<バージョン番号>commonmib

各MIB 定義ファイルには以下のような意味があります。

No.

MIB 定義ファイル

説明

NEC-CLUSTER-SMI.mib

CLUSTERPRO MIB ツリーのルートパスが定義されています。

NEC-CLUSTER-EVENT-MIB.mib

CLUSTERPRO の SNMP トラップ送信機能に関連するトラップ定義や MIB が定義されています。

NEC-CLUSTER-MANAGEMENT-MIB.mib

CLUSTERPRO の 以下の情報に関連するMIB が定義されています。

  • クラスタの情報

  • サーバの情報

  • グループの情報

SNMP マネージャに組み込むファイルの組み合わせにより、利用できる機能が変わります。

CLUSTERPRO からの SNMP トラップを受信する場合

1. NEC-CLUSTER-SMI.mib
2. NEC-CLUSTER-EVENT-MIB.mib

SNMP による情報取得を行う場合

1. NEC-CLUSTER-SMI.mib
3. NEC-CLUSTER-MANAGEMENT-MIB.mib

7.7.3. SNMP トラップ送信とは?

SNMP トラップ送信は、Cluster WebUI のアラートメッセージと同じ内容を SNMP マネージャに送信する機能です。

トラップを送信するためには、別途 SNMP トラップの送信先の設定が必要です。本ガイドの「2. パラメータの詳細」 - 「クラスタプロパティ」 - 「アラートサービスタブ」より「SNMP トラップ 送信先設定」を参照して設定してください。

送信されるトラップはNEC-CLUSTER-EVENT-MIB で定義されています。

NEC-CLUSTER-EVENT-MIBで定義されている各 MIB オブジェクトを以下に示します。

clusterEventNotificationsグループ

送信されるトラップを定義したグループです。ここで定義されている各 MIB オブジェクトは、以下のような意味があります。

No.

SNMP TRAP OID

説明

clusterEventInformation

情報 レベルのアラートを表すトラップです。
clusterEvent グループの MIB オブジェクトを添付しています。

clusterEventWarning

警告 レベルのアラートを表すトラップです。
clusterEvent グループの MIB オブジェクトを添付しています。

clusterEventError

異常 レベルのアラートを表すトラップです。
clusterEvent グループの MIB オブジェクトを添付しています。

clusterEventグループ

トラップに添付される情報が定義されたグループです。ここで定義されている各 MIB オブジェクトは、以下のような意味があります。

No.

SNMP OID

説明

clusterEventMessage

アラートメッセージを表します。

clusterEventID

イベントID を表します。

clusterEventDateTime

アラートの発信時刻を表します。

clusterEventServerName

アラートの発信元サーバを表します。

clusterEventModuleName

アラートの発信元モジュールを表します。

7.7.4. SNMP による情報取得とは?

SNMPプロトコルを利用して CLUSTERPRO の構成情報、ステータス情報の一部を取得することが可能です。ただし、CLUSTERPRO 自身は SNMP エージェントの機能を同梱していません。別途、SNMP エージェントとして Net-SNMP snmpd デーモン が必要になります。

SNMP エージェントとは?

SNMPマネージャ(ネットワーク管理ソフト) からの情報取得要求(GetRequest, GetNextRequest) に対して、各種構成情報、ステータス情報を応答(GetResponse) を返す機能です。

注釈

SNMP による情報取得機能を使用する場合、必ず『インストール&設定ガイド』の「SNMP 連携機能を設定するには」を実行してください。

7.7.5. SNMP 連携で取得できるMIB について

SNMP 連携機能で取得できる MIB は、NEC-CLUSTER-MANAGEMENT-MIB で定義されています。

NEC-CLUSTER-MANAGEMENT-MIB で定義されている各 MIB オブジェクトを以下に示します。

clusterGeneral グループ

クラスタ関連の情報が取得できるグループです。ここで定義されている各 MIB オブジェクトは、以下のような意味があります。

No.

SNMP OID

説明

clusterName

クラスタ名を表します。

clusterComment

クラスタのコメントを表します。

clusterStatus

現在のクラスタのステータスを表します。

MIB の取得値と Cluster WebUI のステータスの対応は以下になります。

MIB の値   ステータス
---------------------
normal     [正常]
caution    [警告]
error      [異常]
unknown    -

clusterServerグループ

サーバ関連の情報が取得できるグループです。clusterServerTable 取得時のインデックスはサーバ優先度順に並びます。ここで定義されている各 MIB オブジェクトは、以下のような意味があります。

No.

SNMP OID

説明

clusterServerLocalServerIndex

現在のSNMP 情報取得要求を受けたサーバのインデックス(clusterServerIndex) を表します。

clusterServerTable

サーバの情報テーブルを表します。

clusterServerEntry

サーバ情報のリストを表します。

このリストのインデックスは clusterServerIndex です。

clusterServerIndex

各サーバを一意に識別するインデックスを表します。

clusterServerName

サーバ名を表します。

clusterServerComment

サーバのコメントを表します。

clusterServerStatus

現在のサーバのステータスを表します。

MIB の取得値と Cluster WebUI のステータスの対応は以下になります。

MIB の値   ステータス
---------------------
online     [起動済]
offline    [停止済]
unknown    [不明]

clusterServerPriority

サーバの優先順位を表します。

clusterServerProductName

サーバにインストールされた CLUSTERPRO の製品名を表します。

clusterServerProductVersion

サーバにインストールされた CLUSTERPRO の製品バージョンを表します。

clusterServerProductInstallPath

サーバにインストールされた CLUSTERPRO のインストールパスを表します。

clusterServerPlatformName

サーバのプラットフォーム名を表します。

clusterGroupグループ

グループ関連の情報が取得できるグループです。ここで定義されている各 MIB オブジェクトは、以下のような意味があります。

No.

SNMP OID

説明

clusterGroupTable

グループの情報テーブルを表します。

clusterGroupEntry

サーバ情報のリストを表します。

このリストのインデックスは clusterGroupIndexです。

clusterGroupIndex

各グループを一意に識別するインデックスを表します。

clusterGroupName

グループ名を表します。

clusterGroupComment

グループのコメントを表します。

clusterGroupType

グループの種別を表します。

MIB の取得値と グループの種別の対応は以下になります。

MIB の値         グループの種別
---------------------------------------
failover         フェイルオーバグループ
cluster          管理グループ
virtualMachine   仮想マシングループ

clusterGroupStatus

現在のグループのステータスを表します。MIB の取得値と Cluster WebUI のステータスの対応は以下になります。

MIB の値         ステータス
---------------------------
online           [起動済]
onlineFailure    [起動失敗]
offlineFailure   [停止失敗]
offline          [停止済]
unknown          [不明]
onlinePending    [起動中]
offlinePending   [停止中]

clusterGroupCurrentServerIndex

現在グループが活性化しているサーバのインデックス(clusterServerIndex) を表します。グループが非活性の場合、返却値は -1 になります。

7.8. 非正規停止後のクラスタサービスの自動起動禁止

7.8.1. クラスタサービスの自動起動禁止とは?

Cluster WebUI によるクラスタシャットダウン/クラスタリブート/クラスタ停止、clpstdnコマンド、clpcl -t -aコマンド以外の方法でCLUSTERPROサービスが停止した場合、次回OS起動時にはCLUSTERPROサービスの自動起動を禁止する機能です。

自動起動を禁止した場合、OSのシャットダウンコマンドや、Cluster WebUI によるサーバシャットダウン/サーバリブート/サーバ停止、clpdownコマンド、clpcl -tコマンドなどでCLUSTERPROサービスを停止した場合には次回サーバ起動時にはCLUSTERPROサービスは自動起動しません。

クラスタシャットダウンやクラスタ停止を実行した場合でも、CLUSTERPRO サービスの停止処理で異常が発生した場合や、OSリセットや電源断等により停止処理が実行されなかった場合にも、次回のOS起動時にはCLUSTERPROサービスは自動起動しません。

7.8.2. 自動起動禁止を表示/変更するには

  • [ダウン後自動起動する]
    自動起動を禁止しません。
  • [ダウン後自動起動しない]
    クラスタシャットダウンやクラスタ停止以外の方法でサーバを停止した場合やクラスタシャットダウンやクラスタ停止が正常に終了しなかった場合に、次回OS起動時にクラスタサービスの自動起動を禁止します。

7.8.3. 自動起動禁止の条件

自動起動を禁止する条件は以下のとおりです。

  • クラスタシャットダウンやクラスタ停止以外の方法でクラスタを停止した場合

  • OSのリセット、パニック、電源断等でクラスタサービスの停止処理が実行されなかった場合

  • クラスタシャットダウンやクラスタ停止処理のクラスタサービスの停止処理でグループの非活性処理に失敗した場合

  • クラスタを構成する一部のサーバを単体でクラスタ停止した場合:

7.8.4. 自動起動禁止に関する注意事項

  • OS起動時にCLUSTERPROサービスが自動起動しない場合は、Cluster WebUI やclpclコマンドを使用してCLUSTERPROサービスを起動する必要があります。

  • OS起動時にCLUSTERPROサービスが自動起動しなかった場合には、Cluster WebUI 上のアラートメッセージ、syslogメッセージが出力されます。

7.9. サーバグループ間自動フェイルオーバ時の猶予時間待ち合わせ

7.9.1. 猶予時間待ち合わせとは?

サーバグループ間の自動フェイルオーバ時に、指定した時間だけフェイルオーバの開始を待ち合わせます。サーバダウンを検出してから、猶予時間経過後にフェイルオーバが実行されます。

7.9.2. 猶予時間待ち合わせ条件

下記の設定のグループのフェイルオーバを待ち合わせます。

  • [情報] タブ - [サーバグループ設定を使用する] がオン

  • [起動サーバ] タブ - [起動可能なサーバグループ] に複数のサーバグループが指定されている

  • [属性] タブ - [フェイルオーバ属性] - [自動フェイルオーバ] - [サーバグループ内のフェイルオーバポリシを優先する] がオンかつ [サーバグループ間では手動フェイルオーバのみを有効とする] がオフ

下記の場合には、猶予時間の待ち合わせは行いません。

  • 同一サーバグループ内のサーバへフェイルオーバする場合

  • サーバダウン検出がサーバダウン通知による場合

  • [強制停止スクリプトを実行する] がオンに設定され、強制停止スクリプトの実行に成功した場合、および強制停止スクリプトを実行しない条件に当てはまる場合

  • [強制停止スクリプトを実行する] がオフ、[強制停止機能を使用する] がオンに設定され、強制停止の実行に成功した場合、および強制停止を実行しない条件に当てはまる場合

  • NP 解決リソースが設定されている場合

7.9.3. 猶予時間待ちを表示/変更するには

「サーバグループ間のフェイルオーバ時の猶予時間」に待ち合わせる時間を指定します。

0 を指定した場合は待ち合わせを行いません。

7.9.4. 猶予時間待ちの注意事項

猶予時間待ち合わせ中に、フェイルオーバ対象のグループを操作した場合には猶予時間待ちはキャンセルされフェイルオーバは実行されません。

猶予時間待ち合わせ中に、ダウンしたサーバの生存が確認できた場合には猶予時間待ちはキャンセルされフェイルオーバは実行されません。

猶予時間待ち中に、フェイルオーバ先サーバがダウンした場合、フェイルオーバ開始が猶予時間待ちよりも長くなる場合があります。

7.10. Witness サーバサービス

7.10.1. Witness サーバサービスとは?

クラスタ内の各サーバからWitness ハートビートを受信し、各サーバからのハートビート受信状況を応答として送信するサービスです。クラスタ外のサーバにインストールして使用します。

Witnessサーバと2台のクラスタサーバ

図 7.9 Witness サーバサービス

7.10.2. Witness サーバサービスに関する注意事項

  • Witness サーバサービスは Node.js 環境で動作します。そのため、Witness サーバサービスのインストール前に Node.js をインストールする必要があります。

7.10.3. Witness サーバサービスのインストール方法

Node.js 環境の npm コマンドを使用してインストールします。Witness サーバサービスモジュールを任意のフォルダに格納し、以下のコマンドを実行してください。

> npm install --global clpwitnessd-<version>.tgz

Witness サーバサービスモジュールは、インストール CD-ROM の以下のパスから取得してください。

Common/<バージョン>/common/tools/witnessd/clpwitnessd-<バージョン>.tgz

7.10.4. Witness サーバサービスの設定方法

Witness サーバサービスの設定を変更する場合、設定ファイルを直接編集します。以下のコマンド実行結果の1行目に表示されるフォルダを開きます。

> npm list --global clpwitnessd

(実行結果例)

C:\Users\Administrator\AppData\Roaming\npm
`-- clpwitnessd@4.1.0

開いたフォルダ配下の node_modules\clpwitnessd に格納されている clpwitnessd.conf.js をメモ帳などのテキストエディタで編集してください。

設定項目は以下の通りです。

項目

既定値

説明

http.enable

True

HTTPサーバを実行するかどうかを指定します。
true: 実行する
false: 実行しない

http.port

80

HTTPサーバの待ち受けポート番号を指定します。

http.keepalive

10000

HTTPサーバのキープアライブ時間を指定します。
[ミリ秒]

https.enable

False

HTTPSサーバを実行するかどうかを指定します。
true: 実行する
false: 実行しない

https.port

443

HTTPSサーバの待ち受けポート番号を指定します。

https.keepalive

10000

HTTPSサーバのキープアライブ時間を指定します。
[ミリ秒]

https.ssl.key

server_key.pem

HTTPSサーバで使用する秘密鍵ファイルを指定します。

https.ssl.crt

server_crt.pem

HTTPSサーバで使用する証明書ファイルを指定します。

log.directory

-

ログ出力先フォルダを指定します。

log.level

info

ログ出力レベルを指定します。
error: エラーログのみ出力
warn: error + 警告ログを出力
info: warn + 情報ログを出力
debug: info + 詳細ログを出力

log.size

1024 * 1024 * 512

ログのローテートサイズを指定します。
[バイト]

data.available

10000

クラスタサーバの通信状況データの既定の有効期限を指定します。
[ミリ秒]

7.10.5. Witness サーバサービスの実行方法

以下のコマンドを実行するとフォアグラウンドで Witness サーバサービスが起動します。WindowsサービスやLinuxデーモンとして実行する方法は次項「Witness サーバサービスの OS サービス化」を参照してください。

> clpwitnessd

7.10.6. Witness サーバサービスの OS サービス化

Witness サーバサービスがOS起動時に開始したい場合、OSサービスとして登録する必要があります。

Witness サーバサービスのOSサービスへの登録方法 (Windows サービスコントロールマネージャ、Linux systemd の場合) を例示します。なお、OSサービスへの登録方法は環境によって異なるため、以下の情報を参考にご利用の環境に合わせて設定してください。

Windows サービスコントロールマネージャへの登録

npm パッケージ winser を使用して登録する手順を例示します。

  1. npm コマンドで winser をインストールします。以下のコマンドを実行すると、winser パッケージが npm リポジトリからダウンロード後にインストールされます。

    > npm install --global winser
    
  2. 任意の場所にサービス実行用のフォルダを作成します。既定の設定では、このフォルダがログファイルやSSL秘密鍵ファイル、SSL証明書ファイルの格納場所になります。

  3. サービス実行用フォルダの直下にwinser でのサービス登録用の package.json ファイルを作成します。パスの区切り文字には \ を二つ入力してください。また、文字数の都合で改行されていますが、"start" に指定したパスは実際には1行です。

    {
        "name": "clpwitnessd-service",
        "version": "1.0.0",
        "license": "UNLICENSED",
        "private": true,
        "scripts": {
            "start": "C:\\Users\\Administrator\\AppData\\Roaming\\npm\\clpwitnessd.cmd"
        }
    }
    
  4. winser コマンドを実行してサービスを登録、開始します。

    > winser -i -a
    
  5. 「コントロールパネル」-「管理ツール」-「サービス」からpacage.jsonの"name"に指定した名前のサービス (ex. clpwitnessd-service) が登録されていることを確認します。

Linux systemd への登録

systemd の Unit ファイルを作成して登録する手順を例示します。

  1. 任意の場所にサービス実行用のディレクトリを作成します。既定の設定では、このフォルダがログファイルやSSL秘密鍵ファイル、SSL証明書ファイルの格納場所になります。
    (ex. /opt/clpwitnessd)
  2. /etc/systemd/system に Witness サーバサービスの Unit ファイルを作成します。
    (ex. clpwitnessd.service)
    [Unit]
    Description=CLUSTERPRO Witness Server
    After=syslog.target network.target
    
    [Service]
    Type=simple
    ExecStart=/usr/bin/clpwitnessd
    WorkingDirectory=/opt/clpwitnessd
    KillMode=process
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    
  3. systemctl コマンドを実行してサービスを登録、開始します。

    # systemctl enable clpwitnessd
    # systemctl start clpwitnessd