11 通知とロギングの構成

Oracle HSM ファイルシステムでは、SNMP (Simple Network Management Protocol) を使用した自動的なリモート通知がサポートされ、包括的で構成可能なロギング機能が提供されています。この章では、次のトピックの概要について説明します。

SNMP (Simple Network Management Protocol) の構成

ネットワーク管理アプリケーションでは、SNMP (Simple Network Management Protocol) を使用して Oracle HSM ファイルシステムをモニターできます。ネットワーク管理ステーションに障害や構成の変更を警告するトラップが自動的に送信されるように、SNMP エージェントを構成できます。

Oracle HSM 管理情報ベース (MIB) では、SNMP トラップで提供される情報のタイプを定義します。これには、構成エラー、SCSI tapealert イベント、およびさまざまな種類のシステムの異常なアクティビティーが含まれます。詳細は、管理情報ベース (MIB) ファイル (/var/snmp/mib/SUN-SAM-MIB.mib) を参照してください。

Oracle HSM トラップイベントが発生すると、Solaris カーネルシステムのイベント通知デーモン syseventd によってスクリプト /etc/opt/SUNWsamfs/scripts/sendtrap が呼び出されます。その後、このスクリプトは、ローカルホストまたは指定した管理ステーションにトラップを送信します。このスクリプトでは、以前の標準バージョンと下位互換性のあるバージョン 2c の SNMP 標準がサポートされています。バージョン 2c では、認証資格証明 (community strings) および管理データが平文で交換されます。詳細は、sendtrap のマニュアルページを参照してください。

SNMP 通知を構成するには、次のタスクを実行します。

このセクションには、任意の時点で SNMP のサポートを無効にする必要が発生した場合の手順も含まれています。

/etc/hosts ファイルにすべての SNMP 管理ステーションが一覧表示されていることの確認

  1. Oracle HSM サーバーに root としてログインします。

    この例では、Oracle HSM サーバーホストは samqfs1mds です。

    [samqfs1mds]root@solaris:~# 
    
  2. /etc/hosts ファイルをテキストエディタで開きます。SNMP 管理ステーションとして使用するホストごとにエントリを含めます。

    次の例では、vi エディタを使用します。目的の管理ステーションの 1 つ (management1) が一覧表示されています。ただし、別の 1 つ (management2) は一覧表示されていません。

    [samqfs1mds]root@solaris:~# vi /etc/hosts
    # Internet host table
    ::1 localhost
    127.0.0.1 localhost loghost
    10.0.0.10 server1
    10.0.0.20 management1
    
  3. /etc/hosts ファイルに目的の SNMP 管理ステーションホストの一部またはすべてに対応するエントリが含まれていない場合は、必要なエントリを追加して、ファイルを保存します。

    この例では、vi エディタを使用して、欠落している管理ステーション management2 を追加します。

    [samqfs1mds]root@solaris:~# vi /etc/hosts
    # Internet host table
    ::1 localhost
    127.0.0.1 localhost loghost
    10.0.0.10 server1
    10.0.0.20 management1
    10.0.0.30 management2
    
  4. /etc/hosts ファイルに目的の SNMP 管理ステーションホストに対応するエントリがすべて含まれている場合は、エディタを閉じます。

    [samqfs1mds]root@solaris:~# vi /etc/hosts
    ...
    10.0.0.20 management1
    10.0.0.30 management2
    :wq
    [samqfs1mds]root@solaris:~# 
    
  5. 次に、SNMP のサポートを有効にします

SNMP サポートの有効化

