Sun Cluster 2.2 のシステム管理

Sun Cluster SNMP の使用

この付録では、SNMP を使用して Sun Cluster 構成の動作を監視する方法について説明します。

この付録で説明する手順は次のとおりです。

次の SNMP Management を使用して、Sun Cluster 構成を監視できます。

クラスタ SNMP Agent とクラスタ Management Information Base

Sun Cluster には、クラスタ用として、Management Information Base (MIB) のほかに Simple Network Management Protocol (SNMP) が付属しています。エージェントファイルの名前は snmpd (SNMP デーモン)、MIB の名前は sun.mib です。

クラスタ SNMP エージェントは、複数のクラスタ (最大 32) を同時に監視できるプロキシエージェントです。通常の Sun Cluster は、管理ワークステーションまたはシステムサービスプロセッサ (SSP) から管理できます。管理ワークステーションまたは SSP にクラスタ SNMP エージェントをインストールすると、ネットワークトラフィックが調整される上、SNMP パケットの転送でノードの CPU パワーが浪費されることがありません。

snmpd デーモンの内容を次に示します。

スーパーモニターデーモンである smond は、クラスタの各メンバーノードから in.mond デーモンに接続することにより、ハードウェア構成情報と重要なクラスタイベントを収集します。smond デーモンは、続いてこの情報を SNMP デーモン (snmpd) に報告します。


注 -

1 つの smond デーモンを構成することで、複数のクラスタ情報を収集することができます。


SUNWcsnmp パッケージには、次のものが含まれます。

snmpdsmond デーモンの詳細は、付録 B 「Sun Cluster マニュアルページのクイックリファレンス」を参照してください。

クラスタ Management Information Base

Management Information Base (MIB) は、ネットワーク管理プロトコルを介してアクセスできるオブジェクトのコレクションです。オブジェクトの定義は、さまざまな管理プラットフォームがその定義を読み込んで解析できるように、一般的で、一貫したものでなければなりません。

snmpd デーモンは、クラスタ管理ワークステーションである管理サーバー、または任意のクライアントで実行してください。このエージェントは、クラスタ MIB に定義されているすべての SNMP 属性に、smond から収集された情報を提供します。この MIB ファイルは、一般に SunNet Manager Console のような「SNMP 対応の」ネットワークマネージャにコンパイルされます。snmpd.conf ファイルの変更」を参照してください。

sun.mib ファイルは、クラスタ情報を次に示すテーブルの形で提供します。


注 -

上記のテーブルにおける、時刻はテーブルが管理される SNMP サーバー上のローカル時刻を指します。したがって、時刻はサーバー上で属性変更が報告される時刻を示します。


clustersTable の属性

clustersTable (クラスタテーブル) は、監視対象のすべてのクラスタのエントリから構成されます。テーブル内の各エントリには、クラスタ情報を提供する特定の属性が含まれています。clustersTable の属性については、表 D-1を参照してください。

表 D-1 clustersTable の属性

属性名 

説明 

clusterName

クラスタ名 

clusterDescr

クラスタの説明 

clusterVersion

クラスタのリリースバージョン 

numNodes

クラスタ内のノード数 

nodeNames

コンマで区切られた、クラスタ内のすべてのノードの名前 

quorumDevices

コンマで区切られた、クラスタ内のすべての定足数デバイスの名前 

clusterLastUpdate

このエントリの属性のどれかが最後に変更された時刻 

clusterNodesTable の属性

clusterNodesTable (クラスタノードテーブル) は、監視対象のすべてのクラスタの既知のノードから構成されます。各エントリには、そのノードについての具体的な情報が含まれています。clusterNodesTable の属性については、表 D-2を参照してください。


注 -

相互参照を使用する場合、belongsToCluster の属性はこのテーブルと clustersTable 間のキー参照として動作します。


表 D-2 clusterNodesTable の属性

属性名 

説明 

nodeName

ノードのホスト名 

belongsToCluster

