On Fri, 15 Feb 2008, Peter Tribble wrote:

> Each LUN is accessed through only one of the controllers (I presume the
> 2540 works the same way as the 2530 and 61X0 arrays). The paths are
> active/passive (if the active fails it will relocate to the other path).
> When I set mine up the first time it allocated all the LUNs to controller B
> and performance was terrible. I then manually transferred half the LUNs
> to controller A and it started to fly.

I assume that you either altered the "Access State" shown for the LUN 
in the output of 'mpathadm show lu DEVICE' or you noticed and 
observed the pattern:

         Target Port Groups:
                 ID:  3
                 Explicit Failover:  yes
                 Access State:  active
                 Target Ports:
                         Name:  200400a0b83a8a0c
                         Relative ID:  0

                 ID:  2
                 Explicit Failover:  yes
                 Access State:  standby
                 Target Ports:
                         Name:  200500a0b83a8a0c
                         Relative ID:  0

I find this all very interesting and illuminating:

for dev in c4t600A0B80003A8A0B0000096A47B4559Ed0  \
c4t600A0B80003A8A0B0000096E47B456DAd0 \
c4t600A0B80003A8A0B0000096147B451BEd0 \
c4t600A0B80003A8A0B0000096647B453CEd0 \
c4t600A0B80003A8A0B0000097347B457D4d0 \
c4t600A0B800039C9B500000A9C47B4522Dd0 \
c4t600A0B800039C9B500000AA047B4529Bd0 \
c4t600A0B800039C9B500000AA447B4544Fd0 \
c4t600A0B800039C9B500000AA847B45605d0 \
c4t600A0B800039C9B500000AAC47B45739d0 \
c4t600A0B800039C9B500000AB047B457ADd0 \
c4t600A0B800039C9B500000AB447B4595Fd0 \
do
echo "=== $dev ==="
for> mpathadm show lu /dev/rdsk/$dev | grep 'Access State'
for> done
=== c4t600A0B80003A8A0B0000096A47B4559Ed0 ===
                 Access State:  active
                 Access State:  standby
=== c4t600A0B80003A8A0B0000096E47B456DAd0 ===
                 Access State:  active
                 Access State:  standby
=== c4t600A0B80003A8A0B0000096147B451BEd0 ===
                 Access State:  active
                 Access State:  standby
=== c4t600A0B80003A8A0B0000096647B453CEd0 ===
                 Access State:  active
                 Access State:  standby
=== c4t600A0B80003A8A0B0000097347B457D4d0 ===
                 Access State:  active
                 Access State:  standby
=== c4t600A0B800039C9B500000A9C47B4522Dd0 ===
                 Access State:  active
                 Access State:  standby
=== c4t600A0B800039C9B500000AA047B4529Bd0 ===
                 Access State:  standby
                 Access State:  active
=== c4t600A0B800039C9B500000AA447B4544Fd0 ===
                 Access State:  standby
                 Access State:  active
=== c4t600A0B800039C9B500000AA847B45605d0 ===
                 Access State:  standby
                 Access State:  active
=== c4t600A0B800039C9B500000AAC47B45739d0 ===
                 Access State:  standby
                 Access State:  active
=== c4t600A0B800039C9B500000AB047B457ADd0 ===
                 Access State:  standby
                 Access State:  active
=== c4t600A0B800039C9B500000AB447B4595Fd0 ===
                 Access State:  standby
                 Access State:  active

Notice that the first six LUNs are active to one controller while the 
second six LUNs are active to the other controller.  Based on this, I 
should rebuild my pool by splitting my mirrors across this boundary.

I am really happy that ZFS makes such things easy to try out.

Bob
======================================
Bob Friesenhahn
[EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/

_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to