デフォルトでは、SNMP 通知のサポートが有効になっているため、ある時点で SNMP サポートを無効にしていないかぎり、アクションは必要ありません。SNMP サポートを再度有効にする必要がある場合は、次の手順に従います。

  1. Oracle HSM サーバーに root としてログインします。

    この例では、Oracle HSM サーバーホストは samqfs1mds です。

    [samqfs1mds]root@solaris:~# 
    
  2. file /etc/opt/SUNWsamfs/defaults.conf をテキストエディタで開きます。行 alerts = off を探します。

    ディレクティブ alerts = off は、SNMP サポートを無効にします。この例では、vi エディタでファイルを開き、次の行を探します。

    [samqfs1mds]root@solaris:~# vi /etc/opt/SUNWsamfs/defaults.conf 
    # These are the defaults.  To change the default behavior, uncomment the
    # appropriate line (remove the '#' character from the beginning of the line)
    # and change the value.
    ...
    alerts = off
    
  3. SNMP 通知のサポートを有効にするには、alerts ディレクティブの値を on に変更します。その後、ファイルを保存してエディタを閉じます。

    [samqfs1mds]root@solaris:~# vi /etc/opt/SUNWsamfs/defaults.conf 
    # These are the defaults.  To change the default behavior, uncomment the
    # appropriate line (remove the '#' character from the beginning of the line)
    # and change the value.
    ...
    alerts = on
    :wq
    [samqfs1mds]root@solaris:~# 
    
  4. defaults.conf ファイルを再度読み取り、サービス自体を適宜再構成するように Oracle HSM サービスに指示します。コマンド samd config を使用します。

    [samqfs1mds]root@solaris:~# 1mds]samd config
    [samqfs1mds]root@solaris:~# 
    
  5. 次に、管理ステーションをトラップ受信者として指定し、認証を構成します

