Skip to main content

Multipath on RedHat (NetApp FAS2240)

Multipath 是 CentOS/RedHat 內建套件,可用作兩 port 的 HBA 卡連接 Storage時,有雙路由的備援架構。

系統環境

  • RedHat 4.7
  • NetApp FAS2240
  • SAN Switch x 2
  • HBA Card: QLogic, port x 2
#>lspci
Fibre Channel: QLogic Corp. ISP2532-based 8Gb Fibre Channel to PCI Express HBA (rev 02)

RedHat 的 HBA Card 驅動

建議安裝方法為,在安裝 RedHat 前先安裝 HBA 卡,然後安裝 RedHat 時會自動驅動 HBA 卡。

如果無法重新安裝 RedHat 試試修改 /etc/modprobe.conf,加上這一行

alias scsi_hostadapter2 qla2500

scsi_hostadapterX 編號視實際狀況修改

查出 HBA 卡的 WWN

#> cat /proc/scsi/qla2xxx/2

SCSI Device Information:
scsi-qla0-adapter-node=5001438004253c81;
scsi-qla0-adapter-port=5001438004253c80; <---- WWN
scsi-qla0-target-0=50001fe1500e28fd;
scsi-qla0-target-1=50001fe1500e28f9;
scsi-qla0-target-2=500a09829140a66c;

另一個 HBA port 裝置檔為 /proc/scsi/qla2xxx/3,以此類推

每個 port 有獨立的 WWN

NetApp storage 分配 LUN 以此 WWN 作為 Host Mapping 的主要參數

驅動後的模組列表

# lsmod | grep qla
    qla2500               209985  0
    qla2xxx               203681  13 qla2500
    scsi_transport_fc      19521  1 qla2xxx
    scsi_mod              153489  7 ib_srp,qla2xxx,scsi_transport_fc,sr_mod,libata,cciss,sd_mo   d

SAN Storge 設定與接線

  1. 將 NetApp storage、SAN switch、RedHat 接上各自的光纖線
  2. 找出 RedHat 的 HBA 卡 兩 port 各自的 WWN
  3. 設定 NetApp,將 LUNs 分配至兩個 WWN Hosts

設定 Multipath

更新:RedHat 客戶中心有提供設定 multipath.conf 線上協助導引,網頁必須先登入才能瀏覽
https://access.redhat.com/labs/multipathhelper/

必要的套件安裝

rpm -q device-mapper
rpm -q device-mapper-multipath
yum install device-mapper
yum install device-mapper-multipath
CentOS 5.x)

編輯 /etc/multipath.conf

# Blacklist all devices by default. Remove this to enable multipathing
# on the default devices.
devnode_blacklist {
#        devnode "*" << 註解這一行
}

## Use user friendly names, instead of using WWIDs as names.
defaults {
        user_friendly_names yes
}

注意:即使啟動了 multipathd 服務,預設是抓不到任何 LUNs 的,必須註解上述的那一行

啟動 multipathd 服務

#> service multipathd start
#> chkconfig multipathd on 
CentOS 6/7)

預設沒有設定檔 /etc/multipath.conf,執行這個指令會自動產生,並且將服務 multipathd 設定成自動執行。

#> mpathconf --enable --with_multipathd y

不用修改 multipath.conf

檢視 multupah 的裝置

CentOS 5.x

[root@cdb3-b ~]# multipath -ll
mpath1 (360a98000383035537824474d3936556a) dm-4 NETAPP,LUN
[size=700G][features=3 queue_if_no_path pg_init_retries 50][hwhandler=0][rw]
\_ round-robin 0 [prio=4][active]
 \_ 1:0:1:0 sdb        8:16  [active][ready]
 \_ 2:0:1:0 sdd        8:48  [active][ready]
\_ round-robin 0 [prio=1][enabled]
 \_ 1:0:0:0 sda        8:0   [active][ready]
 \_ 2:0:0:0 sdc        8:32  [active][ready]

CentOS 6.x

[root@cdb3 ~]# multipath -ll
mpathb (360a98000383035537824474d39365568) dm-2 NETAPP,LUN
size=700G features='4 queue_if_no_path pg_init_retries 50 retain_attached_hw_handle' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=4 status=active
| |- 1:0:1:0 sdc 8:32 active ready running
| `- 2:0:1:0 sde 8:64 active ready running
`-+- policy='round-robin 0' prio=1 status=enabled
  |- 1:0:0:0 sdb 8:16 active ready running
  `- 2:0:0:0 sdd 8:48 active ready running

安裝 NetApp 管理工具