このノードが属しているクラスタの名前 

scState

このノード上の Sun Cluster ソフトウェアコンポーネントの状態 (Stopped、Aborted、In Transition、Included、Excluded、Unkonwn)。エンタプライズ固有のトラップが、状態の変化を知らせる 

vmState

このノード上のボリュームマネージャソフトウェアコンポーネントの状態。エンタプライズ固有のトラップが、状態の変化を知らせる 

dbState

このノード上のデータベースソフトウェアコンポーネントの状態 (Down、Up、Unknown)。エンタプライズ固有のトラップが、状態の変化を知らせる 

vmType

このノードで現在使用されているボリュームマネージャの種類 

vmOnNode

このノード上の SSVM ソフトウェアコンポーネントのモード (Master、Slave、Unkown)。エンタプライズ固有のトラップが、状態の変化を知らせる。この属性は、ほかのボリュームマネージャを使用しているクラスタには無効 

nodeLastUpdate

このエントリの属性のどれかが最後に変更された時刻 

switchesTable の属性

switchesTable (スイッチテーブル) は、すべてのスイッチのエントリから構成されます。このテーブルの各エントリには、クラスタ内のスイッチについての具体的な情報が含まれています。switchesTable の属性については、表 D-3を参照してください。

表 D-3 switchesTable の属性

属性名 

説明 

switchName

スイッチ名 

numPorts

スイッチのポートの数 

connectedNodes

スイッチのポートに現在接続されているすべてのノードの名前 

switchLastUpdate

このエントリのスイッチ属性のどれかが最後に変更された時刻 

portsTable の属性

portsTable (ポートテーブル) は、すべてのスイッチポートのエントリから構成されます。このテーブルの各エントリには、スイッチ内のポートについての具体的な情報が含まれています。portsTable の属性については、表 D-4を参照してください。


注 -

相互参照を使用する場合、belongsToSwitch の属性はこのテーブルと switchesTable 間のキー参照として動作します。


表 D-4 portsTable の属性

属性名 

説明 

portId

ポート ID または番号 

belongsToSwitch

このポートが属しているスイッチの名前 

connectedNode

このポートが現在接続されているノードの名前 

nodeAdapterId

このポートが接続されているノード上の SCI カードのアダプタ ID 

portStatus

ポートの状態 (Active、Inactive など) 

portLastUpdate

このエントリのポート属性のどれかが最後に変更された時刻 

lhostTable の属性

lhostTable (論理ホストテーブル) は、クラスタに構成されている各論理ホストのエントリから構成されます。lhostTable の属性については、表 D-5を参照してください。

表 D-5 lhostTable の属性

属性名 

説明 

lhostName

論理ホストの名前 

lhostMasters

論理ホストを構成しているノードの名前リスト 

lhostCurrMaster

論理ホストの現在のマスターであるノードの名前 

lhostDS

この論理ホスト上で実行されるように構成されているデータサービスのリスト 

lhostDG

この論理ホスト上に構成されているディスクグループ 

lhostLogicalIP

この論理ホストに対応する論理 IP アドレス 

lhostStatus

論理ホストの現在の状態 (UP または DOWN) 

lhostLastUpdate

このエントリの属性のどれかが最後に変更された時刻 

dsTable の属性

dsTable (データサービステーブル) は、監視対象クラスタ内のすべての論理ホストに構成されているすべてのデータサービスのエントリから構成されます。このテーブル内の各エントリには、論理ホストに構成されているデータサービスについての具体的な情報が含まれています。dsTable の属性については、表 D-6 を参照してください。


注 -

相互参照を使用する場合、dsonLhost の属性はこのテーブルと lhostTable 間のキー参照として動作します。


表 D-6 dsTable の属性

属性名 

説明 

dsName

データサービスの名前 

dsOnLhost

データサービスが構成されている論理ホストの名前 

dsReg

値は、データサービスが動作するように設定されている (1) か、動作しないように設定されている (0) 

dsStatus

