« March 2014 | Main | June 2014 »

May 26, 2014

dmマルチパスを用いたDELLストレージ設定方法(MD30xx編)

今回はいつもと趣向を変えて、DELL社DASストレージの設定方法をご紹介します。今回ご紹介するMD3xxx系はマニュアルがわかりにくいだけでなくネット上で設定例をあまり見かけないので役に立つ方は役に立つかと思います。

さて、本題に入ります。

DELL PowerVault MD3000系DASストレージではマルチパスを扱うときに専用のMPPドライバーを使います。それに対してMD32xx系ではDM-RDAC(dm-multipath)と呼ばれるネイティブLinux kernelデバイスマッパーを使います。ここではMD3000系でもdm-multipathを使えるようにする設定方法を記します。

Dell_powervault_md3000i


【Storage ManagerとHBA board用ドライバーのインストール】
Linuxサーバ上にStorage ManagerとHBA board用ドライバーをインストールします。それらはMD3xxxに付属しているCDROMに含まれています。

※MD3xxx系では、サーバにRAIDボードではなくHBAボードを挿します。RAIDボードを使う場合はRAIDボード上でRAID関連処理をしますが、MD3xxx系ではストレージ側のコントローラーでRAID関連処理をします。


【MD3000でdm-multipathを使うための事前準備】
/etc/multipath.confを以下の内容に置き換えてリブートするとmultipathから見えるようになります。


defaults {
        getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
}
devices {
        device {
                vendor DELL*
                product MD3000*
                path_grouping_policy failover
                getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
                features "1 queue_if_no_path"
#               path_checker readsector0
                path_checker rdac
                prio_callout "/sbin/mpath_prio_tpc /dev/%n"
                hardware_handler "1 rdac"
                failback immediate
        }
}
blacklist {
       device {
               vendor Dell.*
               product Universal.*
       }
       device {
               vendor Dell.*
               product Virtual.*
       }
}

【MDSM(Modular Disk Storage Manager)の起動と設定】
MDSMはバージョンによって操作性が多少異なるので注意です。大雑把に以下の手順を実施します。

$ SMclient

1. マシン名をつける。
2. HotSpare HDDを指定する。
3. ディスクグループを作成する。(例: VG01)
4. 仮想ディスク(LUN)を作成する。(例: VG01_lun1, VG01_lun2) ※注:ディスクグループ1つに対して2つの仮想ディスクを作るようにすべし。すると各々の仮想ディスクが各パスに分散されるのでパフォーマンスが上がる\!
5. 仮想ディスク(LUN)とホストをマッピングする。

【ストレージとうまく接続できているか確認する方法】
DASを接続しているサーバからストレージが正しく認識しているか以下のように確認することができます。


$ multipath -ll
mpathc (36f01faf000dd7c2a000002513aaa3f5b) dm-1 DELL,MD30xx
size=1.5T features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 rdac' wp=rw
|-+- policy='round-robin 0' prio=14 status=active
| `- 1:0:0:1 sdc 8:32 active ready running
`-+- policy='round-robin 0' prio=9 status=enabled
  `- 1:0:1:1 sde 8:64 active ready running
 
mpathb (36f01faf000dd7ba2000002a0529257a6) dm-0 DELL,MD30xx
size=1.5T features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 rdac' wp=rw
|-+- policy='round-robin 0' prio=14 status=active
| `- 1:0:1:0 sdd 8:48 active ready running
`-+- policy='round-robin 0' prio=9 status=enabled
  `- 1:0:0:0 sdb 8:16 active ready running

いずれも「status=active」であれば正常。


【サーバ内で仮想ボリュームを作る】


■1. pvcreate
pvcreate /dev/dm-1
pvcreate /dev/dm-2
 
■2. vgcreate
vgcreate vg1 /dev/dm-1 /dev/dm-2
 
■3. lvcreate
lvcreate -n lv01 -L 100GB vg1
lvcreate -n lv02 -L 100GB vg1
lvcreate -n lv03 -L 100GB vg1





$ fdisk -l
Disk /dev/mapper/vg01-lv01: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

OSからLUNがデバイスとして見えていれば正常。(LUN:Logical Unit Number。サーバから見えるデバイスのこと。一般PCでは1台のHDDを指すが、仮想化されたストレージの場合は切り出された領域が見える)


| | Comments (0) | TrackBack (0)

« March 2014 | Main | June 2014 »