トラップ受信者としての管理ステーションの指定と認証の構成

  1. Oracle HSM サーバーに root としてログインします。

    この例では、Oracle HSM サーバーホストは samqfs1mds です。

    [samqfs1mds]root@solaris:~# 
    
  2. テキストエディタで /etc/opt/SUNWsamfs/scripts/sendtrap ファイルを開き、TRAP_DESTINATION= で始まる行を探します。

    sendtrap ファイルは、構成可能なシェルスクリプトです。この例では、vi エディタでファイルを開きます。

    [samqfs1mds]root@solaris:~# vi /etc/opt/SUNWsamfs/scripts/sendtrap 
    # /etc/opt/SUNWsamfs/scripts/sendtrap#!/usr/bin/sh
    # sendtrap:
    #  This script gets invoked by the sysevent configuration file.
    #  This is not expected to be run as a stand-alone program
    ...
    # CONFIGURATION PARAMETERS:
    TRAP_DESTINATION=`hostname`
    
  3. TRAP_DESTINATION=` で、単一引用符に囲まれたテキストを、それぞれ hostname:port 形式で 1 つ以上のトラップ受信者の空白文字区切りリストで置き換えます。ここで、hostname は、/etc/hosts に一覧表示されている管理ステーションのホスト名で、port は、ホストがトラップを待機しているポートです。

    デフォルトでは、トラップは localhost の UDP ポート 161 に送信されます。この例では、ホスト management1management2 をデフォルトの localhost に追加します。localhostmanagement1 ではデフォルトポートが使用されますが、management2 ではカスタムポート 1161 が使用されます。

    ...
    # CONFIGURATION PARAMETERS:
    TRAP_DESTINATION=`localhost:161 management1:161 management1:1161`
    
  4. コミュニティー文字列 COMMUNITY="public" が設定されている行までスクロールダウンします。

    コミュニティー文字列は、SNMP バージョン 2c でエージェントおよび管理ステーションを認証する平文の共有パスワードです。デフォルト値は SNMP 標準 public です。

    ...
    # CONFIGURATION PARAMETERS:
    TRAP_DESTINATION=`localhost:161 management1:161 management1:1161`
    ...
    COMMUNITY="public"
    
  5. COMMUNITY="" ディレクティブを管理ステーションで使用される値に設定します。その後、ファイルを保存してエディタを閉じます。

    ファイル内のその他の部分は編集しないでください。編集可能なパラメータは、COMMUNITY=""TRAP_DESTINATION=`` のみです。

    デフォルトの SNMP コミュニティー文字列 public はセキュアでないことに注意してください。そのため、ネットワーク管理者がよりセキュアな選択を指示する場合があります。SNMP バージョン 2c では、最大 32 文字の英数字を使用できます。この例では、コミュニティー文字列を Iv0wQh2th74bVVt8of16t1m3s8it4wa9 に設定します。

    ...
    # CONFIGURATION PARAMETERS:
    TRAP_DESTINATION=`localhost:161 management1:163 management1:1162`
    ...
    COMMUNITY="Iv0wQh2th74bVVt8of16t1m3s8it4wa9"
    :wq
    [samqfs1mds]root@solaris:~# 
    
  6. 次に、Oracle HSM アプリケーションロギングを有効にします

SNMP サポートの無効化

デフォルトの場合、リモート通知機能は使用可能です。リモート通知を無効にする必要がある場合は、次の手順を実行します。

  1. Oracle HSM サーバーに root としてログインします。

    この例では、Oracle HSM サーバーホストは samqfs1mds です。

    [samqfs1mds]root@solaris:~# 
    
  2. /etc/opt/SUNWsamfs/defaults.conf ファイルをテキストエディタで開きます。行 #alerts = on を探します。

    この例では、vi エディタを使用します。

    [samqfs1mds]root@solaris:~# vi /etc/opt/SUNWsamfs/defaults.conf 
    # These are the defaults.  To change the default behavior, uncomment the
    # appropriate line (remove the '#' character from the beginning of the line)
    # and change the value.
    ...
    #alerts = on
    [samqfs1mds]root@solaris:~# 
    
  3. SNMP 通知のサポートを無効にするには、行のコメントを解除するためにハッシュ文字 (#) を削除して、alerts の値を off に変更します。その後、ファイルを保存してエディタを閉じます。

    [samqfs1mds]root@solaris:~# vi /etc/opt/SUNWsamfs/defaults.conf 
    # These are the defaults.  To change the default behavior, uncomment the
    # appropriate line (remove the '#' character from the beginning of the line)
    # and change the value.
    ...
    alerts = off
    :wq
    [samqfs1mds]root@solaris:~# 
    
  4. defaults.conf ファイルを再度読み取り、サービス自体を適宜再構成するように Oracle HSM サービスに指示します。コマンド samd config を使用します。

    [samqfs1mds]root@solaris:~# samd config
    [samqfs1mds]root@solaris:~# 
    
  5. ここで停止します。SNMP サポートが無効になります。

Oracle HSM ロギングの有効化

/var/adm/sam-log ファイルには、Oracle HSM アプリケーションおよびそのコンポーネントのデーモンとプロセスのステータスおよびエラー情報が記録されます。ロギングプロセスを設定するには、次の手順を実行します。

Oracle HSM アプリケーションロギングの有効化

  1. Oracle HSM サーバーに root としてログインします。

    この例では、Oracle HSM サーバーホストは samqfs1mds です。

    [samqfs1mds]root@solaris:~# 
    
  2. テキストエディタで /etc/syslog.conf ファイルを開きます。

    この例では、vi エディタでファイルを開きます。

    [samqfs1mds]root@solaris:~# vi /etc/syslog.conf
    # syslog configuration file ...
    *.err;kern.notice;auth.notice                   /dev/sysmsg
    *.err;kern.debug;daemon.notice;mail.crit        /var/adm/messages
    *.alert;kern.err;daemon.err                     operator
    *.alert                                         root
    ...
    
  3. /etc/syslog.conf ファイルで、文字列 local7.debug、1 つ以上のタブ文字、およびパス文字列 /var/adm/sam-log で構成される 1 行を追加します。その後、ファイルを保存してエディタを閉じます。

    この例では、次のコメントも追加します。

    [samqfs1mds]root@solaris:~# vi /etc/syslog.conf
    # syslog configuration file ...
    *.err;kern.notice;auth.notice                   /dev/sysmsg
    *.err;kern.debug;daemon.notice;mail.crit        /var/adm/messages
    *.alert;kern.err;daemon.err                     operator
    *.alert                                         root
    ...
    # Oracle HSM logging
    local7.debug    /var/adm/sam-log
    :wq
    [samqfs1mds]root@solaris:~# 
    
  4. ログファイル /var/adm/sam-log を作成します。コマンド touch /var/adm/sam-log を使用します。

    [samqfs1mds]root@solaris:~# touch /var/adm/sam-log
    [samqfs1mds]root@solaris:~# 
    
  5. Solaris syslogd デーモンに、その構成ファイルを再度読み取り、Oracle HSM ロギングを開始するように指示します。コマンド pkill -HUP syslogd を使用します。

    HUP シグナルを受信するたびに、syslogd ロギングサービスによって /etc/syslog.conf 構成ファイルが再度読み取られ、開いているログファイルがすべて閉じられてから、syslog.conf に一覧表示されているログファイルが開かれます。このコマンドを実行すると、Oracle HSM ロギングが有効になります。

    [samqfs1mds]root@solaris:~# pkill -HUP syslogd
    [samqfs1mds]root@solaris:~# 
    
  6. デバイスロギングの構成に進みます。

デバイスロギングの構成

デバイスロギング機能では、個々のハードウェアデバイスに固有のエラー情報が提供されます (ソフトメディアのエラーは収集されません)。各デバイスには、対応する装置番号を含む名前が付けられ、/var/opt/SUNWsamfs/devlog/ ディレクトリに格納される独自のログファイルが存在します。

デバイスログは、急速に増大する可能性があります。そのため、デフォルトでは、限られたイベントデータセット (errretrysyserr、および date) のログが記録されます。あとで問題が発生した場合は、samset コマンドを使用すると、デバイス単位で追加のイベントをログに記録できます (詳細は、samset のマニュアルページの devlog セクションを参照)。

defaults.conf ファイルでのデバイスログの有効化

基本的なデバイスロギングを有効にするには、次の手順を実行します。

  1. Oracle HSM サーバーに root としてログインします。

    この例では、Oracle HSM サーバーホストは samqfs1mds です。

    [samqfs1mds]root@solaris:~# 
    
  2. テキストエディタで /etc/opt/SUNWsamfs/defaults.conf を開きます。

    この例では、vi エディタでファイルを開きます。

    [samqfs1mds]root@solaris:~# vi /etc/opt/SUNWsamfs/defaults.conf 
    # These are the defaults.  To change the default behavior, uncomment the
    # appropriate line (remove the '#' character from the beginning of the line)
    # and change the value.
    ...
    
  3. defaults.conf ファイルで、必要なデバイスロギングのデフォルトレベルを定義する 1 行を追加します。ディレクティブ devlog equipment-number loggable-events を入力します。ここでは:

    • equipment-number は、/etc/opt/SUNWsamfs/mcf ファイルで定義されたすべての装置を表すキーワード all、または mcf で定義された装置の特定部分を識別する装置番号です。

    • loggable-events は、デフォルト値を空白文字で区切ったリスト (err retry syserr date) です。

      イベントタイプの包括的なリストについては、samset のマニュアルページの devlog セクションを参照してください。ただし、ログのサイズを最小限に抑えるには、デフォルトの選択を使用します。診断のために、samset コマンドを使用して、必要に応じて追加のイベントを選択的に有効にできます。

    この例では、デフォルトのロギングレベルを使用して、すべてのデバイスのデバイスロギングを有効にします。

    [samfs-mds1]root@solaris:~# vi /etc/opt/SUNWsamfs/defaults.conf 
    # These are the defaults.  To change the default behavior, uncomment the
    # appropriate line (remove the '#' character from the beginning of the line)
    # and change the value.
    ...
    devlog all err retry syserr date
    
  4. defaults.conf ファイルを保存して、エディタを閉じます。

    [samfs-mds1]root@solaris:~# vi /etc/opt/SUNWsamfs/defaults.conf 
    # These are the defaults.  To change the default behavior, uncomment the
    # appropriate line (remove the '#' character from the beginning of the line)
    # and change the value.
    ...
    devlog all err retry syserr date
    :wq
    [samfs-mds1]root@solaris:~# 
    
  5. defaults.conf ファイルを再度読み取り、サービス自体を適宜再構成するように Oracle HSM サービスに指示します。コマンド samd config を使用します。

    [samfs-mds1]root@solaris:~# samd config
    [samfs-mds1]root@solaris:~# 
    
  6. 次に、Oracle HSM ログファイルの自動ローテーションを設定します

ログローテーションの構成

ログファイルが急速に増大すると、大量の領域が消費され、ログの使用が困難になる可能性があります。そのため、Oracle HSM ログの自動ログローテーションを構成するようにしてください。この目的のために、ソフトウェアには Solaris crontab ファイルから実行できるスクリプト log_rotate.sh が含まれています。

ローテーションする目的のログごとに、2 つの crontab エントリを作成します。1 つ目のエントリは、目的の時間に log_rotate.sh スクリプトを実行します。ターゲットのログファイルが指定された最小サイズ (デフォルトは 100000 バイト) に達すると、スクリプトによって名前が変更され、もっとも古い既存のコピーが削除されます (同時に 7 つが常に保持されています)。2 つ目の crontab エントリは、Solaris ロギングデーモン syslogd に、新しいログファイルでロギングを再開するように指示します。

Oracle HSM ログファイルの自動ローテーションの設定

次のログをローテーションすることを検討します。

  • /etc/syslog.conf ファイルで指定された場所に配置されている Oracle HSM ログファイル sam-log

  • /var/opt/SUNWsamfs/devlog/ ディレクトリに配置されているデバイスログファイル。

  • /etc/opt/SUNWsamfs/stager.cmd ファイルで指定されているステージャーログファイル。

  • /etc/opt/SUNWsamfs/releaser.cmd ファイルで指定されているリリーサログファイル。

  • /etc/opt/SUNWsamfs/recycler.cmd ファイルで指定されているリサイクラログファイル。

アーカイバログファイルはローテーションしないでください。ログ情報は分析とファイルシステムの回復に有益です。アーカイバログの適切な処理については、ファイルシステムの保護の構成を参照してください。

ローテーション対象のログを決定したら、ログごとに次の手順を実行します。

  1. Oracle HSM サーバーに root としてログインします。

    この例では、Oracle HSM サーバーホストは samqfs1mds です。

    [samqfs1mds]root@solaris:~# 
    
  2. スクリプトファイル log_rotate.sh/opt/SUNWsamfs/examples/ (アンインストールされた場所) から /etc/opt/SUNWsamfs/scripts/ にコピーします。

    次のコマンドは 1 行で入力します。改行はバックスラッシュによってエスケープされます。

    [samfs-mds1]root@solaris:~# cp /opt/SUNWsamfs/examples/log_rotate.sh \  /etc/opt/SUNWsamfs/scripts/
    
  3. 編集のために root ユーザーの crontab ファイルを開きます。コマンド crontab -e を使用します。

    crontab コマンドは、root ユーザーの crontab ファイルの編集可能なコピーを、EDITOR 環境変数で指定されたテキストエディタで開きます (詳細は、Solaris crontab のマニュアルページを参照してください)。この例では、vi エディタを使用します。

    [samfs-mds1]root@solaris:~# crontab -e
    #ident  "%Z%%M% %I%     %E% SMI"
    # Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
    # Use is subject to license terms.
    # The root crontab should be used to perform accounting data collection.
    10 3 * * * /usr/sbin/logadm
    ...
    30 0,9,12,18,21 * * * /usr/lib/update-manager/update-refresh.sh
    
  4. 新しい行で、minutes hour * * day-of-the-week と入力して、ログファイルをローテーションする日時を指定します。ここでは:

    • minutes は、ジョブを開始する分を指定する、[0-59] の範囲内の整数です。

    • hour は、ジョブを開始する時を指定する、[0-23] の範囲内の整数です。

    • * (アスタリスク) は未使用の値を指定します。

      毎日実行するタスクの場合、日 [1-31] および月 [1-12] の値は使用されません。

    • day-of-the-week は、日曜日 (0) から始まる、[0-6] の範囲の整数です。

    • 空白は、時間の指定のフィールドを区切ります。

    この例では、毎週日曜日の午前 3 時 10 分にログローテーションが開始されるようにスケジュールします。

    [samfs-mds1]root@solaris:~# crontab -e
    #ident  "%Z%%M% %I%     %E% SMI"
    # Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
    # Use is subject to license terms.
    # The root crontab should be used to perform accounting data collection.
    10 3 * * * /usr/sbin/logadm
    ...
    30 0,9,12,18,21 * * * /usr/lib/update-manager/update-refresh.sh
    10 3 * * 0 
    
  5. 引き続き同じ行で、Oracle HSM ログをローテーションするシェルスクリプトのパスと名前 /etc/opt/SUNWsamfs/scripts/log_rotate.sh を入力し、そのあとに空白文字を追加します。

    [samfs-mds1]root@solaris:~# crontab -e
    #ident  "%Z%%M% %I%     %E% SMI"
    # Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
    # Use is subject to license terms.
    # The root crontab should be used to perform accounting data collection.
    10 3 * * * /usr/sbin/logadm
    ...
    30 0,9,12,18,21 * * * /usr/lib/update-manager/update-refresh.sh
    10 3 * * 0 /etc/opt/SUNWsamfs/scripts/log_rotate.sh 
    
  6. 引き続き同じ行で、ローテーションする必要のあるログの名前およびローテーションするファイルの最小サイズを入力します。テキスト samfslog [minimum-size] を入力します。ここで samfslog は、Oracle HSM ログファイルへのパス、[minimum-size] は、スクリプトでローテーションされる最小ファイルサイズ (バイト単位) を指定するオプションの整数 (デフォルトは 100000) です。

    この例では、/var/adm/sam-log をローテーションする必要があります。デフォルトの最小サイズを受け入れます。

    [samfs-mds1]root@solaris:~# crontab -e
    #ident  "%Z%%M% %I%     %E% SMI"
    # Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
    # Use is subject to license terms.
    # The root crontab should be used to perform accounting data collection.
    10 3 * * * /usr/sbin/logadm
    ...
    30 0,9,12,18,21 * * * /usr/lib/update-manager/update-refresh.sh
    10 3 * * 0 /etc/opt/SUNWsamfs/scripts/log_rotate.sh /var/adm/sam-log
    
  7. 改行します。log_rotate.sh スクリプトの 10 分後に開始される crontab エントリを作成します。このエントリは、古いログファイルを閉じて新しいファイルにロギングを再開するように Solaris syslogd デーモンに指示します。行 minutes hour * * day-of-the-week /bin/kill -HUP `/bin/cat /etc/syslog.pid` を入力します。ここで minutes hour * * day-of-the-week には、前のステップで指定した時間の 10 分後の時間を指定します。

    この例では、エントリは毎週日曜日の午前 3 時 20 分に Oracle HSM ロギングを再開します。

    [samfs-mds1]root@solaris:~# crontab -e
    #ident  "%Z%%M% %I%     %E% SMI"
    # Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
    # Use is subject to license terms.
    # The root crontab should be used to perform accounting data collection.
    10 3 * * * /usr/sbin/logadm
    ...
    30 0,9,12,18,21 * * * /usr/lib/update-manager/update-refresh.sh
    10 3 * * 0 /etc/opt/SUNWsamfs/scripts/log_rotate.sh /var/adm/sam-log
    20 3 * * 0  /bin/kill -HUP `/bin/cat /etc/syslog.pid`
    
  8. ファイルを保存して、エディタを閉じます。

    [samfs-mds1]root@solaris:~# crontab -e
    #ident  "%Z%%M% %I%     %E% SMI"
    # Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
    # Use is subject to license terms.
    # The root crontab should be used to perform accounting data collection.
    10 3 * * * /usr/sbin/logadm
    ...
    30 0,9,12,18,21 * * * /usr/lib/update-manager/update-refresh.sh
    10 3 * * 0 /etc/opt/SUNWsamfs/scripts/log_rotate.sh /var/adm/sam-log
    20 3 * * 0  /bin/kill -HUP `/bin/cat /etc/syslog.pid`
    :wq
    [samfs-mds1]root@solaris:~# 
    
  9. 必要なすべてのログのログローテーションが構成されるまで、この手順を繰り返します。

  10. 次に、必要に応じて、電子メール警告を有効にします

  11. それ以外の場合は、Oracle HSM 構成のバックアップに進みます。

電子メールアラートの有効化

Oracle HSM Manager のグラフィカルユーザーインタフェースを使用すると、電子メールアラートが最適に設定されます。詳細は、オンラインヘルプを参照してください。

コマンド行インタフェースから電子メールアラートを構成する必要がある場合は、defaults.confarchiver.shdev_down.shload_notify.shrecycler.sharchiver.cmdrecycler.cmd、および notify.cmd のマニュアルページを参照してください。

この時点で、Oracle HSM システムが構成されています。ただし、使用を開始する前に、作業内容を保護します。手順については、Oracle HSM 構成のバックアップを参照してください。