データサービスの現在の状態 (ON、OFF、INST DOWN) 

dsDep

このデータサービスが依存しているほかのデータサービスのリスト 

dsPkg

データサービスのパッケージ名 

dsLastUpdate

このエントリの属性のどれかが最後に変更された時刻 

dsinstTable の属性

dsinstTable (データサービスインスタンステーブル) は、すべてのデータサービスインスタンスのエントリから構成されます。dsinstTable の属性については、表 D-7を参照してください。


注 -

相互参照を使用する場合、dsinstOfDS の属性はこのテーブルと dsTable 間のキー参照として使用できます。同様に、dsinstOnLhost 属性は、このテーブルと lhostTable 間のキー参照として使用できます。


表 D-7 dsinstTable の属性

属性名 

説明 

dsinstName

データサービスインスタンスの名前 

dsinstOfDS

このデータサービスインスタンスのデータサービスの名前 

dsinstOnLhost

このデータサービスインスタンスが動作している論理ホストの名前 

dsinstStatus

データサービスインスタンスの状態 

dsinstLastUpdate

このエントリの属性のどれかが最後に変更された時刻 

クラスタ SNMP デーモンとスーパーモニターデーモンのオペレーション

SNMP デーモンは、次の規則にもとづいて動作します。

SNMP トラップ

SNMP トラップは、監視対象オブジェクトの状態に対する意図的でない変更を示す、SNMP エージェントによって生成される非同期通知です。

このソフトウェアは、重要なクラスタイベントの Sun Cluster 固有のトラップを生成します。これらのイベントを、以下の表に示します。

表 D-8 は、ノード上のクラスタソフトウェアの状態を反映した Sun Cluster トラップを示しています。

表 D-8 ノード上のソフトウェアを反映した Sun Cluster トラップ

トラップ番号 

トラップ名 

sc:stopped

sc:aborted

sc:in_transition

sc:included

sc:excluded

sc:unknown

表 D-9 は、ノード上のボリュームマネージャの状態を反映した Sun Cluster トラップを示しています。

表 D-9 ノード上のボリュームマネージャを反映した Sun Cluster トラップ

トラップ番号 

トラップ名 

10 

vm:down

11 

vm:up

12 

vm:unknown

表 D-10 は、ノード上のデータベースの状態を反映した Sun Cluster トラップを示しています。

表 D-10 ノード上のデータベースを反映した Sun Cluster トラップ

トラップ番号 

トラップ名 

20 

db:down

21 

db:up

22 

db:unknown

表 D-11 は、ノード上の Cluster Volume Manager (マスターまたはスレーブ) の特性を反映した Sun Cluster トラップを示しています。

表 D-11 ノード上の Cluster Volume Manager を反映した Sun Cluster トラップ

トラップ番号 

トラップ名 

30 

vm_on_node:master

31 

vm_on_node:slave

32 

vm_on_node:unknown

表 D-12 は、論理ホストの状態を反映した Sun Cluster トラップを示しています。

表 D-12 論理ホストの状態を反映した Sun Cluster トラップ

トラップ番号 

トラップ名 

40 

lhost:givingup

41 

lhost:given

42 

lhost:takingover

43 

lhost:taken

46 

lhost:unknown

表 D-13 は、データサービスインスタンスの状態を反映した Sun Cluster トラップを示しています。

表 D-13 データサービスインスタンスの状態を反映した Sun Cluster トラップ

トラップ番号 

トラップ名 

50 

ds:started

51 

ds:stopped

52 

ds:in-transition

53 

ds:failed-locally

54 

ds:failed-remotely

57 

ds:unknown

表 D-14 は、HA-NFS データサービスの状態を反映した Sun Cluster トラップを示しています。

表 D-14 HA-NFS データサービスインスタンスの状態を反映した Sun Cluster トラップ

トラップ番号 

トラップ名 

60 

hanfs:start

61 

hanfs:stop

70 

hanfs:unknown

