msa2012fc + FC2142SR Multipath Disk Duplicated

Good morning,

I’m having problems configuring a SAN MSA2012fc Dual Controller connected to a Proliant DL380 G5 running Suse Linux Enterprise Server with 2 Emulex FC2142SR (A8002A) HBA’s.

The problem I’m experiencing is that the disks on the SAN appear to be multiplied by four, i.e. on the SAN I have configured 2 vdisks and on the machine I am seeing 8:

/opt/hp/hp_fibreutils # ./hp_rescan -a

Adding legacy tape devices to /proc/scsi/device_info

Scanning /sys/class/scsi_host/host0

Scanning /sys/class/scsi_host/host1

scsi0 00 00 00 HP MSA2012fc J200 Enclosure

scsi0 00 01 00 HP MSA2012fc J200 Enclosure

scsi0 00 02 00 HP MSA2012fc J200 Enclosure

scsi0 00 03 00 HP MSA2012fc J200 Enclosure

scsi1 00 00 00 HP MSA2012fc J200 Enclosure

scsi1 00 01 00 HP MSA2012fc J200 Enclosure

scsi1 00 02 00 HP MSA2012fc J200 Enclosure

scsi1 00 03 00 HP MSA2012fc J200 Enclosure

I have tried using SLES 10 SP1 as well as SLES SP2 but the problem occurred on both. On SLES SP1 I used the official HP package HPDMmultipath-4.0.0. On SLES SP2, I followed the official HP instructions installing all the recommended packages and their corresponding versions, but the problem wasn’t solved.

As for the HBA´s drivers I’ve tried both the original HP drivers (package hp-lpfc-2008-05-30) as the latest Emulex drivers but without any luck. The drivers compile, make and install alright and the module seems to be running OK but the disks are detected incorrectly.

When using SLES SP1 I used the switch –sp when installing the drivers to disable multipath … When I tested with SLES SP2 I didn’t use the -sp switch.

/opt/hp/hp_fibreutils # dmesg |grep Emulex

Emulex LightPulse Fibre Channel SCSI driver 8.2.0.22_p1

Copyright(c) 2004-2008 Emulex. All rights reserved.

/opt/hp/hp_fibreutils # grep lpfc /etc/modprobe.conf

options lpfc lpfc_nodev_tmo=28 lpfc_lun_queue_depth=16 lpfc_discovery_threads=32

/opt/hp/hp_fibreutils # modinfo lpfc |more

filename: /lib/modules/2.6.16.54-0.2.8-bigsmp/kernel/drivers/scsi/lpfc/lpfc.ko

version: 0:8.2.0.22_p1

author: Emulex Corporation - tech.support@emulex.com

description: Emulex LightPulse Fibre Channel SCSI driver 8.2.0.22_p1

license: GPL

srcversion: 6D165CDA957263297189E3F

dmesg shows the following on startup, which as far as I know is normal:

lpfc: module not supported by Novell, setting U taint flag.

lpfc 0000:0b:00.0: 0:1303 Link Up Event x1 received Data: x1 xf7 x10 x9

lpfc 0000:0e:00.0: 1:1303 Link Up Event x1 received Data: x1 xf7 x10 x9

lpfc 0000:0b:00.0: 0:1305 Link Down Event x2 received Data: x2 x20 x80110

lpfc 0000:0b:00.0: 0:1306 Link Up Event in loop back mode x3 received Data: x3 x1 x10 x1

lpfc 0000:0b:00.0: 0:1308 Link Down Event in loop back mode x4 received Data: x4 x20 x80000

lpfc 0000:0b:00.0: 0:1303 Link Up Event x5 received Data: x5 x1 x10 x1

lpfc 0000:0b:00.0: 0:1305 Link Down Event x6 received Data: x6 x20 x80110

lpfc 0000:0b:00.0: 0:1306 Link Up Event in loop back mode x7 received Data: x7 x1 x10 x1

