VMware Cloud Community
snootalope
Contributor
Contributor

Redundant paths - Active/Active(I/O)

This is a very basic question I think, but I haven't been able to find an answer via searching and reading documentation.

We have a dual storage processor SAN that connects to our ESXi hosts through two different switches and two different hba's on our esxi hosts.  When I go to the storage view and select a datastore and hit properties then Manage Paths, I can see there are four different routes to each datastore.  Two routes are in standby mode.  The other two show "Active" and "Active(I/0)"  My question is, what's the difference between Active and Active(I/O)?  They're obviously two different paths, one through each switch that connects to our SAN.  I just wanna know why one says (I/O) and the other doesn't?

Reply
0 Kudos
10 Replies
mcowger
Immortal
Immortal

Sounds like you have an MRU pathing policy with an ALUA array.

In that case, 1 controller is the preferred path for a LUN, while the second path is available but not preferred.  In that case, the preferred path is shown as 'Active(IO)' and the other as 'Active'.

IO will only be sent to the preferred path (until it gets failed out).

--Matt VCDX #52 blog.cowger.us
Reply
0 Kudos
mittim12
Immortal
Immortal

If I'm not mistaken and mcowger can correct me if I'm wrong but if your using something like round robin the traffic sent down the non optimal path will be passed through the non owning controller to the owning contrller via the SAN backplane. 

Reply
0 Kudos
mcowger
Immortal
Immortal

Yes (depending on the controller and its design).

However, its generally best to send IOs to the owning controller as theres no backplane hop penalty there.

Of course, a truly active/active array doesn't suffer this penalty (any 3PAR, VMAX, HDS USP, etc).

--M

--Matt VCDX #52 blog.cowger.us
Reply
0 Kudos
depping
Leadership
Leadership

Well when you have an ALUA capable array and use Round-Robin it actually should only use optimized paths in a normal situation to avoid any overhead.

Duncan (VCDX)

Available now on Amazon: vSphere 4.1 HA and DRS technical deepdive

Reply
0 Kudos
snootalope
Contributor
Contributor

Thanks for the responses..  Just a little feedback here.  I haven't configured Round Robin, all my datastore paths are set to "Most Recently Used (VMWare)" --  It's nothing crticial here as everythings working fine, I was just curious why one would say Active I/O and one just says Active.

Just another note, enabling the Round Robin does indeed display Active I/O on both Active adapters.  Makes sense now!  However, when using Most Recently Used, the plain Active path isn't really active then is it?  It's more inactive and just waiting for data in the event something happens to the I/O path.  Anyway...thanks again.

Reply
0 Kudos
nnmansoori
Enthusiast
Enthusiast

Hi, I also have the same question, and honestly I didn't get my answer, I also have 20 Hosts, connected to two Different Storage Arrays, DMX3 and CX4, from 2 different SAN Switches in our Fabric, on DMX3 datastores, when I go to manage paths part, I see: 8 Active I/O, and the Path Selection is set to Round Robin, and in CX4 Datastores, I see: 4 Active I/O and 4 Active paths, and here the Path Selection is set to round robin as well, I'veI also requested Storage admins to use the ALUA protocol on CX4.

I just wonder, why again some paths are Active and not Active I/O.

and in DMX3, does it mean that all the 8 paths are used to send the I/O? (sure not concurrent).

Thanks for your consideration.

Reply
0 Kudos
mcowger
Immortal
Immortal

NastaranM wrote:

Hi, I also have the same question, and honestly I didn't get my answer, I also have 20 Hosts, connected to two Different Storage Arrays, DMX3 and CX4, from 2 different SAN Switches in our Fabric, on DMX3 datastores, when I go to manage paths part, I see: 8 Active I/O, and the Path Selection is set to Round Robin, and in CX4 Datastores, I see: 4 Active I/O and 4 Active paths, and here the Path Selection is set to round robin as well, I'veI also requested Storage admins to use the ALUA protocol on CX4.

I just wonder, why again some paths are Active and not Active I/O.

Because with DMX, all paths are equal and can be sent IO safely and without performance impact.  On the CX4, only half the paths can be sent IO without performance impact (those on the 'owning' controller), hence half are marked as Active/IO and the other half are Active (as in they are there and working, just not being used for IO)

and in DMX3, does it mean that all the 8 paths are used to send the I/O? (sure not concurrent).

Yes.

--Matt VCDX #52 blog.cowger.us
Reply
0 Kudos
emorgoch
Contributor
Contributor

Sorry to hijack the tread, but it's right on topic for me.

We just implemented a new VNX5300 array. Originally when we set it up we configured all the iSCSI connections so they were running in ALUA, and set the multi-pathing policy to round robin. When we did so, the paths to the owned SP showed as Active I/O, and the others showed as Stand-By.

Fast forward a week, and I'm looking at it today. The paths that were showing as Stand-By before are now showing as "Active" (no I/O).

2 Questions: 1) Why the did it change now? I know for certain that ALUA was set on a Friday, and Monday the paths were showing Stand-By.

and 2) Will Round-Robin only the Active I/O paths and only switch to the non-I/O paths if there's no other option, or with it use both Active I/O and Active paths all the time?

Reply
0 Kudos
mcowger
Immortal
Immortal

1) Why the did it change now? I know for certain that ALUA was set on a Friday, and Monday the paths were showing Stand-By.

I suspect that somewhere in that time your systems did a rescan of their storage, this would cause ESXi to record the new ALUA status being reported by the array.

2) Will Round-Robin only the Active I/O paths and only switch to the non-I/O paths if there's no other option, or with it use both Active I/O and Active paths all the time?

Only between Active (IO) paths, as these are all the optimized paths (according to the ALUA reporting, which is very correct).  It will move the to 'active paths' only if the other paths failed.

--Matt VCDX #52 blog.cowger.us
Reply
0 Kudos
emorgoch
Contributor
Contributor

Perfect, exactly what I wanted to know.

Thanks,

Evan

Reply
0 Kudos