2
  • host: IBM x3850
  • FC-HBA: qlogic qle2562, dualport
  • DAS-storage: IBM DS3500 dual-controller, 1 port per controller connected

After setting up a new install of 14.04 and configuring devices, I get device errors during boot for every device and every port of DS3500: see log below.

I tried to change host operating system in DS3500 from MPP/RDAC to LNXALUA. The error messages went away but mutlipath -ll shows that RDAC is used. After adjusting multipath.conf to use ALUA getting error:

multipathd: A dynamic linking error occurred: /lib/multipath/libcheckalua.so: cannot open >shared object file: No such file or directory)

could not resolve ….

Back on MPP/RDAC multipath -ll shows nothing and syslog shows errors like below logs on bottom. Multipath does not work by now ...

Any advise would be appreciated!

Logs:

15.331957] qla2xxx [0000:86:00.0]-00fb:3: QLogic QLE2562 - QLogic 8Gb FC Dual-port HBA for System x.
15.372195] qla2xxx [0000:86:00.0]-00fc:3: ISP2532: PCIe (5.0GT/s x8) @ 0000:86:00.0 hdma+ host#=3 fw=7.01.00 (90d5).
15.414007] qla2xxx [0000:86:00.1]-001d: : Found an ISP2532 irq 64 iobase 0xffffc90072cd0000.
15.456150] qla2xxx 0000:86:00.1: irq 113 for MSI/MSI-X
15.456181] qla2xxx 0000:86:00.1: irq 114 for MSI/MSI-X
17.665675] qla2xxx [0000:86:00.0]-505f:3: Link is operational (8 Gbps).
18.030629] qla2xxx [0000:86:00.0]-1020:3: **** Failed mbx[0]=4006, mb[1]=7fe, mb[2]=1, mb[3]=4, cmd=6a ****.
18.072622] scsi 3:0:0:0: Direct-Access     IBM      Universal Xport  1070 PQ: 0 ANSI: 5
18.117509] scsi 3:0:0:1: Direct-Access     IBM      1746      FAStT  1070 PQ: 0 ANSI: 5
18.160602] scsi 3:0:0:0: Attached scsi generic sg2 type 0
18.204151] sd 3:0:0:1: Attached scsi generic sg3 type 0
18.205012] sd 3:0:0:1: [sdb] 1048576000 512-byte logical blocks: (536 GB/500 GiB)
18.206125] sd 3:0:0:1: [sdb] Write Protect is off
18.206128] sd 3:0:0:1: [sdb] Mode Sense: 83 00 10 08
18.206498] sd 3:0:0:1: [sdb] Write cache: enabled, read cache: enabled, supports DPO and FUA
18.338163] scsi4 : qla2xxx
18.347073] qla2xxx [0000:86:00.1]-00fb:4: QLogic QLE2562 - QLogic 8Gb FC Dual-port HBA for System x.
18.347078] qla2xxx [0000:86:00.1]-00fc:4: ISP2532: PCIe (5.0GT/s x8) @ 0000:86:00.1 hdma+ host#=4 fw=7.01.00 (90d5).
18.347571] qla2xxx [0000:95:00.0]-001d: : Found an ISP2532 irq 56 iobase 0xffffc90072cde000.
18.348125] qla2xxx 0000:95:00.0: irq 115 for MSI/MSI-X
18.348141] qla2xxx 0000:95:00.0: irq 116 for MSI/MSI-X
18.713762] sd 3:0:0:1: [sdb]  
18.758261] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
18.802896] sd 3:0:0:1: [sdb]  
18.845334] Sense Key : Illegal Request [current] 
18.888324] sd 3:0:0:1: [sdb]  
18.927702] <<vendor>> ASC=0x94 ASCQ=0x1ASC=0x94 ASCQ=0x1
18.969035] sd 3:0:0:1: [sdb] CDB: 
19.009541] Read(10): 28 00 00 00 00 00 00 00 08 00
19.050279] end_request: I/O error, dev sdb, sector 0
19.089456] Buffer I/O error on device sdb, logical block 0
19.630029] sd 3:0:0:1: [sdb]  
19.666857] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE

...

