Jump to content 日本-日本語
製品  >  ソフトウェア  >  Linux

MSA500G2用 multipathモジュール利用方法 - mdadm版

Open Source & Linux

導入事例

product

ハードウェア
ソフトウェア
サービス & サポート

buy now?

HPE OPEN SERVICES
保守サービス
教育プログラム

support

OS対応表
ProLiant
Workstation
システム構成図
技術文書
FAQ
ディストリ対応表
サポート & ドライバ
リンク
SDR - 設定方法
FreeBSD
サイトマップ
HPE & Red Hat情報ポータル HPEとRed Hatが実現するオープンなイノベーション
BSD 動作確認レポート等を掲載
コンテンツに進む
19-DEC-05, revised 13-DEC-07

multipathモジュールについて

 本機を用いて、SCSI経路の二重化を行うには、Linux kernelが標準装備する multipath機能を利用します。multipath機能を利用した場合のデバイスファイル名は /dev/mdXとなります。
 
 このため Linuxのインストール先は ProLiantのローカルストレージ上にする必要があり、MSA500G2上の/dev/mdXデバイスはデータディスクとして利用します。
 
 LifeKeeper v5.0では Software RAID Recovery Kitを利用する事で /dev/mdXの利用が可能になりましたが、 multipathは利用できません(v6.0も同様で、将来も予定なし)ので、予めご注意ください。
 
 本書は mdadmを利用しての multipath環境の設定方法を説明いたします。

 Red Hat Enterprise Linux 3でも mdadmコマンドが含まれまていますが、こちらで multipath設定を行った場合、片方の SCSI経路が spareに設定されてしまう現象が見つかっています(U7迄確認)。Red Hat Enterprise Linux 3で multipathの設定を行う場合はサイト内リンクこちらのページ(MSA500/G2用 multipathモジュール利用方法 - mkraid版)を参照し mkraidコマンドにて設定を行ってください。

対象となる構成

  • MSA500G2
  • Red Hat Enterprise Linux 4
  • SUSE Linux Enterprise Server 9

ファームウェアとドライバの更新

 MSA500G2のファームウェアを最新のものにしてください。詳細はサイト内リンクMSA500G2 Downloadables(US)をご覧ください。
 
 SmartArray用ドライバ(cciss.o)を最新のものに更新してください。詳細はサイト内リンクSmartArrayについての技術情報をご覧ください。

multipath 構成時の注意

 MSA500G2へアクセスする HBAをデフォルトアクセスするコントローラとして設定してください。本書でとりあげている DL380G4の場合、正常稼動のときに、増設側の SA642がデフォルトでアクセスに利用されるようにしてください。もし、内蔵側の SA6iをデフォルトに設定した場合、リダンダント側の SCSIケーブルが先に障害を起こした場合の障害通知がされません。

 今回の構成では以下のように設定すると、 SA6iがデフォルトに設定されます。具体的には本書の例では下記のコマンドが相当します。  
mdadm -C /dev/md0 -l multipath -n2 /dev/cciss/c0d1p1 /dev/cciss/c1d0p1
(リダンダント障害通知付加)

 以降、本文書では増設側のSA642をデフォルトに設定するものとして説明をします。

ターゲットディスクの確認

 /proc/driver/cciss/cciss0 と cciss1 を確認し、multipath で利用する MSA500G2 の共有ディスクを決定します。
 以下の例では MSA500G2 上の共有ディスクを cciss0(DL380G4のSA6i) 側から見た場合は /dev/cciss/c0d1p1に cciss1(増設SA642)から見た場合、/dev/cciss/c1d0p1 になっています。

* 同じディスクを cciss0 から確認する場合と cciss1 から確認する場合で、/dev/cciss/ 配下の見え方が変わるので注意してください。

#cat /proc/driver/cciss/cciss0
cciss0: HP Smart Array 6i Controller
Board ID: 0x40910e11
Firmware Version: 2.76
IRQ: 217
Logical drives: 2
Sector size: 2048
Current Q depth: 0
Current # commands on controller: 0
Max Q depth since init: 4
Max # commands on controller since init: 124
Max SG entries since init: 31
Sequential access devices: 0

