Solaris のシステム管理 (システム管理エージェント)

第 5 章 その他のエージェントからの移行

この章では、その他の管理エージェントから システム管理エージェントへプロセスやタスクの処理を移行する方法について説明します。アプリケーションの移行については、『Solaris System Management Agent Developer’s Guide 』を参照してください。Solaris OS 内で使用しているその他のエージェントから SMA へのアプリケーションの移行は、緊急ではありません。ただし、Solstice Enterprise Agents ソフトウェアの場合は例外です。

この章で扱うトピックは次のとおりです。

Solstice Enterprise Agents ソフトウェアからの移行

将来の Solaris リリースでは、Solstice Enterprise Agents ソフトウェアのサポートは打ち切られる予定です。Solstice Enterprise Agents ソフトウェアマスターエージェントは、/usr/lib/snmp/snmpdx です。この機能は、システム管理エージェントマスターエージェント snmpd で置き換えられます。このエージェントは /usr/sfw/sbin/ にあります。このため、開発者により作成されたすべての Solstice Enterprise Agents サブエージェントを、ある時点でシステム管理エージェントに移行する必要があります。

SMA が seaProxy モジュールを読み込むように設定されている場合、SMA と同時に Solstice Enterprise Agents ソフトウェアおよび関連するサブエージェントを実行できます。このモジュールのこの用途については、「Solstice Enterprise Agents 要求のプロキシ処理」を参照してください。

Solstice Enterprise Agents ソフトウェアには、MIB-II と sun.mib を実装するサブエージェント、mibiisa が付属しています。システム管理エージェントでは、mibiisa の機能は、システム管理エージェントの MIB-II 部分により実装されています。


注 –

今回の Solaris リリースでは、Solstice Enterprise Agents mibiisa サブエージェントは無効になっています。mibiisa 宛のすべての SNMP 要求は、システム管理エージェント内の MIB-II 実装によって処理されます。


Procedureブート時にシステム管理エージェントが初期化されるのを防ぐには

デフォルトの設定では、Solaris ソフトウェアのブート時、SMA は snmpdx の起動後に起動します。エージェントを SMA へ移行しない場合は、SMA を停止し、起動スクリプトを編集します。この編集により、リブート時にシステム管理エージェントが自動的に起動することがなくなります。

  1. snmpd.conf ファイルを開きます。

    このファイルは、/etc/sma/snmp/snmpd.conf にあります。

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

    参照用として、ファイル内に手順が記載されています。


    ######################################
    # SECTION: Admins who want to disable the snmpd daemon from 
    # starting at boot time.
    # Change DISABLE=NO to DISABLE=YES 
    # DO NOT DELETE 
    # DO NOT UNCOMMENT 
    # DISABLE=NO 
    #
    # end ADMIN

    DISABLE フラグの NO を YES に変更して、snmpd デーモンがブート時に起動しないようにします。


    ######################################
    # SECTION: Admins who want to disable the snmpd daemon from 
    # starting at boot time.
    # Change DISABLE=NO to DISABLE=YES 
    # DO NOT DELETE 
    # DO NOT UNCOMMENT 
    # DISABLE=YES 
    #
    # end ADMIN

Solstice Enterprise Agents 要求のプロキシ処理

SMA が seaProxy モジュールを読み込むように設定されている場合、Solstice Enterprise Agents ソフトウェアを使って開発した SNMP サブエージェントを SMA に移行する必要はありません。seaProxy モジュールを使用すると、Solstice Enterprise Agents ソフトウェアおよび関連するサブエージェントを SMA と同時に実行できるようになります。


注 –

システム管理エージェントは、SMA からの着信要求を Solstice Enterprise Agents ソフトウェアにプロキシできるように特別にカスタマイズされています。この点が、システム管理エージェントと、SMA の ベースになっている標準 Net-SNMP 実装バージョン 5.0.9 との違いです。


図 5–1 SEA ソフトウェアでの要求および応答のルーティング

この図は、SEA マスターエージェント、SMA マスターエージェント、およびサブエージェントのやりとりを示します。