表 D-15 は、SNMP エラーを反映した Sun Cluster トラップを示しています。

表 D-15 SNMP エラーを反映した Sun Cluster トラップ

トラップ番号 

トラップ名 

100 

SOCKET_ERROR:node_out_of_system_resources

101 

CONNECT_ERROR:node_out_of_system_resources

102 

BADMOND_ERROR:node_running_bad/old_mond_version

103 

NOMOND_ERROR:mond_not_installed_on_node

104 

NOMONDYET_ERROR:mond_on_node_not_responding:node_may_be_rebooting

105 

TIMEOUT_ERROR:timed_out_upon_trying_to_connect_to_nodes_mond

106 

UNREACHABLE_ERROR:node's_mond_unreachable:network_problems??

107 

READFAILED_ERROR:node_out_of_system_resources

108 

NORESPONSE_ERROR:node_out_of_system_resources

109 

BADRESPONSE_ERROR:unexpected_welcome_message_from_node's_mond

110 

SHUTDOWN_ERROR:node's_mond_shutdown

200 

Fatal:super_monitor_daemon(smond)_exited!

トラップ番号 100 〜 110 については、障害のあるノードを検査し、問題を修復してください。トラップ番号 200 については、「SNMP の障害追跡」を参照してください。

snmpd.conf ファイルの変更

snmpd.conf ファイルは、構成情報に使用されます。このファイルの各エントリは、キーワードと、それに続くパラメータ文字列から構成されます。通常は、ファイル内のデフォルト値で十分です。

snmpd.conf ファイルを変更するには

  1. snmpd.conf ファイルを編集します。

    キーワードの詳細は、snmpd(7) のマニュアルページを参照してください。

  2. snmpd.conf ファイルを変更した後、次のコマンドを入力して smondsnmpd プログラムを停止し、続いてこれらのスクリプトを再起動します。

    # /opt/SUNWcluster/bin/smond_ctl stop
    # /opt/SUNWcluster/bin/init.snmpd stop
    # /opt/SUNWcluster/bin/init.snmpd start
    # /opt/SUNWcluster/bin/smond_ctl start
    

    次に、snmpd.conf ファイルの例を示します。

    sysdescr        Sun SNMP Agent, SPARCstation 10, Company
                                  Property Number 123456
     syscontact 	Coby Phelps
     sysLocation 	Room 123
     #
     system-group-read-community     public
     system-group-write-community    private
     #
     read-community  all_public
     write-community all_private
     #
     trap            localhost
     trap-community  SNMP-trap
     #
     #kernel-file    /vmunix
     #
     managers        lvs golden

クラスタ SNMP エージェントポートの構成

デフォルトでは、クラスタ SNMP エージェントは、SNMP マネージャ (SunNet Manager Console など) の要求を、ユーザーデータグラムプロトコル (UDP) ポート 161 でリスン (listen) します。このポートは、snmpdsmond デーモンに -p オプションを使用して変更できます。

snmpdsmond デーモンを正常に機能させるには、これらのデーモンを同じポートに構成する必要があります。


注意 - 注意 -

Solaris 2.6 オペレーティング環境または互換バージョンで稼動する SSP または管理ワークステーションにクラスタ SNMP エージェントをインストールする場合は、必ずデフォルトの UDP ポート 161 以外のポートに snmpdsmond プログラムを構成してください。


たとえば SSP では、クラスタ SNMP エージェントは、同じく UDP ポート 161 を使用する SSP SNMP エージェントを妨害します。この妨害によって、Sun Enterprise 10000 サーバーの RAS 機能が失われることがあります。

クラスタ SNMP エージェントポートを構成するには

