本文へジャンプ

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む


お客様が developerWorks に初めてサインインすると、プロフィールが作成されます。プロフィールで選択した情報は公開されますが、いつでもその情報を編集できます。お客様の姓名(非表示設定にしていない限り)とディスプレイ・ネームは、投稿するコンテンツと一緒に表示されます。

送信されたすべての情報は安全です。

  • 閉じる [x]

developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む


送信されたすべての情報は安全です。

  • 閉じる [x]

障害発生時の金科玉条 第4回 ハードウェアかOSか、それが問題だ

ハードウェアRAIDを監視する

秋田 英行, 日本アイ・ビー・エム
秋田英行(日本アイ・ビー・エム)

概要: 障害発生時にPDに必要なハードウェア関連情報の収集方法を解説する本稿。今回は、ハードウェアRAIDの監視について解説します。

日付:  2007年 4月 20日
レベル:  初級
アクティビティー: 4618 ビュー
お気軽にご意見・ご感想をお寄せください: 


ハードウェアRAIDを監視する

トラブルの原因がハードウェアにあるのか、それともOSにあるのか見分けがつかないケースを想定し、そのような状況で何を手がかりにPDを進めれば良いのかを前回は解説しました。今回は、前回解説できなかったハードウェアRAIDの監視について触れていきます。はじめに記しておきますが、Linuxにはカーネルの機能としてソフトウェアRAIDが実装されています。これを利用してRAIDを構築しているケースもあると思いますが、サーバ環境で信頼性を求める場合には利用を控えることをお勧めします。なぜなら、わたしが関わっているビジネス環境でまともに機能しているケースが少ないからです。いえ、まともに機能している例はない、といっても過言ではないでしょう。ソフトウェアRAIDを採用したケースでは、主に次のような問題を引き起こす場合があります。

  • Arrayメンバー交換後のリシンク*中にアプリケーションI/Oエラーが発生する
  • OS領域(/、MBR*含む)をArray構成とした場合、リシンク中のOSダウンによってOS領域やMBRが破壊される
  • バッテリーバックアップがないため、OSダウン時にArrayの不整合やデータ破壊が発生する

もちろん、これらの再現性は使用環境によって左右されますが、ソフトウェアRAIDならではの問題であるため現時点では回避のしようがなく、特に負荷が高くなった状態では前記のような問題が起こりやすくなります。このため、安定性重視のビジネス環境ではハードウェアRAIDを採用するのが常識となっています。なお、リシンク中のI/OエラーはハードウェアRAIDでも起こり得る問題ですが、ハードウェアRAIDのコントローラーは保守を考慮し、リシンク状態でも最低限のI/O保証がされているのが通常です。逆に言うと、リシンク状態でI/Oエラーを返してしまうようなRAIDコントローラーは採用すべきではありません。

ハードウェアRAIDの管理/監視ツール

ハードウェアRAIDはベースボードやRAIDカード、外部ストレージ装置などに搭載されているRAIDコントローラーによってRAID Arrayを制御し管理しています。ハードウェアRAIDを監視するには、RAIDコントローラーのデバイスドライバから通知されるメッセージを利用するほか、専用の管理ツールも利用できます。Linuxで利用できるRAIDコントローラーは多く存在しますが、例えばIBM eServer xSeriesで採用されているServeRAIDコントローラーでは、タイプに応じた管理マネジャーや管理コマンドが用意されています。このようなツールを利用してハードウェアRAIDを管理/監視していくのです。

ServeRAIDコントローラー向けの管理マネジャーとしては、表1のようなServeRAIDマネジャーと呼ばれるGUIツールが用意されています。ServeRAIDマネジャーではRAIDコントローラーや論理ドライブ、ディスクなどの状態が目視できるようになっており、監視以外にも設定や保守がGUIを通して行えます(図1)。


表1. ServeRAIDマネジャー対応表
RAIDマネージャServeRAID-7e(Adaptec HostRAID)Support CDServeRAID Support CD 7.10BServeRAID Support CD 8.00B
バージョン1.01.047.10.188.00
対応コントローラServeRAID-7eのみServeRAID-7eおよびそのほかすべてのServeRAIDシリーズServeRAID-8iおよびServeRAID 7t
ドライバaarich(SATA HostRAID用)
a320raid(SCSI HostRAID用)
aacraid(SATA用)
ips(SCSI用)
aacraid(SAS用)
URLhttp://www.ibm.com/systems/support/supportsite.wss/docdisplay?lndocid=SERV-RAID&brandind=5000019(2009年6月23日現在)