システム管理エージェントのインストール後、もともと Solstice Enterprise Agents ソフトウェアのみで処理されていた要求の処理が変更されます。

ブート時のシステム管理エージェントの初期化を無効にしている場合、これらの記述は当てはまりません。詳細については、「ブート時にシステム管理エージェントが初期化されるのを防ぐには」を参照してください。

proxy トークンを使用して、特定の OID の着信要求をすべて別のホストにプロキシすることができます。このプロキシ文については、snmpd.conf(4) のマニュアルページを参照してください。

seaProxy モジュールの有効化

Solstice Enterprise Agents ソフトウェア宛ての着信要求がポート 161 に着信すると、SMA によって受信されます。要求のプロキシが存在する場合、要求は snmpdx デーモンに渡されます。この要求は、snmpdx デーモンから Solstice Enterprise Agents ソフトウェアサブエージェントに渡されます。seaProxy モジュールは、snmpd.conf 内にない「動的プロキシ」を生成します。動的プロキシは、静的および動的な Solstice Enterprise Agents サブエージェント登録に基づいています。seaProxy モジュールは、Solstice Enterprise Agents サブエージェント登録の詳細情報を使って、動的プロキシを生成します。

x86 プラットフォーム上で実行中のシステムで、システム管理エージェント付属の seaProxy モジュールを有効にするには、/etc/sma/snmp/snmpd.conf ファイルに次の行が含まれていることを確認します。


dlmod seaProxy /usr/sfw/lib/libseaProxy.so

SPARC プラットフォーム上で実行中のシステムで、システム管理エージェント付属の seaProxy モジュールを有効にするには、/etc/sma/snmp/snmpd.conf ファイルに次の行が含まれていることを確認します。


dlmod seaProxy /usr/sfw/lib/sparcv9/libseaProxy.so

seaProxy モジュールの読み込み時、seaProxy モジュールはただちに Solstice Enterprise Agents サブエージェントからの情報収集を開始します。このため、特に snmpd デーモンは、snmpdx デーモンのあとに起動する必要があります。snmpd デーモンが snmpdx デーモンより先に起動する場合、SMA は Solstice Enterprise Agents ソフトウェアサブエージェント登録テーブルを再度読み込むことになります。snmpdx デーモンを snmpd デーモンより先に実行できるのは、たとえば、snmpd デーモンを停止して再起動した場合などです。

seaProxy モジュールは、ソフトウェアサブエージェント登録テーブル内の情報を使って、登録済みの Solstice Enterprise Agents ソフトウェアサブエージェントのプロキシを生成します。

seaProxy モジュールは、mibiisa サブエージェントのプロキシは生成しません。

着信要求のプロキシ文

この節では、システム管理エージェントから Solstice Enterprise Agents ソフトウェアに要求を渡すためのプロキシ文について説明します。

動的プロキシの生成後、システム管理エージェントプロキシ機構は、これらの要求を snmpdx へ転送する処理を行います。seaProxy モジュールは、snmpdx で登録する必要があるすべての Solstice Enterprise Agents サブエージェントに対して動的プロキシを生成します。SMA でも Solstice Enterprise Agents サブエージェントを使用できるのはこのためです。snmpdx を含む Solstice Enterprise Agents ソフトウェアのサポートは、切り替え期間を経て終了する予定です。Solstice Enterprise Agents で実装したサブエージェントを、なるべく早くシステム管理エージェントへ移行してください。

Solstice Enterprise Agents ソフトウェアからシステム管理エージェントへの移行は、AgentX サブエージェントを使って行われます。特定の Solstice Enterprise Agents モジュールをシステム管理エージェントへ移行する方法については、『Solaris System Management Agent Developer’s Guide 』を参照してください。このマニュアルには、モジュールの移行方法とシステム管理エージェントに付属しているデモモジュールの解説が記載されています。これらのデモモジュールの 1 つが、Solstice Enterprise Agents モジュールの移行プロセスを示しています。

