HPのサーバのハードウェア(RAIDの状態)を監視する
森川です。
今回はハードウェアRAIDの状態をSNMPを使用して監視する方法の紹介です。
当然といえば当然ですが、ハードウェアRAIDをしている場合に、ハードディスクが壊れたことを検知できないというのは、致命的です。
それを検知する方法の紹介です。サーバは日本HPのML115 G5、OSはCentOS 5を使用しています。ハードウェアRAIDはSmartアレイ E200を使用しています。(Debianの場合に同様の方法で検知する方法はよくわかりません。。。)
まずは、準備としてSNMP関連のパッケージを入れてしまいましょう。
さっそくですが、SNMPでRAIDの状態監視を行うために、ハードウェア(Smartアレイ E200)のMIBを手に入れる必要があります。
hpacucliのインストール
MIBやコマンドラインからRAIDの状態を見るためのツール一式がHPからRPMとして提供されているので、それをインストールします。
まずはサポートページから製品名である「ML115」を入れて検索します。
検索結果のページから「HP ProLiant ML115 G5」をクリックして、次のページで「ドライバ&ダウンロード」をクリックします。次は「Red Hat Enterprise Linux 5 Server (x86-64)」をクリックしましょう。
そこまでいくと、ドライバ等の一覧のページが表示されるはずなので、そこで「HPアレイ コンフィギュレーション ユーティリティCLI for Linux」をダウンロードします。ダウンロードしたファイルは「hpacucli-8.10-2.noarch.rpm」のはずです。
まずは、これをサーバ上でインストールしましょう。
パッケージが足りないよ、とエラーが表示される場合は、yumなどでインストールしておきましょう。よくわからないパッケージの場合は、
とすれば、大抵の場合は大丈夫だと思います。
次に、snmpの拡張等を行うパッケージをダウンロードするのですが、先ほどの一覧ページには表示されていません。本来はサポートされないと思うのですが、ML350など他のハードウェア用のRPMをインストールして使用してもおそらく問題ないと思うので、今回はその方法をとります。
hpasmのインストール
そこで、サポートページから今度は「ML350」を検索します。
「HP ProLiant ML350 G5 5120 1.86GHz SAS タワー型サーバー」→「ドライバ&ダウンロード」→「Red Hat Enterprise Linux 5 Server (x86-64)」と選択していけば、一覧ページに行き着くはずです。
「HPシステム ヘルス アプリケーションおよびInsightマネジメントエージェント for Red Hat Enterprise Linux 5(AMD64/EM64T)」を選択してダウンロードします。「hpasm-8.0.0-173.rhel5.x86_64.rpm」というファイルがダウンロードできるはずです。
こちらもhpacucliと同様にインストールします。
これでインストール自体は完了ですが、以下のコマンドで設定をする必要があります。
SNMPの設定だけすれば、それ以外の場合については基本的に気にしなくても大丈夫だと思います。
SNMPの設定がうまくいっていれば、 /etc/snmp/snmpd.conf の先頭部分に以下のように追加されていると思います。
あとは、snmpdを再起動して、RAIDの状態を取得するだけです。SmartアレイのRAIDの情報は以下のようにMIBを指定して取得できます。
$ snmpwalk -v1 -c public localhost 1.3.6.1.4.1.232.3.2.3.1.1.4
SNMPv2-SMI::enterprises.232.3.2.3.1.1.4.3.1 = INTEGER: 2
ここで、1.3.6.1.4.1.232.3.2.3.1.1.4 がRAIDの状態を表しているのですが、INTEGER: 2 の意味を知る必要が当然あります。ハードディスクの障害などでRAIDが壊れているときは、この値が変化します。
個々の値については、/opt/hp/hpsmh/data/htdocs/hmastor/daenums.js.ja や /opt/hp/hpsmh/data/htdocs/hmastor/daenums.js.en の cpqDaLogDrvStatus を見るとわかります。以下のようになっているはずです。
これで、値が 2 の場合は OK でそれ以外の場合は問題がありそうだ、ということがわかります。
この値を外部からたとえば、nagios などで調べるプラグインを作ったりすると、RAIDの状態監視もきちんとできることができます。
また、外部からではなく内部から監視する場合、以下のコマンドでわかります。
この結果を見て、問題を発見することもできます。
ハードウェアRAIDの状態監視をしていない方は、ぜひチャレンジしてみてください。
今回はハードウェアRAIDの状態をSNMPを使用して監視する方法の紹介です。
当然といえば当然ですが、ハードウェアRAIDをしている場合に、ハードディスクが壊れたことを検知できないというのは、致命的です。
それを検知する方法の紹介です。サーバは日本HPのML115 G5、OSはCentOS 5を使用しています。ハードウェアRAIDはSmartアレイ E200を使用しています。(Debianの場合に同様の方法で検知する方法はよくわかりません。。。)
まずは、準備としてSNMP関連のパッケージを入れてしまいましょう。
- #
yum install net-snmp net-snmp-utils
さっそくですが、SNMPでRAIDの状態監視を行うために、ハードウェア(Smartアレイ E200)のMIBを手に入れる必要があります。
hpacucliのインストール
MIBやコマンドラインからRAIDの状態を見るためのツール一式がHPからRPMとして提供されているので、それをインストールします。
まずはサポートページから製品名である「ML115」を入れて検索します。
検索結果のページから「HP ProLiant ML115 G5」をクリックして、次のページで「ドライバ&ダウンロード」をクリックします。次は「Red Hat Enterprise Linux 5 Server (x86-64)」をクリックしましょう。
そこまでいくと、ドライバ等の一覧のページが表示されるはずなので、そこで「HPアレイ コンフィギュレーション ユーティリティCLI for Linux」をダウンロードします。ダウンロードしたファイルは「hpacucli-8.10-2.noarch.rpm」のはずです。
まずは、これをサーバ上でインストールしましょう。
- #
rpm -ivh hpacucli-8.10-2.noarch.rpm
パッケージが足りないよ、とエラーが表示される場合は、yumなどでインストールしておきましょう。よくわからないパッケージの場合は、
- #
yum install compat-libstdc++-*
とすれば、大抵の場合は大丈夫だと思います。
次に、snmpの拡張等を行うパッケージをダウンロードするのですが、先ほどの一覧ページには表示されていません。本来はサポートされないと思うのですが、ML350など他のハードウェア用のRPMをインストールして使用してもおそらく問題ないと思うので、今回はその方法をとります。
hpasmのインストール
そこで、サポートページから今度は「ML350」を検索します。
「HP ProLiant ML350 G5 5120 1.86GHz SAS タワー型サーバー」→「ドライバ&ダウンロード」→「Red Hat Enterprise Linux 5 Server (x86-64)」と選択していけば、一覧ページに行き着くはずです。
「HPシステム ヘルス アプリケーションおよびInsightマネジメントエージェント for Red Hat Enterprise Linux 5(AMD64/EM64T)」を選択してダウンロードします。「hpasm-8.0.0-173.rhel5.x86_64.rpm」というファイルがダウンロードできるはずです。
こちらもhpacucliと同様にインストールします。
- #
rpm -ivh hpasm-8.0.0-173.rhel5.x86_64.rpm
これでインストール自体は完了ですが、以下のコマンドで設定をする必要があります。
- #
hpasm activate
SNMPの設定だけすれば、それ以外の場合については基本的に気にしなくても大丈夫だと思います。
SNMPの設定がうまくいっていれば、 /etc/snmp/snmpd.conf の先頭部分に以下のように追加されていると思います。
- #
Following entries were added by HP Insight Management Agents at - #
Thu Feb 5 07:16:10 JST 2009 - dlmod
cmaX /usr/lib64/libcmaX64.so - rwcommunity
private 127.0.0.1 - rocommunity
public 127.0.0.1 - #
---------------------- END --------------------
あとは、snmpdを再起動して、RAIDの状態を取得するだけです。SmartアレイのRAIDの情報は以下のようにMIBを指定して取得できます。
$ snmpwalk -v1 -c public localhost 1.3.6.1.4.1.232.3.2.3.1.1.4
SNMPv2-SMI::enterprises.232.3.2.3.1.1.4.3.1 = INTEGER: 2
ここで、1.3.6.1.4.1.232.3.2.3.1.1.4 がRAIDの状態を表しているのですが、INTEGER: 2 の意味を知る必要が当然あります。ハードディスクの障害などでRAIDが壊れているときは、この値が変化します。
個々の値については、/opt/hp/hpsmh/data/htdocs/hmastor/daenums.js.ja や /opt/hp/hpsmh/data/htdocs/hmastor/daenums.js.en の cpqDaLogDrvStatus を見るとわかります。以下のようになっているはずです。
- enumerat['cpqDaLogDrvStatus']=new
Array; - enumerat['cpqDaLogDrvStatus'][1]='不明';
- enumerat['cpqDaLogDrvStatus'][2]='OK';
- enumerat['cpqDaLogDrvStatus'][3]='障害';
- enumerat['cpqDaLogDrvStatus'][4]='未設定';
- enumerat['cpqDaLogDrvStatus'][5]='暫定復旧中';
- enumerat['cpqDaLogDrvStatus'][6]='再構築待機中';
- enumerat['cpqDaLogDrvStatus'][7]='再構築中';
- enumerat['cpqDaLogDrvStatus'][8]='間違ったドライブ';
- enumerat['cpqDaLogDrvStatus'][9]='接続不良';
- enumerat['cpqDaLogDrvStatus'][10]='オーバーヒート';
- enumerat['cpqDaLogDrvStatus'][11]='シャットダウン';
- enumerat['cpqDaLogDrvStatus'][12]='拡張中';
- enumerat['cpqDaLogDrvStatus'][13]='利用不可';
- enumerat['cpqDaLogDrvStatus'][14]='拡張待機中';
- enumerat['cpqDaLogDrvStatus'][15]='マルチパス
アクセス劣化';
これで、値が 2 の場合は OK でそれ以外の場合は問題がありそうだ、ということがわかります。
この値を外部からたとえば、nagios などで調べるプラグインを作ったりすると、RAIDの状態監視もきちんとできることができます。
また、外部からではなく内部から監視する場合、以下のコマンドでわかります。
- $
hpacucli ctrl all show config - Smart
Array E200 in Slot 3 (sn: PA6C90P9SWR50O) array A (SATA, Unused Space: 0 MB) logicaldrive 1 (447.1 GB, RAID 5, OK) physicaldrive 1I:0:1 (port 1I:box 0:bay 1, SATA, 160.0 GB, OK) physicaldrive 1I:0:2 (port 1I:box 0:bay 2, SATA, 160.0 GB, OK) physicaldrive 1I:0:3 (port 1I:box 0:bay 3, SATA, 160.0 GB, OK) physicaldrive 1I:0:4 (port 1I:box 0:bay 4, SATA, 160.0 GB, OK)
この結果を見て、問題を発見することもできます。
ハードウェアRAIDの状態監視をしていない方は、ぜひチャレンジしてみてください。
コメントフォーム
トラックバック
最近の記事
- もうすぐ健康診断があるんだ・・・ [2010年09月02日 : 阿部恵]
- Photoshopで壁紙を作りながら、基本的な使い方を覚える [2010年09月01日 : 鴨田健次]
- はじめての共同作業 Canvas編 (node.js + websocket) [2010年09月01日 : 中川善樹]
- 「PHP×Flex(後編)」PHPテクニカルセミナー(無料)第4弾の募集を開始しました!! [2010年08月26日 : 和田記光]
- 【HTML5】Canvasでお絵かきしてみた(前編) [2010年08月25日 : 橋本章史]
- MacにgroongaのMySQL用ストレージエンジン [2010年08月23日 : 笹亀弘]
- Appleのサイトで見たiPhone4をFireworksで描いてみました-1/2 [2010年08月19日 : 和田記光]
- iPad版の会社紹介を作ってみました [2010年08月19日 : 小林有佳]
- iPhoneアプリ開発開始時に気をつけるべきファイルの取り扱い (2) [2010年08月19日 : 亀本大地]
- symfonyセミナー動画無料公開! [2010年08月13日 : 岡本雄樹]



最近のコメント