mdadmを使用した電子メールアラートのRAIDへの送信が失敗する
This document (7001034) is provided subject to the disclaimer at the end of this document.
環境
Novell SUSE Linux Enterprise Desktop 10
Novell SUSE Linux Enterprise Server 10
Novell SUSE Linux Enterprise Server 10サービスパック1
Novell SUSE Linux Enterprise Desktop 10サービスパック1
問題の状況
mdamdは、LinuxソフトウェアRAIDデバイスの作成、管理、監視に使用できる、コマンドラインユーティリティです。
このTIDでは、mdadmを使用してSLE LinuxにおけるソフトウェアRAID構成の問題を監視してレポートする方法を説明します。このドキュメントではSLE LinuxでのソフトウェアRAIDのセットアップは説明しません。mdadmのセットアップ手順は、システムでアクティブソフトウェアRAIDセットアップが行われた後に使用します。
mdadmによるエラーの電子メールアラートのセットアップ手順
mdadmでのアラートを通知する電子メールは、いくつかの方法で作成できます。
- コマンドラインを直接使用する
- /etc/mdadm.confファイルを使用して電子メールアドレスを指定する
Fail、FailSpare、DegradedArray、TestMessage
mdadmコマンドラインを使用して電子メールアドレスを指定する
コマンドラインを使用する場合、電子メールアドレスをコマンドに含めます次の例では、mdadmコマンドと、システムが起動するたびにロードされるように設定する方法を示しています。
mdadm --monitor --scan --daemonize --mail=jdoe@somemail.com
コマンドを/etc/init.d/boot.localに配置すると、システムが起動するたびにロードされます。
mdadmが実行しているかどうかは、次のコマンドをターミナルウィンドウに入力して確認できます。
ps aux | grep mdadm
mdadm.confファイルを使用して電子メールアドレスを指定する
mdadmを/etc/mdadm.confファイルとともに使用する方法は、コマンドラインと非常に似ていますが、電子メールアドレスはmdadm.confファイルに含まれています。次に、mdadm.confファイルの例を示します。
#~~~~~~~~~~~~ Sample mdadm.conf file ~~~~~~~~~~~~~~~~~~~~~~~~
DEVICE partitions
ARRAY /dev/md0 level=raid1 UUID=1e60d34a:2900a5a6:016ce23d:edbe1177
ARRAY /dev/md1 level=raid1 UUID=b9db4840:b9f19361:ed0112d1:74f6071a
ARRAY /dev/md2 level=raid1 UUID=f6135aa0:dc21f04e:24d4c1e1:4fe7b596
MAILADDR jdoe@somemail.com
#~~~~~~~~~~~~ end of file ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#で始まる行は、このマニュアルのために追加したものです。
/etc/mdadm.confを使用するとコマンドラインが簡素化され、次のようになります。
mdadm ?monitor ?scan ?daemonize
このコマンドを/etc/init.d/boot.localに追加して、mdadmがシステムが起動するたびに実行されるようにできます。
注:DEVICEパーティションセクションが/etc/mdadm.confファイルにない場合、mdadmは電子メールを送信しないことがわかっています。これらのセクションがない場合、次のコマンドを使用して新しい/etc/mdadm.confファイルを作成できます。
mdadm ?detail ?scan > /etc/mdadm.conf
MAILADDR行も追加できます。
イベントが発生したときに外部プログラムを実行する
/etc/mdadm.confファイルの別のオプションとして、エラーが検出されたときに外部アプリケーションを実行します。
サンプルアプリケーションとして、イベントが発生したときに画面にメッセージをポップアップするシンプルなスクリプトが挙げられます。次のスクリプトはサンプルです。
注:次のスクリプトはサンプルとして示すもので、ノベルがサポートするものではありません。
#!/bin/bash
#
# mdadm RAID health check
#
# イベントは$1(イベント)と$2(デバイス)経由でxmessageに渡されています
#
# 変数を読み取り可能な値に設定します
イベント=$1
デバイス=$2
# イベントをチェックして、イベントに応じて該当するメッセージをポップアップウィンドウに表示します
[ $event == "Fail" ]であるとき、
?? ?xmessage "デバイスでエラーが検出されました" $デバイス
?? ?または
?? ?[ $event == "FailSpare" ]であるとき、
?? ???? xmessage "予備デバイスでエラーが検出されました" $デバイス
?? ???? または
?? ????[ $event == "DegradedArray" ]であるとき、
?? ???? ??? xmessage "デバイスで縮退したアレイが検出されました" $デバイス
?? ???? ??? または
?? ???? ???[ $event == "TestMessage" ]であるとき、
?? ???? ??? ??? xmessage "デバイスでテストメッセージを生成しました" $デバイス
?? ???? ??? fi
?? ???? fi
?? ?fi?? ?
fi
#~~~~~~~~~~~~~~~~~~~~~~~~~ スクリプトの終了 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
外部プログラムを追加するには、次の行を/etc/mdadm.confファイルに追加します。
PROGRAM /etc/raid-events
/etc/raid-eventsは上記にリストしたスクリプトを含むファイルです。ファイルが実行可能になっていることを確認してください。
設定を確認して電子メールが送信されるようにする
すべて設定したら、mdadmをテストモードで実行して電子メールアラートが送信され、受信できることを確認します。これは次の操作を行って確認します。
- ターミナルウィンドウを開いてsuと入力し、ルートとしてログインします。
- mdadm --monitor --scan --testと入力します。
? ??? ??? ??? ??? /etc/mdadm.confにMAILADDR行が含まれていない場合は、?mailパラメータを追加します。
/etc/mdadm.confファイルにリストされた各アレイデバイスに電子メールが送信されます。
電子メールを受信できない場合は、/var/log/mail*ファイルを使用して、エラーが発生した理由をデバッグできます。ほとんどは、電子メールアドレスが受信側ゲートウェイでブロックされていることが原因です。
別の確認項目として、mdadmはpostfixを使用して電子メールを送信するため、postfixがシステムにインストールされているか確認します。
Disclaimer
この情報は、米国Novell, Inc.およびノベル株式会社の内外から発生したものです。本文書の内容または本文書を使用した結果について、いかなる保証、表明または約束も行っていません。また、本文書の商品性、および特定目的への適合性について、いかなる黙示の保証も否認し、排除します。
本文書に記載されている会社名、製品名はそれぞれ各社の商品、商標または登録商標です。
- ドキュメントID: 7001034
- 作成年月日: 25-JUL-2008
- 修正年月日: 03-MAR-2009
- ドキュメントリビジョン:
- 分類:
- 対象NOVELL製品およびバージョン: SUSE Linux Enterprise Desktop, SUSE Linux Enterprise Server
- カテゴリ: