JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris 11.1 での一般的な問題のトラブルシューティング     Oracle Solaris 11.1 Information Library (日本語)
このドキュメントの評価
search filter icon
search icon

ドキュメントの情報

はじめに

1.  システムクラッシュ情報の管理 (タスク)

2.  コアファイルの管理 (タスク)

3.  システムおよびソフトウェアのトラブルシューティング (タスク)

システムクラッシュの問題のトラブルシューティング

システムがクラッシュした場合の対処方法

トラブルシューティングデータの収集

システムクラッシュをトラブルシュートするためのチェックリスト

システムメッセージの管理

システムメッセージの表示

システムメッセージを表示する方法

システムログローテーション

システムのメッセージ記録のカスタマイズ

システムのメッセージ記録をカスタマイズする方法

リモートコンソールメッセージングを有効にする

実行レベルの変更中に補助コンソールメッセージングを使用する

対話型ログインセッションで consadm コマンドを使用するためのガイドライン

補助 (リモート) コンソールを有効にする方法

補助コンソールのリストを表示する方法

システムリブート後も補助 (リモート) コンソールを有効にする方法

補助 (リモート) コンソールを無効にする方法

ファイルアクセスでの問題のトラブルシューティング

検索パスに関連する問題を解決する (コマンドが見つかりません)

検索パスの問題を診断して解決する方法

ファイルとグループの所有権の変更

ファイルアクセスの問題を解決する

ネットワークアクセスで発生する問題の把握

4.  その他各種のシステムおよびソフトウェアの トラブルシューティング (タスク)

索引

ドキュメントの品質向上のためのご意見をください
簡潔すぎた
読みづらかった、または難し過ぎた
重要な情報が欠けていた
内容が間違っていた
翻訳版が必要
その他
Your rating has been updated
貴重なご意見を有り難うございました!

あなたの貴重なご意見はより良いドキュメント作成の手助けとなります 内容の品質向上と追加コメントのためのアンケートに参加されますか?

システムメッセージの管理

以降のセクションでは、Oracle Solaris のシステムメッセージ機能について説明します。

システムメッセージの表示

システムのメッセージはコンソールデバイスに表示されます。ほとんどのシステムメッセージは次の形式で表示されます。

[ID msgid facility. priority]

例:

[ID 672855 kern.notice] syncing file systems...

カーネルから出されるメッセージには、カーネルモジュール名が次のように表示されます。例:

Oct 1 14:07:24 mars ufs: [ID 845546 kern.notice] alloc: /: file system full 

システムがクラッシュすると、システムのコンソールに次のようなメッセージが表示されることがあります。

panic: error message

まれに、パニックメッセージではなく次のメッセージが表示されることがあります。

Watchdog reset !

エラー記録デーモン syslogd は、さまざまなシステムの警告やエラーをメッセージファイルに自動的に記録します。デフォルトでは、これらのシステムメッセージの多くは、システムコンソールに表示されて、/var/adm ディレクトリに格納されます。システムメッセージ記録を設定することによって、これらのメッセージを格納する場所を指示できます。詳しくは、「システムのメッセージ記録のカスタマイズ」を参照してください。これらのメッセージは、失敗の予兆のあるデバイスなど、システム障害をユーザーに警告できます。

/var/adm ディレクトリには、いくつかのメッセージファイルが含まれています。もっとも新しいメッセージは、/var/adm/messages (および messages.*) にあり、もっとも古いメッセージは、messages.3 にあります。一定の期間 (通常は 10 日) ごとに、新しい messages ファイルが作成されます。messages.0 のファイル名は messages.1 に、messages.1messages.2 に、messages.2messages.3 にそれぞれ変更されます。その時点の /var/adm/messages.3 は削除されます。

/var/adm ディレクトリは、メッセージやクラッシュダンプなどのデータを含む大きなファイルを格納するため、多くのディスク容量を消費します。/var/adm ディレクトリが大きくならないようにするために、そして将来のクラッシュダンプが保存できるようにするために、不要なファイルを定期的に削除しなければなりません。crontab ファイルを使用すれば、このタスクは自動化できます。このタスクの自動化については、『Oracle Solaris 11.1 の管理: デバイスとファイルシステム』の「クラッシュダンプファイルを削除する方法」および『Oracle Solaris 11.1 でのシステム情報、プロセス、およびパフォーマンスの管理』の第 4 章「システムタスクのスケジュール設定 (タスク)」を参照してください。

システムメッセージを表示する方法

例 3-1 システムメッセージの表示

次の例は、Oracle Solaris 10 システムでの dmesg コマンドからの出力を示します。

