[storcli] storcliでよく使うコマンド – 備忘録の覚書

[storcli] storcliでよく使うコマンド – 備忘録の覚書

概容

物理サーバを管理している際にどうしても切っては切れない関係となってしまうDisk故障。
RAIDを組んでるとは言え、完全に壊れる前にDiskを交換するなどして安全に対処しておきたい。
そんな時に故障予兆を把握することもできるRAIDカードの管理ユーティリティーツールであるstorcliをお勉強したのでそのメモ

余談ですが、storcliってMegaCLIの後継なんですね。

障害予兆や障害調査ではiLOやiRMC,iDracなどIPMIのWEB-GUIでしか確認をしてした事が無かった似非エンジニアなので、ちょっと新鮮でした。

以下のリファレンスが分かりやすかったですん
[参考資料]
StorCLI_RefMan_revf  

前提情報

/call/eall/sall などと列挙されるがそれぞれ

/call : シャーシ  /eall : エンクロイージャ  /sall : スロット番号  

  大体のサーバ機器の場合、シャーシとエンクロージャーは1個づつであることが多いですが
まぁ 機器によるので注意すること

DiskのFirmware stateは以下のものがある

Critical : SMARTの値が閾値を超えている状態。障害予兆みたいなもん diskをofflineにしてから交換する。  Failed  : 故障しているため、データの読み書きを禁止されている状態。  Unconfigure Bad  : 故障してDiskがRAIDコントローラから外れた状態。   Unconfigure Good : RAIDコントローラから外れているが正常なDiskだと思われる。 rebuildすると直る気がする  Online : 正常動作中のDisk。うん。  Offline : コマンドにより意図的にoffline にされている。復帰にはrebuildが必要。  Rebuild : リビルド中  

   

情報参照

■ サマリ情報を表示する  # storcli /call show    ■ ディスクグループ情報を表示する   # storcli /call/dall show    ■ バーチャルディスク(VD)情報を一覧表示する  # storcli /call/vall show    ■ ドライブ情報(Diskごとの情報)を表示する  # storcli /call/eall/sall show    ■ ドライブごとの詳細情報を表示する  # storcli /call/eall/sall show all    ■ ログ情報確認  ※ MR_MONITORに関するログをmessagesから抜き出す  # zfgrep --no-filename MR_MONITOR `ls -rt /var/log/messages* | tail -2  

     

Disk交換 1パターン目

大体の場合、エラーのでているdiskを missing or offline にしてから HDDを物理交換し、その後 insertする流れである。
 
まずは、上記の情報参照コマンドでTOPOLOGYより、対象となるdiskのシャーシ・エンクロージャー・ドライブ番号を確認する。

# storcli /call/dall show  

VDがデグレートしている事を確認

# storcli /call/vall show  
  ■set missing  # storcli /call/eEID/sSLOT set missing    ■storcli /call/eEID/sSLOT insert dg=DG array=Arr row=Row   ※ missing と識別された構成済みのドライブを置き換え、自動再構築を開始します    ■ リビルド状況を一覧で表示  # storcli /call/eall/sall show rebuild    

     

DIsk交換 2パターン目

  まずは、上記の情報参照コマンドでTOPOLOGYより、シャーシ・エンクロージャー・ドライブ番号を確認する。

# storcli /call/dall show  

VDがデグレートしている事を確認

# storcli /call/vall show  
  ■ set offline  # storcli /call/eEID/sSLOT set offline    ■ 手動でリビルド開始  # storcli /call/eEID/sSLOT start rebuild    ■ リビルド停止  # storcli /call/eEID/sSLOT stop rebuild    ■ リビルド一時停止  # storcli /call/eEID/sSLOT pause rebuild    ■ リビルド再開  # storcli /call/eEID/sSLOT resume rebuild    ■ リビルド状況を一覧で表示  # storcli /call/eall/sall show rebuild