cciss/c0d0:   18.20GB   RAID 1(1+0)
cciss/c0d1:   18.20GB   RAID 1(1+0)
[root@localhost ~]# cat /proc/driver/cciss/cciss1
cciss1: HP Smart Array 642 Controller
Board ID: 0x409b0e11
Firmware Version: 2.68
IRQ: 225
Logical drives: 1
Sector size: 2048
Current Q depth: 0
Current # commands on controller: 0
Max Q depth since init: 4
Max # commands on controller since init: 22
Max SG entries since init: 14
Sequential access devices: 0

cciss/c1d0:   18.20GB    RAID 1(1+0)

multipath環境の構築

 以下の例は c0d1p1(c1d0p1) に対して multipath を構築する場合です。ハード構成に合わせて、適切に読み替えてください。
# mdadm -C /dev/md0 -l multipath -n2 /dev/cciss/c1d0p1 /dev/cciss/c0d1p1
mdadm: /dev/cciss/c1d0p1 appears to be part of a raid array:
  level=-4 devices=2 ctime=Thu Nov 29 18:04:01 2007
mdadm: /dev/cciss/c0d1p1 appears to be part of a raid array:
  level=-4 devices=2 ctime=Thu Nov 29 18:04:01 2007
Continue creating array? y
mdadm: array /dev/md0 started.
# mkfs -t ext3 -j /dev/md0
mke2fs 1.35 (28-Feb-2004)
Filesystem label=
Block size=4096 (log=2)
Fragment size=4096 (log=2)
2223872 inodes, 4445136 blocks
222256 blocks (5.00%) reserved for the super user
Maximum filesystem blocks=8388608
136 block groups
32768 blocks per group, 32768 fragments per group
16352 inodes per group
Superblock backups stored on blocks:

32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000

Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 21 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@dl380g4 ~]# mkdir /work01
[root@dl380g4 ~]# mount -t ext3 /dev/md0 /work01
[root@dl380g4 ~]# df

Filesystem    1K-ブロック   使用   使用可   使用%  マウント位置
/dev/cciss/c0d0p2
         15116868    2785036  11563928   20%  /
/dev/cciss/c0d0p1  101086     12129   83738   13%  /boot
none        2563448       0  2563448    0%  /dev/shm
/dev/md0          17501340         77888  16534428    1%   /work01

# echo 'DEVICE /dev/cciss/c1d0p1 /dev/cciss/c0d1p1' > /etc/mdadm.conf
# mdadm -Es -c /etc/mdadm.conf >> /etc/mdadm.conf
# cat /etc/mdadm.conf
DEVICE /dev/cciss/c1d0p1 /dev/cciss/c0d1p1
ARRAY /dev/md0 level=multipath num-devices=2 UUID=671cdc4f:151c6bc3:d6b923d1:8160b6b0
  devices=/dev/cciss/c1d0p1,/dev/cciss/c0d1p1

   

