Oracle HSM ファイルシステムでは、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 管理ステーションが一覧表示されていることの確認Oracle HSM サーバーに root
としてログインします。
この例では、Oracle HSM サーバーホストは samqfs1mds
です。
[samqfs1mds]root@solaris:~#
/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
/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
/etc/hosts
ファイルに目的の SNMP 管理ステーションホストに対応するエントリがすべて含まれている場合は、エディタを閉じます。
[samqfs1mds]root@solaris:~# vi /etc/hosts
...
10.0.0.20 management1
10.0.0.30 management2
:wq
[samqfs1mds]root@solaris:~#
デフォルトでは、SNMP 通知のサポートが有効になっているため、ある時点で SNMP サポートを無効にしていないかぎり、アクションは必要ありません。SNMP サポートを再度有効にする必要がある場合は、次の手順に従います。
Oracle HSM サーバーに root
としてログインします。
この例では、Oracle HSM サーバーホストは samqfs1mds
です。
[samqfs1mds]root@solaris:~#
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
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:~#
defaults.conf
ファイルを再度読み取り、サービス自体を適宜再構成するように Oracle HSM サービスに指示します。コマンド samd
config
を使用します。
[samqfs1mds]root@solaris:~# 1mds]samd config [samqfs1mds]root@solaris:~#
Oracle HSM サーバーに root
としてログインします。
この例では、Oracle HSM サーバーホストは samqfs1mds
です。
[samqfs1mds]root@solaris:~#
テキストエディタで /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`
行 TRAP_DESTINATION=`
で、単一引用符に囲まれたテキストを、それぞれ hostname
:port
形式で 1 つ以上のトラップ受信者の空白文字区切りリストで置き換えます。ここで、hostname
は、/etc/hosts
に一覧表示されている管理ステーションのホスト名で、port
は、ホストがトラップを待機しているポートです。
デフォルトでは、トラップは localhost
の UDP ポート 161
に送信されます。この例では、ホスト management1
と management2
をデフォルトの localhost
に追加します。localhost
と management1
ではデフォルトポートが使用されますが、management2
ではカスタムポート 1161
が使用されます。
... # CONFIGURATION PARAMETERS: TRAP_DESTINATION=`localhost:161 management1:161 management1:1161`
コミュニティー文字列 COMMUNITY="public"
が設定されている行までスクロールダウンします。
コミュニティー文字列は、SNMP バージョン 2c でエージェントおよび管理ステーションを認証する平文の共有パスワードです。デフォルト値は SNMP 標準 public
です。
... # CONFIGURATION PARAMETERS: TRAP_DESTINATION=`localhost:161 management1:161 management1:1161` ... COMMUNITY="public"
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:~#
デフォルトの場合、リモート通知機能は使用可能です。リモート通知を無効にする必要がある場合は、次の手順を実行します。
Oracle HSM サーバーに root
としてログインします。
この例では、Oracle HSM サーバーホストは samqfs1mds
です。
[samqfs1mds]root@solaris:~#
/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:~#
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:~#
defaults.conf
ファイルを再度読み取り、サービス自体を適宜再構成するように Oracle HSM サービスに指示します。コマンド samd
config
を使用します。
[samqfs1mds]root@solaris:~# samd config [samqfs1mds]root@solaris:~#
ここで停止します。SNMP サポートが無効になります。
/var/adm/sam-log
ファイルには、Oracle HSM アプリケーションおよびそのコンポーネントのデーモンとプロセスのステータスおよびエラー情報が記録されます。ロギングプロセスを設定するには、次の手順を実行します。
Oracle HSM サーバーに root
としてログインします。
この例では、Oracle HSM サーバーホストは samqfs1mds
です。
[samqfs1mds]root@solaris:~#
テキストエディタで /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 ...
/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:~#
ログファイル /var/adm/sam-log
を作成します。コマンド touch
/var/adm/sam-log
を使用します。
[samqfs1mds]root@solaris:~# touch /var/adm/sam-log [samqfs1mds]root@solaris:~#
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:~#
デバイスロギングの構成に進みます。
デバイスロギング機能では、個々のハードウェアデバイスに固有のエラー情報が提供されます (ソフトメディアのエラーは収集されません)。各デバイスには、対応する装置番号を含む名前が付けられ、/var/opt/SUNWsamfs/devlog/
ディレクトリに格納される独自のログファイルが存在します。
デバイスログは、急速に増大する可能性があります。そのため、デフォルトでは、限られたイベントデータセット (err
、retry
、syserr
、および date
) のログが記録されます。あとで問題が発生した場合は、samset
コマンドを使用すると、デバイス単位で追加のイベントをログに記録できます (詳細は、samset
のマニュアルページの devlog
セクションを参照)。
defaults.conf
ファイルでのデバイスログの有効化基本的なデバイスロギングを有効にするには、次の手順を実行します。
Oracle HSM サーバーに root
としてログインします。
この例では、Oracle HSM サーバーホストは samqfs1mds
です。
[samqfs1mds]root@solaris:~#
テキストエディタで /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. ...
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
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:~#
defaults.conf
ファイルを再度読み取り、サービス自体を適宜再構成するように Oracle HSM サービスに指示します。コマンド samd
config
を使用します。
[samfs-mds1]root@solaris:~# samd config [samfs-mds1]root@solaris:~#
ログファイルが急速に増大すると、大量の領域が消費され、ログの使用が困難になる可能性があります。そのため、Oracle HSM ログの自動ログローテーションを構成するようにしてください。この目的のために、ソフトウェアには Solaris crontab
ファイルから実行できるスクリプト log_rotate.sh
が含まれています。
ローテーションする目的のログごとに、2 つの crontab
エントリを作成します。1 つ目のエントリは、目的の時間に log_rotate.sh
スクリプトを実行します。ターゲットのログファイルが指定された最小サイズ (デフォルトは 100000
バイト) に達すると、スクリプトによって名前が変更され、もっとも古い既存のコピーが削除されます (同時に 7 つが常に保持されています)。2 つ目の crontab
エントリは、Solaris ロギングデーモン syslogd
に、新しいログファイルでロギングを再開するように指示します。
次のログをローテーションすることを検討します。
/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
ファイルで指定されているリサイクラログファイル。
アーカイバログファイルはローテーションしないでください。ログ情報は分析とファイルシステムの回復に有益です。アーカイバログの適切な処理については、ファイルシステムの保護の構成を参照してください。
ローテーション対象のログを決定したら、ログごとに次の手順を実行します。
Oracle HSM サーバーに root
としてログインします。
この例では、Oracle HSM サーバーホストは samqfs1mds
です。
[samqfs1mds]root@solaris:~#
スクリプトファイル 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/
編集のために 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
新しい行で、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
引き続き同じ行で、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
引き続き同じ行で、ローテーションする必要のあるログの名前およびローテーションするファイルの最小サイズを入力します。テキスト 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
改行します。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`
ファイルを保存して、エディタを閉じます。
[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:~#
必要なすべてのログのログローテーションが構成されるまで、この手順を繰り返します。
次に、必要に応じて、電子メール警告を有効にします。
それ以外の場合は、Oracle HSM 構成のバックアップに進みます。
Oracle HSM Manager のグラフィカルユーザーインタフェースを使用すると、電子メールアラートが最適に設定されます。詳細は、オンラインヘルプを参照してください。
コマンド行インタフェースから電子メールアラートを構成する必要がある場合は、defaults.conf
、archiver.sh
、dev_down.sh
、load_notify.sh
、recycler.sh
、archiver.cmd
、recycler.cmd
、および notify.cmd
のマニュアルページを参照してください。
この時点で、Oracle HSM システムが構成されています。ただし、使用を開始する前に、作業内容を保護します。手順については、Oracle HSM 構成のバックアップを参照してください。