DELLサーバー RAIDカードSAS6iR

 バックアップサーバで使用しているDELLT105には、RAIDカードSAS6iRが搭載し、RAID1構成で運用している。ところが、現在のRAIDの状態が正常か見ようと、”mpt-status”を実行したが、mpt-statusが無い!!調べたところ使用OS、CentOS5では未導入らしい。そこで手動でインストールしてみた。その手順です。
1.カーネルのソースが無い場合、インストールする

  # adduser -d /home/mockbuild mockbuild
  # rpm -ivh kernel-2.6.18-92.1.6.el5.src.rpm
  # rpmbuild -bp --target=$(uname -m) /usr/src/redhat/SPECS/kernel-2.6.spec
  ※このとき、/usr/src/redhat/SOURCESに多くのファイルが存在するので削除しましょう

2.mpt-statusのコンパイル

  # tar zxvf mpt-status-1.2.0.tar.gz
  # vi Makefile
      CFLAGS          := -Iincl -Wall -W -O2 \
                        -I${KERNEL_PATH}/drivers/message/fusion \
                        -I${KERNEL_PATH}/include
  # make KERNEL_PATH=/usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.i686
  # make install
   install -D -s -o root -g root -m 0500 mpt-status /usr/sbin

3./dev/mptctlが無い場合の設定

  # lsmod | grep mpt
  mptsas                 37577  5
  mptscsih               36929  1 mptsas
  mptbase                75877  2 mptsas,mptscsih
  scsi_transport_sas     30529  1 mptsas
  scsi_mod              134605  7 sr_mod,sg,libata,mptsas,mptscsih,scsi_transport_sas,sd_mod

  # modprobe mptctl
  # lsmod | grep mpt
  mptctl                 31685  0
  mptsas                 37577  5
  mptscsih               36929  1 mptsas
  mptbase                75877  3 mptctl,mptsas,mptscsih
  scsi_transport_sas     30529  1 mptsas
  scsi_mod              134605  8 mptctl,sr_mod,sg,libata,mptsas,mptscsih,scsi_transport_sas,sd_mod

4.動作確認

  # mpt-status
  ioc0 vol_id 0 type IM, 2 phy, 697 GB, state OPTIMAL, flags ENABLED
  ioc0 phy 1 scsi_id 8 ATA      ST3750330NS      SN04, 698 GB, state ONLINE, flags NONE
  ioc0 phy 0 scsi_id 1 ATA      ST3750330NS      SN04, 698 GB, state ONLINE, flags NONE
  # mpt-status -n -s
  vol_id:0 OPTIMAL
  phys_id:1 ONLINE
  phys_id:0 ONLINE
  scsi_id:1 100%
  scsi_id:0 100%

 これで終了。