$ dmesg
Mon Sep 13 14:33:04 MDT 2010
Sep 13 11:06:16 sr1-ubrm-41 svc.startd[7]: [ID 122153 daemon.warning] ...
Sep 13 11:12:55 sr1-ubrm-41 last message repeated 398 times
Sep 13 11:12:56 sr1-ubrm-41 svc.startd[7]: [ID 122153 daemon.warning] ...
Sep 13 11:15:16 sr1-ubrm-41 last message repeated 139 times
Sep 13 11:15:16 sr1-ubrm-41 xscreensaver[25520]:  ,,,
Sep 13 11:15:16 sr1-ubrm-41 xscreensaver[25520]: ...
Sep 13 11:15:17 sr1-ubrm-41 svc.startd[7]: [ID 122153 daemon.warning]...
.
.
.

参照

詳細は、dmesg(1M) のマニュアルページを参照してください。

システムログローテーション

システムログファイルは、root の crontab ファイルのエントリから logadm コマンドによって実行されます。/usr/lib/newsyslog スクリプトは使用されません。

このシステムログローテーションは、/etc/logadm.conf ファイルに定義されます。このファイルには、syslogd などのプロセスのログローテーションエントリが含まれています。たとえば、/etc/logadm.conf ファイルにある 1 つのエントリは、/var/log/syslog ファイルが空でなければローテーションが毎週実行されることを示しています。つまり、最新の syslog ファイルが syslog.0 になり、その次に新しい syslog ファイルが syslog.1 になります。最新からさかのぼって 8 つまでの syslog ログファイルが保存されます。

また、/etc/logadm.conf ファイルには、最後のログローテーション実行時のタイムスタンプも含まれます。

logadm コマンドを使用して、必要に応じてシステムログをカスタマイズしたり、/etc/logadm.conf ファイルにログを追加したりすることができます。

たとえば、Apache アクセスとエラーログのローテーションを実行するには、次のコマンドを使用します。

# logadm -w /var/apache/logs/access_log -s 100m
# logadm -w /var/apache/logs/error_log -s 10m

この例では、Apache の access_log ファイルのローテーションは、そのサイズが 100M バイトに達したときに実行され、そのファイル名に .0 .1 などのように接尾辞が付けられます。また、古い access_log ファイルのコピーが 10 個保存されます。また、error_log のローテーションは、そのサイズが 10M バイトに達したときに実行され、access_log ファイルと同様に、接尾辞が付けられ、コピーが保存されます。

前述の Apache ログローテーションの例における /etc/logadm.conf エントリの例は、次のようになります。

# cat /etc/logadm.conf
.
.
.
/var/apache/logs/error_log -s 10m
/var/apache/logs/access_log -s 100m

詳細は、logadm(1M) のマニュアルページを参照してください。

スーパーユーザーでログインするか、同等の役割 (ログ管理の権限を持つ) でアクセスすることによって、logadm コマンドを使用できます。RBAC を使用すると、logadm コマンドへのアクセス権を与えることによって、root 以外のユーザーにログファイルを管理する権限を与えることができます。

たとえば、次のエントリを /etc/user_attr ファイルに追加すれば、logadm コマンドを使用する権限がユーザー andy に与えられます。

andy::::profiles=Log Management

システムのメッセージ記録のカスタマイズ

/etc/syslog.conf ファイルを変更すると、さまざまなシステムプロセスが生成するさらに多くのエラーメッセージを記録できます。デフォルトでは、/etc/syslog.conf は、多くのシステムプロセスのメッセージが /var/adm/messages ファイルに格納されるように指示します。クラッシュとブートのメッセージも、同様にこのファイルに格納されます。/var/adm メッセージを表示する方法については、「システムメッセージを表示する方法」を参照してください。

/etc/syslog.conf ファイルは、タブで区切られた 2 つの列から構成されています。

facility.level ... action
facility.level

機能またはメッセージや状態のシステムでの出所。コンマで区切られた機能のリスト。機能の値については、表 3-2 を参照してください。level は、記録する状態の重要度や優先順位を示します。優先レベルについては、表 3-3 を参照してください。

同じ機能の 2 つのエントリは、それぞれの優先順位が異なる場合、同じ行に入力しないでください。syslog ファイルに優先順位を入力すると、この優先順位以上のすべてのメッセージが記録され、最後のメッセージが優先されます。指定の機能とレベルに対し、syslogd はそのレベル以上のすべてのメッセージを記録します。

action

動作フィールドは、メッセージが転送される場所を示します。

次の例は、デフォルトの /etc/syslog.conf ファイルのサンプルを示します。

