1,850 瀏覽數

Linux – MultiPath

手邊有一台 NetApp DS2246 (SAS JBOD) 想搭配 LSI 3/6G SAS 來試看看 MultiPath.但查了一下 Multupath 似乎有兩種方式

  1. LSI SAS3445E-R
    3Gb single port SAS HBA (RAID 0,1,1E)
  2. LSI9212-4i4e
    6Gb single port SAS HBA (RAID 0,1,1E,10)

Integrated Mirroring (IM), 也就是所謂的 2-disk mirrored arrays(RAID 1) 並可以使用 hot-spare disks.
Integrated Mirroring Enhanced (IME), RAID 1 支援多顆 3~10 以上的硬碟以及 hot-spare disks.
Integrated Striping (IS), 可支援 2~10 顆的 striped arrays (RAID 0).

Device-Mapper Multipath

如果你的 SAS 有多個埠,並將他們連接到同一台 JBOD 時,你會發現硬碟的數量會變成兩倍.不過只細觀察他們的 Disk identifier 都是一樣的.

[root@benjr ~]# fdisk -l | grep -i identifier
Disk identifier: 0xbade18f1
Disk identifier: 0xdcdcdcdc
Disk identifier: 0x1e1e1e1e
Disk identifier: 0xdcdcdcdc
Disk identifier: 0x1e1e1e1e

這時我們可以直接啟動 multipathd 服務.

[root@benjr ~]# chkconfig multipathd on
[root@benjr ~]# service multipathd start

啟動之後使用 #multipath -ll 來觀看可以發現剛剛所建立的 2 顆硬碟已經其實是指向同一個硬碟.

[root@benjr ~]# multipath -ll
Feb 19 11:19:19 | multipath.conf line 39, invalid keyword: user_friendly_names
Feb 19 11:19:19 | multipath.conf line 61, invalid keyword: path_checker
mpathaj (35000cca012a37580) dm-1 NETAPP,X421_HCOBD450A10
size=419G features='0' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=1 status=active
| `- 0:0:1:0 sdb 8:16 active ready running
`-+- policy='round-robin 0' prio=1 status=enabled
`- 1:0:1:0 sdd 8:48 active ready running
mpathae (35000cca012a5dc94) dm-0 NETAPP,X421_HCOBD450A10
size=419G features='0' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=1 status=active
| `- 0:0:0:0 sda 8:0 active ready running
`-+- policy='round-robin 0' prio=1 status=enabled
`- 1:0:0:0 sdc 8:32 active ready running

透過 multipathd -k 也可以看得到目前 multipath 的狀態

[root@benjr ~]# multipathd -k
multipathd> show paths
hcil dev dev_t pri dm_st chk_st dev_st next_check
4:0:0:0 sde 8:64 1 undef ready running orphan
0:0:0:0 sda 8:0 1 active ready running XXXXXXX... 15/20
0:0:1:0 sdb 8:16 1 active ready running XXX....... 6/20
1:0:0:0 sdc 8:32 1 active ready running XXXXXXX... 15/20
1:0:1:0 sdd 8:48 1 active ready running X......... 3/20
multipathd> quit

我們透過系統就可以觀看到 /dev/mapper/mpathxx 的裝置了.這個裝置就如同一般的硬碟裝置,如同 /dev/sda 你可以針對他做分割,格式化,讀寫等動作.而且還具備 MPIO 的功能.

[root@benjr ~]# fdisk -l
......
Disk /dev/mapper/mpathae: 450.1 GB, 450098159616 bytes
255 heads, 63 sectors/track, 54721 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: 0xdcdcdcdc
Disk /dev/mapper/mpathaj: 450.1 GB, 450098159616 bytes
255 heads, 63 sectors/track, 54721 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: 0x1e1e1e1e

RDAC

RDAC (Redundant Disk Array Controller) 的驅動程式只適合用於 IBM Storage DS3000, DS4000 以及 DS5000 ,而且不是所有的 HBA 都支援 RDAC.

因為使用的是 LSI SAS3445E-R ,LSI9212-4i4e + NetApp DS2246 (JBOD) 所以無緣使用 RDAC 了,不過讓我好奇的是這兩種的差別是什麼呢!!!有機會可以使用時我該選用哪一種??

請參考 http://benjr.tw/8681

2 個網友的想法 “Linux – MultiPath

  1. 自動參照通知: Linux® RDAC Multipath Drivers | Benjr.tw

  2. 自動參照通知: ibm x3200 m2 | Benjr.tw

發表迴響