図1 ServeRAIDマネジャーGUI

拡大図

また、各ServeRAIDごとに、コマンドユーティリティも用意されており、ServeRAIDマネジャーがなくともコマンドラインからRAIDコントローラーの状態を確認できます。これらコマンドユーティリティは、それぞれのServeRAIDサポートCDに同梱されています(表2)。


表2 ServeRAIDコマンドユーティリティ対応表
ServeRAIDコントローラデバイスドライバ対応コマンドユーティリティ
ServeRAID 3、4、5、6、7kips.oipssend
ServeRAID 7e(Adaptec AIC7902、HostRAID)a320raid.o(SCSI)
aarich.o(SATA)
hrconf
ServeRAID 7taacraid.oaaccli
ServeRAID 7e(Adaptec AIC9410)aacraid.o(SAS)arcconf

ハードウェアRAIDの障害例

例えば、ipssendによって実行例1のような情報が得られた場合、次のような判断が行えます。


実行例1 ipssend実行例
                
# ipssend
  :
  :
----------------------------------------------------------------------
Logical drive information
----------------------------------------------------------------------
Logical drive number 1
 Status of logical drive    : Critical(CRT)    ←障害が発生
RAID level                  : 1
 Size (in MB)               : 34715
 Write cache status         : Write back(WB)
 Number of chunks           : 2
 Stripe-unit size           : 8 KB
 Access blocked             : No
 Part of Array              : A

Array A stripe order (Channel/SCSI ID) : 2,0 2,1
----------------------------------------------------------------------
Physical device information
----------------------------------------------------------------------
   Channel #1:
    Initiator at SCSI ID 7
   Channel #2:
    Initiator at SCSI ID 7
    Target on SCSI ID 0
      Device is a Hard disk
      SCSI ID                   : 0
      PFA (Yes/No)              : No
      State                     : Online(ONL)
      Size (in MB)/(in sectors) :34715/71096368
      Device ID                 :IBM-ESXSST336753B8553HX0N8RK
      FRU part number           :32P0736
    Target on SCSI ID 1
      Device is a Hard disk
      SCSI ID                   : 1
      PFA (Yes/No)              : No
      State                     : Defunct disk drive(DDD)    ←障害が発生
      Size (in MB)/(in sectors) :34715/71096368
      Device ID                 :IBM-ESXSDTN036C3S29CE3W2ZJPD
      FRU part number           :32P0729
  :
  :

まず「Status of logical drive」が「Critical(CRT)」となっているため、障害が発生していることが分かります。次に「Target on SCSI ID 1」の「State」が「Defunct disk drive(DDD)」となっていることから、SCSI IDが1のHDDに障害があることが分かるのです。

また、この「State」フィールドが「Rebuild(RBL)」となっている場合は、Arrayがリシンク状態となっています。保守の際に多く見受けられますが、I/Oのパフォーマンス低下はこの状態に起因している場合があるため確認を行います。

そのほかのServeRAIDコマンドユーティリティであるhrconf、aaccli、arcconfはコマンド名こそ違うものの出力するステータスはipssendと同等のため、ServeRAIDのタイプが違っていても管理方法はほぼ同一となります。

このように、ハードウェアRAIDにおいて問題が起こった場合でも、RAIDコントローラーに対応したツールが用意されていれば状態を確認できるのです。また、デバイスドライバについても、RAIDコントローラーの制御状況やエラーなどが詳細にメッセージ出力されるように実装されていれば、ログを通じてRAIDの詳細な情報を確認できます。しかし、Array内の状態をまめにメッセージ出力してくれるドライバは少ないのが現状です。RAIDコントローラーの採用には、このようなツールの存在を確認しておくことも重要なことなのです。


まとめ

