open-iscsi initiator on linux does not see the passive side of an active/passive open-e target

Posted on

open-iscsi initiator on linux does not see the passive side of an active/passive open-e target – Managing your servers can streamline the performance of your team by allowing them to complete complex tasks faster. Plus, it can enable them to detect problems early on before they get out of hand and compromise your business. As a result, the risk of experiencing operational setbacks is drastically lower.

But the only way to make the most of your server management is to perform it correctly. And to help you do so, this article will share nine tips on improving your server management and fix some problem about linux, iscsi, failover, multipath, .

I have a Linux server running SLES11 SP4 which uses open-iscsi and multipathing to connect to a LUN that is presented from an Open-E DSS v7 storage cluster with active/passive failover.

The Linux server db03 has its interface bond0 with the IP 10.0.100.66/22 in our iSCSI Network. Each side of the Open-E cluster has two IPs in the iSCSI network: 10.0.100.71 and 10.0.100.72 on the first node and 10.0.100.73 and 10.0.100.74 on the second.

So when no failover has occured, discovery looks like this:

db03:~ # iscsiadm -m discovery -t sendtargets -p 10.0.100.71:3260
10.0.100.71:3260,1 opene.lun602
10.0.100.72:3260,1 opene.lun602

With both targets connected this is the multipathing status:

db03:~ # multipath -ll
opene.lun602 (2697a42a45d5dcbdb) dm-0 SCST_BIO,izcegeu6eeb2jaeJ
size=500G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  |- 7:0:0:0 sda        8:0   active ready running
  `- 8:0:0:0 sdb        8:16  active ready running

In case of a failover both these connections go into failed faulty, I am left with 0 paths and all I/O errors until the kernel decides to remount the filesystem read-only.

At that point I can manually try another discovery, connect the two other targets, … But no kind of failover happens automatically on the Linux side of things.

So I wonder:

  • Is there a way that linux can regularly rediscover for changes like these? I could not find any.

  • Is there a way to tell the Open-E DSS software to announce the other paths but signal that they are backup? (At one point in time we managed to have the cluster show all 4 paths, but they were incorrectly shown as active ready which clearly can’t be a good idea together with an active/passive cluster where you are only ment to direct I/O to the active part.)

  • How is VMWare handling this? A VMWare Cluster connected to another LUN that is configured in the same manner shows no such problems.

For reference this is my multipath.conf:

cat /etc/multipath.conf
multipaths {
    multipath {
        wwid        2697a42a45d5dcbdb
        alias       opene.lun602
    }
}
devices {
    device {
        vendor          "SCST_FIO|SCST_BIO"
        product         "*"
        path_selector       "round-robin 0"
        path_grouping_policy    multibus
        rr_min_io       100
    }
}

Solution :

I have a Linux server running SLES11 SP4 which uses open-iscsi and multipathing to connect to a LUN that is presented from an Open-E DSS v7 storage cluster with active/passive failover.

Ping Open-E unfortunately very close to being just missing support. These guys use fork-out from SCST target with some serious mods so everything people will recommend based on a “common” SCST knowledge may or may NOT work while people who had worked with Open-E before are rare for a very good reason. Sorry about that!

Multipath on ESXi is another story. To make your update work reliably you’ll most probably end with a node restart. Perfect wrap up here:

http://www.codyhosterman.com/2015/03/esxi-iscsi-multipathing/

Good luck!