この章では、次の内容を学習します。
- 障害発生時のトラブルシューティング
- 対応手順
- レスキューモードによるシステム起動
- mcinfoによるシステム情報収集
- ダンプ収集
万が一の障害発生時に迅速に適切に対応できることは非常に重要なことです。今日ではシステムはダウンすること自体が許されないものになりつつあります。たとえ障害でシステムがダウンしたとしてもできるだけ迅速な復旧が要求されます。
この章ではLinuxシステムにおいて、障害が発生した場合の行動指針、ガイドラインについて押さえていきます。それは行動レベルでは障害発生時の適切な対応手順ということです。
また障害時には情報の収集も不可欠です。収集した情報により原因の特定、対応を決定していきます。また情報の収集にはそれに役立つツール関係もいくつかあります。そういったツール類の使い方もこの章で学習していきます。
また、システムを起動できないほどの障害の場合、レスキューモードという特別な方法によりシステムの起動が可能な場合があります。たとえ通常の起動ではなくても、システムが起動できれば、その間にデータを退避したりするなど、なんらかの対応も可能になってきます。
- 障害対応の一般的手順
- 障害の詳細情報を取得
- システムの環境に関する情報の調査
- 障害原因の特定と解決
障害の詳細情報を取得
【1】障害の情報
- 現象の内容、何ができて、何ができないのか
- コンソールに表示されるエラーメッセージ
- エラーログ(/var/log/アプリケーション名/*.log)
- Oracleのアラートログ(alert_${SID}.log)
【2】現象再現手順
【3】障害発生環境の情報
- ハードウェアの構成
- OSの環境(バージョン、カーネル、glibcのバージョンなど)
- アプリケーションの種類、バージョン
システムの環境に関する情報を調査
Linuxの一般的な環境に関する調査もする必要があります。そのためには以下のようなものを参照したりあるいはコマンドを実行します。
- (1)/var/log/messages
- syslogファイルです。
- (2)dmesg
- 起動時のメッセージを取得するコマンドです。
- (3)lsmod
- 現在ロードされているモジュールの一覧を取得します。
- (4)lspci
- すべてのPCIデバイスの情報を表示します。
- (5)free
- システムの空きメモリと利用メモリの量を表示します。
- (6)uname -r
- unameはシステムの情報表示です。-rによりカーネルバージョン表示です。
- (7)top
- 現在実行しているプロセスの活動推移です。
障害原因の特定と解決
情報がまとまったら障害原因の特定/解決を行います。