[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [dm-devel] IBM (Adaptec) DS400 SAN support - sponsorship



Kevin Taylor wrote:
Hello devs,

I'm hoping that I can find the right person to help me on this list, as
it seems this list is, by far, the greatest collection of people with
expertise regarding dm-multipath.

My desire:

To locate a person who can write a hardware handler for the DS400 that
will allow proper active/passive fail-over/fail-back, which we would be
happy to sponsor financially (for contribution back to the project, of
course).

My situation:

Our company has an existing IBM DS400 SAN that we are trying to deploy
as part of a Oracle RAC project.  In doing testing and analysis of the
device and proper configuration of it for this purpose, I have learned
that in a two controller configuration, this device is active/passive,
and that in dm-multipath this results in the following configuration
profile (from "multipath -ll" with all controllers connected):

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

ora_admin (20000d126733eaf14)
[size=10 GB][features="0"][hwhandler="0"]
\_ round-robin 0 [enabled]
 \_ 1:0:0:3 sde 8:64  [active][faulty]
\_ round-robin 0 [prio=1][active]
 \_ 1:0:1:3 sdk 8:160 [active][ready]

20000d126733eaf17
[size=10 MB][features="0"][hwhandler="0"]
\_ round-robin 0 [enabled]
 \_ 1:0:0:0 sdb 8:16  [active][faulty]
\_ round-robin 0 [prio=1][active]
 \_ 1:0:1:0 sdh 8:112 [active][ready]

ora_data1 (20000d126733eaf10)
[size=200 GB][features="0"][hwhandler="0"]
\_ round-robin 0 [enabled]
 \_ 1:0:0:5 sdg 8:96  [active][faulty]
\_ round-robin 0 [prio=1][enabled]
 \_ 1:0:1:5 sdm 8:192 [active][ready]

ora_archive (20000d126733eaf15)
[size=50 GB][features="0"][hwhandler="0"]
\_ round-robin 0 [enabled]
 \_ 1:0:0:4 sdf 8:80  [active][faulty]
\_ round-robin 0 [prio=1][active]
 \_ 1:0:1:4 sdl 8:176 [active][ready]

ora_redo2 (20000d126733eaf0b)
[size=68 GB][features="0"][hwhandler="0"]
\_ round-robin 0 [prio=1][active]
 \_ 1:0:0:2 sdd 8:48  [active][ready]
\_ round-robin 0 [enabled]
 \_ 1:0:1:2 sdj 8:144 [active][faulty]

ora_redo1 (20000d126733eaf0a)
[size=68 GB][features="0"][hwhandler="0"]
\_ round-robin 0 [prio=1][active]
 \_ 1:0:0:1 sdc 8:32  [active][ready]
\_ round-robin 0 [enabled]
 \_ 1:0:1:1 sdi 8:128 [active][faulty]

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

And when controller 1 is unplugged, the configuration does the
following:

ora_admin (20000d126733eaf14)
[size=10 GB][features="0"][hwhandler="0"]
\_ round-robin 0 [enabled]
 \_ 1:0:0:3 sde 8:64  [active][faulty]
\_ round-robin 0 [prio=1][active]
 \_ 1:0:1:3 sdk 8:160 [active][ready]

20000d126733eaf17
[size=10 MB][features="0"][hwhandler="0"]
\_ round-robin 0 [enabled]
 \_ 1:0:0:0 sdb 8:16  [active][faulty]
\_ round-robin 0 [prio=1][active]
 \_ 1:0:1:0 sdh 8:112 [active][ready]

ora_data1 (20000d126733eaf10)
[size=200 GB][features="0"][hwhandler="0"]
\_ round-robin 0 [enabled]
 \_ 1:0:0:5 sdg 8:96  [failed][faulty]
\_ round-robin 0 [prio=1][enabled]
 \_ 1:0:1:5 sdm 8:192 [active][ready]

ora_archive (20000d126733eaf15)
[size=50 GB][features="0"][hwhandler="0"]
\_ round-robin 0 [enabled]
 \_ 1:0:0:4 sdf 8:80  [failed][faulty]
\_ round-robin 0 [prio=1][active]
 \_ 1:0:1:4 sdl 8:176 [active][ready]

ora_redo2 (20000d126733eaf0b)
[size=68 GB][features="0"][hwhandler="0"]
\_ round-robin 0 [active]
 \_ 1:0:0:2 sdd 8:48  [failed][faulty]
\_ round-robin 0 [enabled]
 \_ 1:0:1:2 sdj 8:144 [active][faulty]

ora_redo1 (20000d126733eaf0a)
[size=68 GB][features="0"][hwhandler="0"]
\_ round-robin 0 [enabled]
 \_ 1:0:0:1 sdc 8:32  [failed][faulty]
\_ round-robin 0 [enabled]
 \_ 1:0:1:1 sdi 8:128 [failed][faulty]

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

And when controller 2 is unplugged, the configuration does the
following:

ora_admin (20000d126733eaf14)
[size=10 GB][features="0"][hwhandler="0"]
\_ round-robin 0 [enabled]
 \_ 1:0:0:3 sde 8:64  [active][faulty]
\_ round-robin 0 [active]
 \_ 1:0:1:3 sdk 8:160 [failed][faulty]

20000d126733eaf17
[size=10 MB][features="0"][hwhandler="0"]
\_ round-robin 0 [enabled]
 \_ 1:0:0:0 sdb 8:16  [active][faulty]
\_ round-robin 0 [active]
 \_ 1:0:1:0 sdh 8:112 [failed][faulty]

ora_data1 (20000d126733eaf10)
[size=200 GB][features="0"][hwhandler="0"]
\_ round-robin 0 [enabled]
 \_ 1:0:0:5 sdg 8:96  [active][faulty]
\_ round-robin 0 [enabled]
 \_ 1:0:1:5 sdm 8:192 [active][faulty]

ora_archive (20000d126733eaf15)
[size=50 GB][features="0"][hwhandler="0"]
\_ round-robin 0 [enabled]
 \_ 1:0:0:4 sdf 8:80  [active][faulty]
\_ round-robin 0 [active]
 \_ 1:0:1:4 sdl 8:176 [failed][faulty]

ora_redo2 (20000d126733eaf0b)
[size=68 GB][features="0"][hwhandler="0"]
\_ round-robin 0 [prio=1][active]
 \_ 1:0:0:2 sdd 8:48  [active][ready]
\_ round-robin 0 [enabled]
 \_ 1:0:1:2 sdj 8:144 [active][faulty]

ora_redo1 (20000d126733eaf0a)
[size=68 GB][features="0"][hwhandler="0"]
\_ round-robin 0 [prio=1][active]
 \_ 1:0:0:1 sdc 8:32  [active][ready]
\_ round-robin 0 [enabled]
 \_ 1:0:1:1 sdi 8:128 [failed][faulty]

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

I believe that without a proper hardware handler to instruct the DS400
to activate the passive controller and shift all LUNS in a timely
fashion, that this storage unit will not be able to be used in a
multipath manner for controller failover.  Of course, it's quite
possible that I am wrong, and there may be another way to make this
active/passive configuration work without a hardware handler, and I'd be
very happy to hear about any alternatives anyone may suggest.

It looks as it if this is an RDAC style controller.
If you have the latest sg_utils ready you can try to issue an

sg_inq -e /dev/sgX

If there are any pages listed within the 0xc0 - 0xcf range there is a good change this is such a system.
And

sg_inq -e -p=0xc2 /dev/sgX

should lists some meaningful info.

Unfortunately there is currently only limited support for RDAC style controllers; you can try using the 'prio_tpc' priority program; this will allow you at least to access the storage properly. To enable proper failover you'll have to ensure to place the storage in 'AVT' mode (Automatic Volume Transfer); but you'll have to look up in the manual on how to do that. Proper RDAC mode requires an hardware handler; the current multipath-tools / device-mapper does not implement this.

Would anyone here be willing to talk with me about our sponsorship of
expanding the supported hardware list for dm-multipath to include this
device?  Does anyone know a person not already on this list who might be
a good possibility as a developer for such a project?

I have started to implement such an hardware handler, but haven't progressed any further due to other tasks.

Drop me a mail if you'd like to support the development.

Cheers,

Hannes
--
Dr. Hannes Reinecke			hare suse de
SuSE Linux Products GmbH		S390 & zSeries
Maxfeldstraße 5				+49 911 74053 688
90409 Nürnberg				http://www.suse.de


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]