64.504856] sd 3:0:0:1: rdac: LUN 1 (RDAC) (unowned)
64.505737] sd 5:0:0:1: rdac: LUN 1 (RDAC) (owned)
64.505742] rdac: device handler registered
64.548834] device-mapper: multipath round-robin: version 1.0.0 loaded
64.555789] device-mapper: table: 252:0: multipath: error getting device
64.556196] sd 3:0:0:1: [sdb]  
64.556198] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
64.556200] sd 3:0:0:1: [sdb]  
64.556202] Sense Key : Illegal Request [current] 
64.556203] sd 3:0:0:1: [sdb]  
64.556211] <<vendor>> ASC=0x94 ASCQ=0x1ASC=0x94 ASCQ=0x1
64.556213] sd 3:0:0:1: [sdb] CDB: 
64.556217] Read(10): 28 00 3e 7f ff f0 00 00 08 00
64.556219] end_request: I/O error, dev sdb, sector 1048575984
64.556221] Buffer I/O error on device sdb, logical block 131071998
64.740877] device-mapper: ioctl: error adding target to table
64.751583] device-mapper: table: 252:0: multipath: error getting device
64.811318] device-mapper: ioctl: error adding target to table
64.836536] device-mapper: table: 252:0: multipath: error getting device
64.898305] device-mapper: ioctl: error adding target to table
64.910448] device-mapper: table: 252:0: multipath: error getting device
64.968345] device-mapper: ioctl: error adding target to table
64.985344] device-mapper: table: 252:0: multipath: error getting device
65.045745] device-mapper: ioctl: error adding target to table
65.065624] device-mapper: table: 252:0: multipath: error getting device
65.121701] device-mapper: ioctl: error adding target to table
65.145184] device-mapper: table: 252:0: multipath: error getting device
65.202583] device-mapper: ioctl: error adding target to table
65.223581] device-mapper: table: 252:0: multipath: error getting device
65.281298] device-mapper: ioctl: error adding target to table
65.295510] device-mapper: table: 252:0: multipath: error getting device
65.354897] device-mapper: ioctl: error adding target to table
65.372987] device-mapper: table: 252:0: multipath: error getting device
65.427124] device-mapper: ioctl: error adding target to table
little
  • 23

1 Answers1

0

ALUA is a priority handler, not a path checker. The config file parser is trying to load a shared library based on the name you specified, and that generated library name does not exist.

It looks like the DS3500 is part of the default multipath configuration.

From your logs,

18.117509] scsi 3:0:0:1: Direct-Access     IBM      1746      FAStT  1070 PQ: 0 ANSI: 5

See that 1746? That's what you match for product.

[lp source : libmultipath/hwtable.c]

        {
                .vendor        = "IBM",
                .product       = "1745|1746",
                .getuid        = DEFAULT_GETUID,
                .features      = "2 pg_init_retries 50",
                .hwhandler     = "1 rdac",
                .selector      = DEFAULT_SELECTOR,
                .pgpolicy      = GROUP_BY_PRIO,
                .pgfailback    = -FAILBACK_IMMEDIATE,
                .rr_weight     = RR_WEIGHT_NONE,
                .no_path_retry = 15,
                .minio         = DEFAULT_MINIO,
                .checker_name  = RDAC,
                .prio_name     = PRIO_RDAC,
                .prio_args     = NULL,
        },

So for SANs that already support by multipath, all you have to do is create a config file with "something" in it and then update the initrd to copy that to the ramdisk so it's available at boot, so you can mount your disks.

https://help.ubuntu.com/14.04/serverguide/device-mapper-multipathing.html

https://help.ubuntu.com/14.04/serverguide/multipath-setting-up-dm-multipath.html

$ sudo -i

# cat > /etc/multipath.conf <<EOF
defaults {
        user_friendly_names no
}
EOF

# service multipath-tools restart

# lshw -c disk  (I prefer lsscsi, which is not installed by default)

# update-initramfs -u -k all   (you must do this every time you update multipath.conf)

... and reboot. It should "just work". If not you'll need to take apart your config, check any assumptions, and acquire the manual to determine it's opinion on what the multipath.conf should look like.

ppetraki
  • 5,531