user.err                                        /dev/sysmsg
user.err                                        /var/adm/messages
user.alert                                      `root, operator'
user.emerg                                      *

この例は、次のユーザーメッセージが自動的に記録されることを意味します。


注 - エントリを個別の行に入力すると、/etc/syslog.conf ファイルでログの対象が複数回指定された場合に、メッセージのログ順が変わることがあります。単独行のエントリに複数のセレクタを指定できます。その際、セレクタはセミコロンで区切ります。


一般的なエラー状態の送信元を次の表に示します。一般的な優先順位を、重要度順に表 3-3 に示します。

表 3-2 syslog.conf メッセージの送信元の機能

送信元
説明
kern
カーネル
auth
認証
デーモン
すべてのデーモン
mail
メールシステム
lp
スプールシステム
user
ユーザープロセス

注 - /etc/syslog.conf ファイルで有効化できる syslog 機能の数に制限はありません。


表 3-3 syslog.conf メッセージの優先レベル

優先順位
説明
emerg
システムの緊急事態
alert
すぐに修正が必要なエラー
crit
致命的なエラー
err
その他のエラー
info
情報メッセージ
debug
デバッグ用の出力
none
この設定は出力を記録しない

システムのメッセージ記録をカスタマイズする方法

  1. root 役割になるか、solaris.admin.edit/etc/syslog.conf 承認が割り当てられている役割になります。

    『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。

  2. pfedit コマンドを使用して /etc/syslog.conf ファイルを編集します。syslog.conf(4) で説明している構文に従って、メッセージの送信元、優先順位、およびメッセージの格納場所を追加または変更します。
    $ pfedit /etc/syslog.conf
  3. 変更を保存します。

例 3-2 システムのメッセージ記録のカスタマイズ

次の /etc/syslog.confuser.emerg 機能の例は、ユーザー緊急メッセージを root ユーザーおよび個別のユーザーに送信します。

user.emerg                                      `root, *'

リモートコンソールメッセージングを有効にする

次の新しいリモートコンソール機能を使うと、リモートシステムの問題をトラブルシュートしやすくなります。

実行レベルの変更中に補助コンソールメッセージングを使用する

実行レベルの変更中に補助コンソールメッセージングを使う場合は、次の点に注意してください。

対話型ログインセッションで consadm コマンドを使用するためのガイドライン

シリアルポートに接続された端末からシステムにログインしてから、 consadm コマンドを使ってこの端末にコンソールメッセージを表示して、対話型ログインセッションを行う場合、次の点に注意してください。

補助 (リモート) コンソールを有効にする方法

consadm デーモンは、consadm コマンドで補助コンソールを追加するまでポートの監視を開始しません。セキュリティー機能として、コンソールメッセージは、キャリア信号が失われるまでか、補助コンソールデバイスの選択が解除されるまでの間だけ出力変更されます。そのため、consadm コマンドを使うには、そのポートでキャリア信号が確立されている必要があります。

補助コンソールの有効化については、consadm(1m) のマニュアルページを参照してください。

  1. システムにログインし、root 役割になります。

    『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。

  2. 補助コンソールを有効にします。
    # consadm -a devicename
  3. 現在の接続が補助コンソールであることを確認します。
    # consadm

例 3-3 補助 (リモート) コンソールを有効にする

# consadm -a /dev/term/a
# consadm
 /dev/term/a

補助コンソールのリストを表示する方法

  1. システムにログインし、root 役割になります。

    『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。

  2. 次のどちらかの手順に従います。
    1. 補助コンソールのリストを表示します。
      # consadm
      /dev/term/a
    2. 持続的補助コンソールのリストを表示します。
      # consadm -p
      /dev/term/b

システムリブート後も補助 (リモート) コンソールを有効にする方法

  1. システムにログインし、root 役割になります。

    『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。

  2. 複数のシステムリブート後も補助コンソールを有効にします。
    # consadm -a -p devicename     

    このデバイスが持続的な補助コンソールのリストに追加されます。

  3. デバイスが持続的な補助コンソールのリストに追加されているか確認します。
    # consadm

例 3-4 システムリブート後も補助 (リモート) コンソールを有効にする

# consadm -a -p /dev/term/a 
# consadm
/dev/term/a

補助 (リモート) コンソールを無効にする方法

  1. システムにログインし、root 役割になります。

    『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。

  2. 次のどちらかの手順に従います。
    1. 補助コンソールを無効にします。
      # consadm -d devicename

      または

    2. 補助コンソールを無効にし、持続的な補助コンソールのリストから削除します。
      # consadm -p -d devicename
  3. 補助コンソールが無効になっていることを確認します。
    # consadm

例 3-5 補助 (リモート) コンソールを無効にする

# consadm -d /dev/term/a
# consadm