前回から2回にわたってOSとハードウェアの関係に注目し、PDに利用できるハードウェア機能に関して記させていただきました。なぜなら、ときにOS側からの視点だけでは解明が進められない問題というのが発生するからです。例えば、httpdやJava、Samba、NFSなどの挙動に関する現象であれば、OSを含めたソフトウェア的な要因が原因だろう、と想像がつきます。しかし、I/O関連のエラーや遅延、システムフリーズ、パニックといった現象では、ハードウェア的な要因が潜んでいるケースも多々あり、Linuxのログだけではその影すら映らないことがあるのが現実です。

今回述べた機能は特定のハードウェアに特化したものではありますが、どのハードウェアでも独自の管理機能を持っているはずです。もし、ハードウェアかOSか見分けがつかない問題に遭遇しても、OSとハードウェアの双方からアプローチすることを忘れずにPDに挑めば必ず活路は開けるということを述べて締めくくりましょう。

次回はPD toolsと題して、LinuxでPDに利用できるツールの紹介と、それらを利用してカーネルによるプロセスの制御状態を把握し、PDを行う方法について述べていきます。


コラム:システム管理インタフェース「IPMI」

IPMIはハードウェア管理を容易にするために作られたオープンなインタフェースです。その仕様は1998年にDell、HP、インテル、NECらによって策定が開始され、同年にバージョン1.0が発表されました。

バージョン1.0以降ではサーバプラットフォームの管理機能に比重が置かれ、バージョン1.5ではリモート管理機能やシステムエラーの自動通知機能、最新のバージョン2.0ではSOL(Serial Over LAN)機能やセキュリティ機能強化、VLANサポートなどが追加されています。実装に関しては現在バージョン1.5が多く用いられていますが、IPMIの標準化とアップデートが進むにつれて実装レベルも上がっていくことでしょう。

IPMIのハードウェア実装では、ベースボードに搭載されているデバイスに対してはBMCとそのデバイスや搭載されたセンサーが直接通信することで監視を行います。さらに、ベースボード直下ではないデバイス、例えば接続されているRAIDカードやシステム管理アダプタなどが取得したデバイス状況についても、IPMB(Intelligent Platform Management Bus)と呼ばれる管理ハードウェア用の内部バス経由でIPMI通信を行うことで監視できます。

また、取得されたSDR(Sensor Data Record、センサー情報)やSEL(System Event Log、イベントログ)、FRU(Field Replaceble Unit、保守交換可能ユニットの情報)などのステータスはNVストアと呼ばれる不揮発メモリに保持されますが、外部からLANやシリアルポート経由でこれらのステータスを取得する際もIMPIが使用されるのです。


このページで出てきた専門用語

リシンク
RAIDを構成するHDDを交換した際などに、交換したHDD内にデータを書き戻してRAIDを交換前の状態まで復元する作業。
MBR
Master Boot Record。HDDの先頭セクターのこと。ブートローダーが格納されているほか、HDDのパーティーションテーブルなどが書き込まれています。

参考文献

著者について

秋田英行(日本アイ・ビー・エム)

不正使用の報告のヘルプ

不正使用の報告

ありがとうございます。 このエントリーは、モデレーターの注目フラグが設定されました。


不正使用の報告のヘルプ

不正使用の報告

不正使用の報告の送信に失敗しました。


developerWorks: サイン・イン


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 利用条件

 


お客様が developerWorks に初めてサインインすると、プロフィールが作成されます。 プロフィールで選択した情報は公開されますが、いつでもその情報を編集できます。 お客様の姓名(非表示設定にしていない限り)とディスプレイ・ネームは、投稿するコンテンツと一緒に表示されます。

表示名をお選びください

developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

(半角英数字で3文字以上31文字以下にする必要があります)


「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 利用条件

 


この記事を評価する

コメント

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Linux
ArticleID=246062
ArticleTitle=障害発生時の金科玉条 第4回 ハードウェアかOSか、それが問題だ
publish-date=04202007
author1-email=DEVWORKS@jp.ibm.com
author1-email-cc=

タグ

Help
このタグで、My developerWorks のすべてのタイプのコンテンツを見つけるために検索フィールドを使用します。

スライダーバーを使用することで、より多く(少なく)タグを表示します。

人気のタグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するトップのタグを表示します。

マイ・タグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するお客様ご自身のタグを表示します。

このタグで、My developerWorks のすべてのタイプのコンテンツを見つけるために検索フィールドを使用します。人気のタグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するトップのタグを表示します。マイ・タグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するお客様ご自身のタグを表示します。