lpfc 0000:0b:00.0: 0:1308 Link Down Event in loop back mode x8 received Data: x8 x20 x80000

lpfc 0000:0b:00.0: 0:1303 Link Up Event x9 received Data: x9 x1 x10 x1

I’ve upgraded the firmware version of the HBAs, from their original 2.50 A6 version to 2.72 A2 using the utility HBAnyware, but without any positive result:

/opt/hp/hp_fibreutils # cat /sys/class/scsi_host/host0/info

HP FC2142SR 4Gb PCI-e, SC, Fibre Channel Adapter on PCI bus 0b device 00 irq 169

/opt/hp/hp_fibreutils # cat /sys/class/scsi_host/host0/fwrev

2.72A2 (W3F2.72A2), sli-3

UDEV detects the devices as generic SCSI devices sg[0-7] , but doesn’t seem to recognize them as valid block devices:

Vendor: HP Model: MSA2012fc Rev: J200

Type: Enclosure ANSI SCSI revision: 05

Vendor: HP Model: MSA2012fc Rev: J200

Type: Enclosure ANSI SCSI revision: 05

0:0:0:0: Attached scsi generic sg0 type 13

0:0:1:0: Attached scsi generic sg1 type 13

Vendor: HP Model: MSA2012fc Rev: J200

Type: Enclosure ANSI SCSI revision: 05

0:0:2:0: Attached scsi generic sg2 type 13

Vendor: HP Model: MSA2012fc Rev: J200

Type: Enclosure ANSI SCSI revision: 05

0:0:3:0: Attached scsi generic sg3 type 13

….

….

….

As a result fdisk doesn’t recognize them either:

/opt/hp/hp_fibreutils # fdisk -l

Disk /dev/cciss/c0d0: 73.3 GB, 73372631040 bytes

255 heads, 63 sectors/track, 8920 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

       Device Boot      Start         End      Blocks   Id  System

/dev/cciss/c0d0p1 * 1 64 514048+ 83 Linux

/dev/cciss/c0d0p2 65 6827 54323797+ 83 Linux

/dev/cciss/c0d0p3 6828 8920 16812022+ 82 Linux swap / Solaris

The commands multipath –ll , multipath –l , multipath –v, multipath –d produce no output whatsoever.

Finally I’m attaching my current configuration /etc/multipath.conf

/opt/hp/hp_fibreutils # cat /etc/multipath.conf

defaults {

    udev_dir                /dev

    polling_interval        10

    selector                "round-robin 0"

    path_grouping_policy    failover

    getuid_callout          "/sbin/scsi_id -g -u -s /block/%n"

    prio_callout            "/bin/true"

    path_checker            tur

    rr_min_io               100

    rr_weight               uniform

    failback                immediate

    no_path_retry           12

    user_friendly_names     yes

}

#blacklist {

wwid 26353900f02796769

devnode “^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*”

devnode “^hd[a-z][0-9]*]”

devnode “^cciss!c[0-9]d[0-9]*”

device {

vendor “HP”

product “OPEN-*”

}

multipaths {

multipath {

   wwid                    2039485769900000000

   alias                   red

   path_grouping_policy    group_by_prio

   path_selector           "round-robin 0"

   failback                immediate

   rr_weight               uniform

   no_path_retry           10

   rr_min_io               100

}

}

devices {

device

{

vendor “HP”

product “MSA2[02]*”

path_grouping_policy multibus

getuid_callout “/sbin/scsi_id -g -u -s /block/%n”

path_selector “round-robin 0”

rr_weight uniform

prio_callout “/bin/true”

path_checker tur

hardware_handler “0”

failback immediate

no_path_retry 12

rr_min_io 100

}

}

Any help to resolve my problem would be much appreciated. If additional information is required to aid me with my query feel free to ask me and I will provide it as soon as possible.

Thanks in advance for your replies.