Moved: "multipath: C9 Inquiry of device </dev/sdk> failed

Latest response

(moved from https://access.redhat.com/discussion/multipath-output-0#comment-3585)

 

This is my output in my servers

I have a installed a RHEL 5.6 and does not arise because the initial errors.

 

[root@srxen15 ~]# multipath -ll
C9 Inquiry of device </dev/sdk> failed.
C9 Inquiry of device </dev/sdl> failed.
C9 Inquiry of device </dev/sdm> failed.
C9 Inquiry of device </dev/sdq> failed.
C9 Inquiry of device </dev/sdr> failed.
C9 Inquiry of device </dev/sds> failed.
QASTAGE (2001738000a7a13c8) dm-4 IBM,2810XIV
[size=304G][features=1 queue_if_no_path][hwhandler=0][rw]
\_ round-robin 0 [prio=0][active]
 \_ 2:0:1:1 sdk 8:160 [active][ready]
 \_ 2:0:2:1 sdl 8:176 [active][ready]
 \_ 2:0:3:1 sdm 8:192 [active][ready]
 \_ 1:0:2:1 sdq 65:0  [active][ready]
 \_ 1:0:3:1 sdr 65:16 [active][ready]
 \_ 1:0:4:1 sds 65:32 [active][ready]
IDS_OLVGUM (3600a0b800047bcbc0000fe8f4cb7f4e2) dm-2 IBM,1818      FAStT
[size=140G][features=0][hwhandler=1 rdac][rw]
\_ round-robin 0 [prio=200][active]
 \_ 1:0:0:2 sdd 8:48  [active][ready]
 \_ 2:0:0:2 sdh 8:112 [active][ready]
\_ round-robin 0 [prio=0][enabled]
 \_ 1:0:1:2 sdo 8:224 [active][ready]
xen_lun_1 (3600a0b800047bcbc0000f5f54c1709eb) dm-0 IBM,1818      FAStT
[size=50G][features=0][hwhandler=1 rdac][rw]
\_ round-robin 0 [prio=200][active]
 \_ 1:0:0:0 sdb 8:16  [active][ready]
 \_ 2:0:0:0 sdf 8:80  [active][ready]
\_ round-robin 0 [prio=0][enabled]
 \_ 1:0:1:0 sdj 8:144 [active][ready]
IDS (3600a0b800047bcbc0000fe8c4cb7f4ce) dm-1 IBM,1818      FAStT
[size=120G][features=0][hwhandler=1 rdac][rw]
\_ round-robin 0 [prio=200][active]
 \_ 1:0:0:1 sdc 8:32  [active][ready]
 \_ 2:0:0:1 sdg 8:96  [active][ready]
\_ round-robin 0 [prio=0][enabled]
 \_ 1:0:1:1 sdn 8:208 [active][ready]
QUORUM (3600a0b800047bcbc0000148d4d82df8b) dm-3 IBM,1818      FAStT
[size=200M][features=0][hwhandler=1 rdac][rw]
\_ round-robin 0 [prio=0][enabled]
 \_ 1:0:0:3 sde 8:64  [active][ready]
 \_ 2:0:0:3 sdi 8:128 [active][ready]
\_ round-robin 0 [prio=100][active]
 \_ 1:0:1:3 sdp 8:240 [active][ready]

 

 

 

This is my multipath.conf

# cat /etc/multipath.conf
# $Id: multipath.conf,v 1.4 2010/08/11 08:41:17 root Exp root $

# Blacklist all devices by default. Remove this to enable multipathing
# on the default devices.
blacklist {
        devnode "sda"

}

## Use user friendly names, instead of using WWIDs as names.
defaults {
    user_friendly_names        yes
    polling_interval        30
    flush_on_last_del        yes
        path_grouping_policy        group_by_serial
    no_path_retry            fail
        path_checker            tur
        failback            manual
    prio_callout "/sbin/mpath_prio_rdac /dev/%n"
}

devices {
    device {
        vendor            "IBM"
        product        "1818"
        hardware_handler    "1 rdac"
    }
        device {
                vendor                  "IBM"
                product                 "2810XIV"
                rr_min_io 1000
                path_checker tur
                failback immediate
                no_path_retry queue
        }

}

multipaths {
    multipath {
        wwid               3600a0b800047bcbc0000f5f54c1709eb
        alias              xen_lun_1
    }
    multipath {
            wwid               3600a0b800047bcbc0000fe8c4cb7f4ce
            alias              IDS
    }
    multipath {
        wwid               3600a0b800047bcbc0000fe8f4cb7f4e2
            alias              IDS_OLVGUM
    }
    multipath {
        wwid            2001738000a7a13c8
        alias            QASTAGE
    }
    multipath {
        wwid            3600a0b800047bcbc0000148d4d82df8b
        alias            QUORUM
    }

}
 

Responses

Hi Jose,

The errors you are seeing ("C9 inquiry of device <device> failed") are caused by the rdac priority callout being used against devices that are not RDAC-capable.  In your case, you have 2 different storage arrays: IBM 2810XIV (non-RDAC) and IBM 1818 FAStT (RDAC).  However, you have configured this in your defaults section:

 

    prio_callout "/sbin/mpath_prio_rdac /dev/%n"

 

This means that any device which does not have its own prio_callout configured in the device {} section will take this as the default. 

 

To solve this issue, you should:

 

  * Remove the prio_callout line from the defaults {} section

  * Add the prio_callout line to the device {} section for your 1818 FAStT

  * Reload the multipathd service with

 

      # service multipathd reload

 

  * Flush the QASTAGE map with

 

      # multipath -f QASTAGE

 

  * Recreate the QASTAGE map with

 

      # multipath -v2 QASTAGE

 

Let us know if that doesn't correct the problem.

 

Regards,

John Ruemker, RHCA

Red Hat Technical Account Manager

Thank you very much, I worked and no errors are displayed.

I have to invite some beer, thanks.

 

---------------------------

 

[root@srxen15 etc]# multipath -ll
QASTAGE (2001738000a7a13c8) dm-4 IBM,2810XIV
[size=304G][features=1 queue_if_no_path][hwhandler=0][rw]
\_ round-robin 0 [prio=6][active]
 \_ 2:0:1:1 sdk 8:160 [active][ready]
 \_ 2:0:2:1 sdl 8:176 [active][ready]
 \_ 2:0:3:1 sdm 8:192 [active][ready]
 \_ 1:0:2:1 sdq 65:0  [active][ready]
 \_ 1:0:3:1 sdr 65:16 [active][ready]
 \_ 1:0:4:1 sds 65:32 [active][ready]
IDS_OLVGUM (3600a0b800047bcbc0000fe8f4cb7f4e2) dm-2 IBM,1818      FAStT
[size=140G][features=0][hwhandler=1 rdac][rw]
\_ round-robin 0 [prio=200][active]
 \_ 1:0:0:2 sdd 8:48  [active][ready]
 \_ 2:0:0:2 sdh 8:112 [active][ready]
\_ round-robin 0 [prio=0][enabled]
 \_ 1:0:1:2 sdo 8:224 [active][ready]
xen_lun_1 (3600a0b800047bcbc0000f5f54c1709eb) dm-0 IBM,1818      FAStT
[size=50G][features=0][hwhandler=1 rdac][rw]
\_ round-robin 0 [prio=200][active]
 \_ 1:0:0:0 sdb 8:16  [active][ready]
 \_ 2:0:0:0 sdf 8:80  [active][ready]
\_ round-robin 0 [prio=0][enabled]
 \_ 1:0:1:0 sdj 8:144 [active][ready]
IDS (3600a0b800047bcbc0000fe8c4cb7f4ce) dm-1 IBM,1818      FAStT
[size=120G][features=0][hwhandler=1 rdac][rw]
\_ round-robin 0 [prio=200][active]
 \_ 1:0:0:1 sdc 8:32  [active][ready]
 \_ 2:0:0:1 sdg 8:96  [active][ready]
\_ round-robin 0 [prio=0][enabled]
 \_ 1:0:1:1 sdn 8:208 [active][ready]
QUORUM (3600a0b800047bcbc0000148d4d82df8b) dm-3 IBM,1818      FAStT
[size=200M][features=0][hwhandler=1 rdac][rw]
\_ round-robin 0 [prio=0][enabled]
 \_ 1:0:0:3 sde 8:64  [active][ready]
 \_ 2:0:0:3 sdi 8:128 [active][ready]
\_ round-robin 0 [prio=100][active]
 \_ 1:0:1:3 sdp 8:240 [active][ready]

Hello there everyone.

 

Is there a way to force rhel to change the port lets say I have the target port 00:11:22:33:44 and I'd like to change it and ad another one like 00:11:22:33:45. How can you tel multipath to swith to another path an not use that one anymore and flush it out from the system ?

 

Can it be done with multipathd -k command ? Or this must be done with the hba or emulex commands ?

However, if your goal is to suppress a path, what you can do is `echo 1 > /sys/block/DEV/device/delete` (e.g., if you want to kill the path currently mapped as /dev/sdz, you'd do `echo 1 > /sys/block/sdz/device/delete`). This will cause Linux to kill the path's dev entry and, in turn, shut down IOs down that path to the disk. You'll want to make sure to physically kill the path (i.e. disconnect) or suppress within the HBA management utilities, as well, if you don't want the path to come back if you do an HBA re-scan, though.

 

I wrote a page on it (different context, though):  http://thjones2.posterous.com/linux-multipath-path-failure-simulation