金曜日 3 16, 2007

Linux 用 RAID 管理コマンド lsiutil

X2100M2 用 HBA RAID カードを Linux で使用する際に、 lsiutil コマンドによって、 CLI でディスクのステータスやリシンクの状況を確認する方法をご紹介します。

X2100M2 には元々オンボードに、Windows で使用できる 内蔵 HDD RAID 機能が備わっています (NVIDIA MCP55Pro チップで実装)。
これとは別に、オプション(別売り)の PCI-express カード 「PCI-E 4ポート SAS ホストバスアダプタ (型番:SG-XPCIE4SAS-Z)」 があり、これを挿すと、X2100M2 でも Solaris/Linux/Windows 全ての OS で 内蔵 HDD H/W RAID を 使用する事ができます(LSI-Logic LSI1064 チップで実装)。

Solaris 環境では、この HBA RAID カード配下の RAID は、raidctl(1M) コマンドを使って CLI で RAID 管理ができます。
Linux 環境では、LSI Logic から RAID 管理ツールとして提供されている、 MyStorage (GUI) と lsiutil (CLI) があります。

lsiutil は LSI Logic 提供のドライバソフトに同梱されていて、 以下のように、ソースから make する必要があります。

SG-XPCIE4SAS-Z


まず、LSI Logic のページからドライバダウンロードします。
http://www.lsi.com/files/support/ssp/fusionmpt/sas/linux/linuxmpt_26K_3028305.zip

展開し、その中の該当する OS バージョンの RPM をインストールします。
$ rpm -ihv ./rpms-1/mptlinux-3.02.83.05-1-rhel4.x86_64.rpm

ドライバがインストールされ、同時にドライバと lsiutil のソースも入ります。
/usr/src/redhat/SOURCES/mptlinux-3.02.83.05-src.tar.gz

ドライバを有効にするため、reboot したのち、 lsiutil のソースを展開し、make します。
$ tar zxfv mptlinux-3.02.83.05-src.tar.gz
$ cd message/fusion/
$ tar zxfv lsiutil.tar.gz
$ cd lsiutil/
$ make
$ ./lsiutil -help

これで、lsiutil コマンドが作成できました。
残念ながら、lsiutil は対話形式の CLI ツールなのですが、 メニュー番号を標準入力から渡す事で、対話無しでステータス取得できます。
  • "[21]RAID actions" -> "[1]Show volumes" を行う場合
    $ (echo 21; echo 1) | ./lsiutil -p 1
    ...
    ... (中略、対話メニューの選択肢が表示されています)
    ...
    1 volume is active, 2 physical disks are active
    
    Volume 0 is Bus 0 Target 0, Type IM (Integrated Mirroring)
      Volume State:  optimal, enabled
      Volume Settings:  write caching disabled, auto configure
      Volume draws from Hot Spare Pools:  0
      Volume Size 237464 MB, Stripe Size 0 KB, 2 Members
      Primary is PhysDisk 1 (Bus 0 Target 1)
      Secondary is PhysDisk 0 (Bus 0 Target 4)
    

  • "[21]RAID actions" -> "[2]Show physical disks" を行う場合
    $ (echo 21; echo 2) | ./lsiutil -p 1
    ... (中略)
    ...
    1 volume is active, 2 physical disks are active
    
    PhysDisk 0 is Bus 0 Target 4
      PhysDisk State:  online
      PhysDisk Size 238471 MB, Inquiry Data:  ATA      HITACHI HDS7225S A9CA
    
    PhysDisk 1 is Bus 0 Target 1
      PhysDisk State:  online
      PhysDisk Size 238471 MB, Inquiry Data:  ATA      HITACHI HDS7225S A9CA
    

この方法で、故障時やリシンク時のステータス表示できます。 ディスクを物理的に引き抜いた際は、
$ (echo 21; echo 1) | ./lsiutil -p 1
...
  Volume State:  degraded, enabled
...

ディスクを差し直した際は、
$ (echo 21; echo 1) | ./lsiutil -p 1
...
  Volume State:  degraded, enabled, resync in progress
...

このとき、resync の進行状況(%表示)も取得できました。
$ ( echo 21 ; echo 3 ; echo 0 ) | ./lsiutil -p 1
...
Volume 0 State:  degraded, enabled, resync in progress
Resync Progress:  total blocks 486326272, blocks remaining 459022392, 94%

GUI を使わずに比較的簡単にステータス取得できました。
(対話有り・対話無しで)実際に操作すると、さらによく動きが分かると思います。

サーバマシンでは、X を使用せずに運用する環境も少なくありません。 GUI の MyStorage ツールは、そのインストール時から X を必要とするので、 そのような環境には向きません。 こういった場合に、lsiutil コマンドが威力を発揮するはずです。
About

Search

Archives
« 4月 2014
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
今日