システム管理エージェントと Solstice Enterprise Agents ソフトウェアを並行して実行する場合、SMA マスターエージェント snmpd はポート 161 を使用する必要があります。ブート時に、SMA サービスは匿名ポートを取得します。このサービスは、Solstice Enterprise Agents 構成ファイル /etc/snmp/conf/snmpd.conf 内のポートエントリを使って、このポート上で snmpdx が実行されるように設定します。変更後、/etc/snmp/conf/snmpdx.reg ファイルの最後の数行に、新しいポート番号が追加されます。

この例では、新しいポート番号は 16161 です。/etc/snmp/conf/snmpdx.reg ファイルの最後の数行には、その他の情報も含まれています。


agents =
{           
  {  name = "relay-agent"
     subtrees = { sun.2.15 }
     timeout = 900000000   
     port = 16161  
  }        
}

DMI サブエージェントなど、Solstice Enterprise Agents サブエージェントの起動時には、非公開コミュニティー文字列により、ポート 161 へ要求が送信されます。この非公開コミュニティー文字列は、起動時に読み取られるシステム管理エージェント構成ファイル内で定義する必要があります。そうしないと、Solstice Enterprise Agents サブエージェントが正しく登録されず、終了します。

SMA は、着信要求の OID 用にプロキシ文が生成されたかどうかをチェックします。SMA がこのチェックを行うのは、Solstice Enterprise Agents サブエージェントが要求内に格納している非公開コミュニティー文字列が、起動時に読み取られた SMA 構成ファイルに定義されている場合です。これらの文字列が検証されると、SMA は着信要求のポートを、この節で説明したように構成されたポートへ変更します。この例では、構成されたポートは 16161 です。


注 –

seaProxy モジュールを有効にした場合は、SMA マスターエージェント snmpd の再起動後、Solstice Enterprise Agents ソフトウェアマスターエージェント snmpdx を再起動する必要はありません


図 5–2 seaProxy モジュールとプロキシ文を使った要求のルーティング (SEA と SMA が並存する場合)

図は、SMA および SEA ソフトウェアが同時に実行されている様子を示します。SEA プロキシにより、SEA マスターエージェントは SMA のサブエージェントとして動作しています。

Sun Fire Management Agent からの移行

Sun SNMP Management Agent for Sun FireTM and NetraTM Systems は、次のサーバーをサポートするスタンドアロン型 SNMP エージェントです。

Sun SNMP Management Agent for Sun Fire and Netra Systems は、ハードウェアインベントリおよび環境モニターに対する SNMP ベースのアクセスを提供します。詳細については、『SNMP Management Agent for the Sun Fire and Netra Systems』を参照してください。上記のいずれかのサーバーで Solaris 10 オペレーティングシステムを実行している場合、Sun SNMP Management Agent for Sun Fire and Netra Systems から SMA へ移行する必要があります。

システム管理エージェントの場合と同様、Sun SNMP Management Agent for Sun Fire and Netra Systems は、snmpd という名前のデーモンも使用する SNMP エージェントです。これら 2 つの異なった snmpd デーモンが両方とも実行中の場合は、Sun SNMP Management Agent for Sun Fire and Netra Systems によって使用されている snmpd デーモンを停止するとき、停止しようとしているのが該当するデーモンであることを確認してください。システム管理エージェントの snmpd デーモンは、/usr/sfw/sbin/snmpd にあります。

Sun SNMP Management Agent for Sun Fire and Netra Systems からシステム管理エージェントへ移行する必要があります。ポート 161、ポート 162 では、Sun SNMP Management Agent for Sun Fire and Netra Systems を実行できません。

masfcnv 移行スクリプト

この節では、Sun SNMP Management Agent for Sun Fire and Netra Systems の構成を SMA に移行する手順について説明します。この手順では masfcnv スクリプトを使用します。このスクリプトは、Sun SNMP Management Agent for Sun Fire and Netra Systems から SMA エージェントへの移行専用です。

./masfcnv 移行スクリプトは /usr/sfw/lib/sma_snmp にあります。./masfcnv 移行スクリプトは、次の機能を実行します。