デフォルトの UDP ポート 161 以外のポートにクラスタ SNMP エージェントを構成するには、次の手順を実行します。

  1. /opt/SUNWcluster/bin/init.snmpd ファイルを編集し、CSNMP_PORT 変数の値を 161 以外の任意の値に変更します。

  2. /opt/SUNWcluster/bin/smond_ctl ファイルを編集し、CSNMP_PORT 変数の値を 手順 1で選択したものと同じ値に変更します。

  3. 変更を反映させるため、snmpdsmond デーモンの両方を停止し、続いて再起動します。

    # /opt/SUNWcluster/bin/smond_ctl stop
    # /opt/SUNWcluster/bin/init.snmpd stop
    # /opt/SUNWcluster/bin/smond_ctl start
    # /opt/SUNWcluster/bin/init.snmpd start
    

    注 -

    SNMP マネージャに新しいポート番号を認識させるには、SNMP マネージャ固有の構成ファイルを編集しなければならない場合があります。詳細は、SNMP マネージャのマニュアルを参照してください。また、管理ワークステーションでマスター SNMP エージェントを構成し、クラスタ SNMP プロキシエージェントを 161 以外のポートでサブエージェントとして起動することもできます。マスター SNMP エージェントの構成方法の詳細は、『Solstice Enterprise Agents User's Guide』または snmpdx(1M) のマニュアルページを参照してください。


SunNet Manager での SNMP エージェントの使用

クラスタ SNMP エージェントは、SunNet Manager で使用できます。SunNet Manager を使用してクラスタを監視する前に、次の作業を行なってください。


注 -

これらの作業は、SNMP に UDP ポート 161 が使用されていることを想定しています。「クラスタ SNMP エージェントポートの構成」で説明しているようにポート番号を変更した場合は、そのポートを使用するために SunNet Manager SNMP プロキシエージェント na.snmp を実行する必要があります。


SunNet Manager で SNMP エージェントを使用してクラスタを監視するには

  1. SunNet Manager コンソールで、クラスタ MIB /opt/SUNWcluster/etc/sun.mib/opt/SUNWconn/snm/agents/cluster.mib にコピーします。

  2. SunNet Manager コンソールで、コピーされた cluster.mib ファイルに対して mib2schema を実行します。

    # /opt/SUNWconn/snm/bin/mib2schema cluster.mib
    
  3. Sun Cluster 管理ワークステーションで、snmpd.conf ファイルを編集し、trap キーワード内のパラメータ文字列を SunNet Manager コンソールの名前に設定します。

    snmpd.conf ファイルの編集の詳細は、snmpd.conf ファイルの変更」を参照してください。

  4. Sun Cluster 管理ワークステーションで、監視するクラスタごとに smond_conf コマンドを実行します。次に例を示します。

    # /opt/SUNWcluster/bin/smond_conf -h [clustername ...]
  5. cluster-snmp のプロキシを、SunNet Manager コンソールの名前になるように設定します。


    注 -

    クラスタを監視するには、SunNet Manager を使用して管理ワークステーションの監視も行う必要があります。


smond を再構成して別のクラスタを監視するには

smond デーモンを再構成して別のクラスタを監視できます。

  1. 次のコマンドを使用して、snmpd デーモンを停止します。

    # /opt/SUNWcluster/bin/init.snmpd stop
    
  2. 次のコマンドを使用して、smond デーモンを再構成します。

    # /opt/SUNWcluster/bin/smond_conf -h [clustername ...]
  3. 次のコマンドを使用して、snmpd デーモンを起動します。

    # /opt/SUNWcluster/bin/init.snmpd start
    
  4. 次のコマンドを使用して、smond デーモンを起動します。

    # /opt/SUNWcluster/bin/smond_ctl start
    

SNMP の障害追跡

アプリケーションにクラスタ MIB テーブルが書き込まれていないか、トラップ番号 200 を受ける場合は、次のコマンドを実行して snmpdsmond デーモンが動作していることを確認してください。

# ps -ef | grep snmpd
# ps -ef | grep smond

これらのデーモンが動作していない場合、出力は行われません。

デーモンが動作していない場合、次のコマンドを入力してください。

# /opt/SUNWcluster/bin/init.snmpd start
# /opt/SUNWcluster/bin/smond_ctl start