ステータス確認

  • 正常稼動時
  • # mdadm --query --detail /dev/md0
    /dev/md0:
        Version : 00.90.01
     Creation Time : Thu Nov 29 19:02:21 2007
       Raid Level : multipath
         Array Size : 17780544 (16.96 GiB 18.21 GB)
       Raid Devices : 2
      Total Devices : 2
    Preferred Minor : 0
        Persistence : Superblock is persistent

        Update Time : Thu Nov 29 19:13:03 2007
              State : clean
     Active Devices : 2
    Working Devices : 2
     Failed Devices : 0
     Spare Devices : 0

      Number  Major  Minor  RaidDevice State
       0    105    1     0    active sync  /dev/cciss/c1d0p1
       1    104   17     1    active sync  /dev/cciss/c0d1p1
          UUID : 671cdc4f:151c6bc3:d6b923d1:8160b6b0
         Events : 0.2


  • フェールオーバー発生時
  •    障害時には、mdadmコマンド、/var/log/messages、SMHで確認できます。
      ただし、/dev/md0がマウントされていない場合は、マウントされるまで検知されません。

    # mdadm --query --detail /dev/md0
    /dev/md0:
         Version : 00.90.01
      Creation Time : Thu Nov 29 19:02:21 2007
        Raid Level : multipath
        Array Size : 17780544 (16.96 GiB 18.21 GB)
       Raid Devices : 2
       Total Devices : 2
     Preferred Minor : 0
         Persistence : Superblock is persistent

         Update Time : Thu Nov 29 19:19:48 2007
               State : clean, degraded
      Active Devices : 1
     Working Devices : 1
      Failed Devices : 1
       Spare Devices : 0

       Number  Major  Minor  RaidDevice State
          0     0     0       -1      removed
             1     104       17        1      active sync    /dev/cciss/c0d1p1
             2     105        1       -1      faulty         /dev/cciss/c1d0p1
                UUID : 671cdc4f:151c6bc3:d6b923d1:8160b6b0
              Events : 0.2


    /var/log/messagesの出力(但し、利用する ccissのドライバーのバージョン等によって表示される情報量は異なります)

    kernel: cciss1: cmd timedout
    kernel: queue:0
    kernel: sglist:1
    kernel: sgtot:1
    kernel: Tag:0x00000000/0x00000004
    kernel: LUN:0x0000014000000000
    kernel: CDBLen:10
    kernel: Type:0
    kernel: Attr:4
    kernel:  Dir:1
    kernel: Timeout:0
    kernel: CDB: 2a 00 00 00 30 70 00 00 08 00 00 00 00 00 00 00
    kernel: edesc.Addr: 0x00000000/0372b0000, Len = 48
    kernel: sgs..........Errorinfo:
    kernel: scsistatus:0
    kernel: senselen:0
    kernel: cmd status:11
    kernel: resid cnt:12
    kernel: offense size:0
    kernel: offense byte:0
    kernel: offense value:11
    kernel: end_request: I/O error, dev cciss/c1d0, sector 12400
    kernel: multipath: IO failure on cciss/c1d0p1, disabling IO path.
    kernel: Operation continuing on 1 IO paths.
    kernel: multipath: cciss/c1d0p1: rescheduling sector 12408
    kernel: MULTIPATH conf printout:
    kernel:  --- wd:1 rd:2
    kernel: disk0, o:0, dev:cciss/c1d0p1
    kernel: disk1, o:1, dev:cciss/c0d1p1
    kernel: MULTIPATH conf printout:
    kernel:  --- wd:1 rd:2
    kernel: disk1, o:1, dev:cciss/c0d1p1
    kernel: multipath: cciss/c1d0: redirecting sector 12368 to another IO path
    cmafcad[3927]: Array Controller status change. Chassis name: 204KLYPN37, I/O slot: 1. Status is now Redundant Path Offline.


  • リダンダント側障害発生時
  •    リダンダント側で、先に障害発生があった場合、mdadmコマンドでは確認できません。
      /var/log/messages、 もしくは、SMHで確認してください。
      /var/log/messagesには以下のメッセージが出力されます。

    #localhost cmafcad[4085]: Array Controller status change. Chassis name: 204KLYPN37, I/O slot: 1. Status is now Redundant Path Offline.


    SLES9での注意事項

    1. multipul deviceのファイルシステムを ext3 または reiserfsで構築するとマルチパス機能が正常に動作しません。ext3/reiserfsを利用する場合、mountコマンドに 'barrier'オプションを付加する必要があります。この問題は、将来リリースされる ServicePack4で修正される予定です。

    ext3の場合 '-o barrier=0'を付加します
    例): # mount -t ext3 -o barrier=0 /dev/md0 /mnt

    reiserfsの場合 '-o barrier=none'を付加します
    例): # mount -t reiserfs -o barrier=none /dev/md0 /mnt

    2. /etc/sysconfig/kernelファイルの 'INITRD_MODULES' に multipath device で使用するホストバスアダプタおよびファイルシステムのモジュールが含まれているか確認してください。これらモジュールが不足し、かつ /etc/fstab に multipule device のマウント設定が記述されている場合、boot時に multiple device が有効にならないため single userモードで起動してしまいます。
    # vi /etc/sysconfig/kernel
    ..... <--- INITRD_MODULESの修正(例: INITRD_MODULES="cciss reiserfs")
    # mk_initrd
    # reboot

    OSインストール後に SmartArray を追加または、OSインストール時に使用していないファイルシステムで mulitiple deviceを構築した場合に忘れがちですので、ご注意ください。

    fail した SCSI経路の復旧について

     HBA または SCSIケーブルに障害が発生し fail した SCSI経路はオンライン状態で回復できません。障害経路を復旧するには、サーバーの電源を落として HBA/SCSIケーブルを交換後、電源を再投入する必要があります。
    印刷用画面へ印刷用画面へ
    プライバシー ご利用条件・免責事項