移行後、SMA は、標準ポート161/162 上でSNMP アクセスを提供します。その他のポートが構成されている場合、SMA はそのアクセスも提供します。SMA は、以前に Sun SNMP Management Agent for Sun Fire and Netra Systems が使用していたポートでの SNMP アクセスも提供します。すべてのポートは、同じ OID セットへのアクセスを提供します。これらの OID には、Sun SNMP Management Agent for Sun Fire and Netra Systems の場合と同様に、SUN-PLATFORM-MIB で使用される OID が含まれます。ユーザーごとにデータの可視性を制限するその他のアクセス制御を構成することもできます。

Sun SNMP Management Agent for Sun Fire and Netra Systems からユーザー名とパスワードを移行する場合、SMA で使用される engineID は、以前 Sun SNMP Management Agent for Sun Fire and Netra Systems で使用されていたものと同じでなければなりません。SNMPv3 で使用される USM は、engineID を認証に使用される鍵に埋め込みます。SMA が Sun SNMP Management Agent for Sun Fire and Netra Systems とは異なる engineID を使用するように設定した場合、使用する engineID を特定する必要があります。Sun SNMP Management Agent for Sun Fire and Netra Systems でもともと使用されていたのと異なる engineID を使用する場合、移行されたユーザーのパスワードをリセットします。USM の詳細については、「USM による認証とメッセージプライバシ」を参照してください。

masfcnv スクリプトの詳細については、masfcnv(1M) のマニュアルページを参照してください。


注 –

どのような場合でも、Sun SNMP Management Agent for Sun Fire and Netra Systems エージェントは Solstice Enterprise Agents の実行可能ファイル snmpdx とは別個に実行されます。Sun SNMP Management Agent for Sun Fire and Netra Systems エージェントを停止しても、Solstice Enterprise Agents ソフトウェアが自動的に停止することはありません。Solstice Enterprise Agents ソフトウェアからシステム管理エージェントに移行する必要があります。詳細については、「Solstice Enterprise Agents ソフトウェアからの移行」を参照してください。


ProcedureSun SNMP Management Agent for Sun Fire and Netra Systems から SMA へ移行するには

  1. スーパーユーザーで、システム管理エージェントと masfd エージェントを両方とも停止します。


    # svcadm disable svc:/application/management/sma:default
    # /etc/init.d/masfd stop
    

    SMA のサブエージェントとして構成されているその他のエージェントも停止する必要があります。これらは、移行処理の完了後に再起動する必要があります。

  2. テスト移行を実施し、移行スクリプトの実行結果を確認します。

    テスト移行は、システム管理エージェントの構成に大幅な変更を加えた場合に便利です。


    # cd /usr/sfw/lib/sma_snmp
    # ./masfcnv --dry-run -i -p enable --select-community=agent
    

    予行が正常に実行された場合は、指定の SMA 構成ファイルが標準出力へ書き出されます。処理を続行する前に、この出力の内容を確認してください。./masfcnv 移行スクリプトにより、Sun SNMP Management Agent for Sun Fire and Netra Systems の構成が SMA へ移行されます。構成の競合が発生した場合は、masfcnv(1M) のマニュアルページで解決方法を参照してください。

  3. 移行スクリプトを実行します。


    # cd /usr/sfw/lib/sma_snmp
    # ./masfcnv -i -p enable --select-community=agent
    
  4. スーパーユーザーで、システム管理エージェントと Sun SNMP Management Agent for Sun Fire and Netra Systems の両方を再起動します。


    # svcadm enable svc:/application/management/sma:default
    # /etc/init.d/masfd start
    

    Sun SNMP Management Agent for Sun Fire and Netra Systems が再構成され、システム管理エージェントのサブエージェントとして実行されるようになります。システム管理エージェントのサブエージェントとして構成されているその他のエージェントも、移行処理の完了後に再起動する必要があります。

    Sun SNMP Management Agent for Sun Fire and Netra Systems から SMA への移行後、Sun Fire ハードウェア計測は、SMA 経由で SNMP アプリケーションにアクセスできるようになります。SMA は、以前に Sun SNMP Management Agent for Sun Fire and Netra Systems によって使用されていたポートを使用します。