Friday, January 4, 2008
at
2:54 PM
|
How to configure load balancing across multiple primary paths in an Active/Passive DMP environment using VERITAS Volume Manager (tm) 4.x
Details:
In an Active/Passive Dynamic Multipathing (DMP) environment, it is possible that there may be multiple primary paths to a device due to a mesh of SAN switches. Volume Manager 4.0 can be configured to allow load balancing across multiple primary paths. This TechNote explains how to do this.
Note: This feature was not available in releases prior to 4.0
In the following example, device c3t2d15 belongs to a disk group named tonydg and contains a simple concatenated volume named tony1. The device has eight primary paths:
DMP statistics are enabled and a read based workload is applied to the volume:
By displaying the DMP statistics for device c3t2d15, it can be seen that all I/Os are being directed to one subpath, c5t5d15:
Using vxdmpadm, it is clear that the default iopolicy for this enclosure is Single Active (which explains the above behavior):
To load balance across multiple primaries, the iopolicy should be set to round-robin:
The DMP statistics are reset and the same workload is applied to the volume, load balancing across the primary paths can be seen.
The enclosure can be returned to its default policy of single active with the following:
Note: This setting is not persistent across reboots, I/O policies will revert to their default. Persistence can be configured by adding the relevant vxdmpadm command to a boot script.
Details:
In an Active/Passive Dynamic Multipathing (DMP) environment, it is possible that there may be multiple primary paths to a device due to a mesh of SAN switches. Volume Manager 4.0 can be configured to allow load balancing across multiple primary paths. This TechNote explains how to do this.
Note: This feature was not available in releases prior to 4.0
In the following example, device c3t2d15 belongs to a disk group named tonydg and contains a simple concatenated volume named tony1. The device has eight primary paths:
#
vxdisk list c3t2d15s2
Device: c3t2d15s2
<..snip..>
numpaths: 8
c2t0d15s2 state=enabled type=primary
c2t1d15s2 state=enabled type=primary
c3t1d15s2 state=enabled type=primary
c3t2d15s2 state=enabled type=primary
c4t3d15s2 state=enabled type=primary
c4t4d15s2 state=enabled type=primary
c5t3d15s2 state=enabled type=primary
c5t5d15s2 state=enabled type=primary
DMP statistics are enabled and a read based workload is applied to the volume:
#
vxdmpadm iostat start
#
dd if=/dev/vx/rdsk/tonydg/tony1 of=/dev/null bs=512k count=6144
By displaying the DMP statistics for device c3t2d15, it can be seen that all I/Os are being directed to one subpath, c5t5d15:
#
vxdmpadm iostat show dmpnodename=c3t2d15s2
cpu usage = 8023us per cpu memory = 32768b
OPERATIONS MBYTES AVG TIME(ms)
PATHNAME READS WRITES READS WRITES READS WRITES
c2t0d15s2 0 0 0 0 0.000000 0.000000
c2t1d15s2 0 0 0 0 0.000000 0.000000
c3t1d15s2 0 0 0 0 0.000000 0.000000
c3t2d15s2 0 0 0 0 0.000000 0.000000
c4t3d15s2 0 0 0 0 0.000000 0.000000
c4t4d15s2 0 0 0 0 0.000000 0.000000
c5t3d15s2 0 0 0 0 0.000000 0.000000
c5t5d15s2 6144 0 3145728 0 0.011081 0.000000
Using vxdmpadm, it is clear that the default iopolicy for this enclosure is Single Active (which explains the above behavior):
#
vxdmpadm getattr enclosure HDS92000 iopolicy
ENCLR_NAME DEFAULT CURRENT
============================================
HDS92000 Single-Active Single-Active
To load balance across multiple primaries, the iopolicy should be set to round-robin:
#
vxdmpadm setattr enclosure HDS92000 iopolicy=round-robin
#
vxdmpadm getattr enclosure HDS92000 iopolicy
ENCLR_NAME DEFAULT CURRENT
============================================
HDS92000 Single-Active Round-Robin
The DMP statistics are reset and the same workload is applied to the volume, load balancing across the primary paths can be seen.
#
vxdmpadm iostat reset
#
dd if=/dev/vx/rdsk/tonydg/tony1 of=/dev/null bs=512k count=6144
#
vxdmpadm iostat show dmpnodename=c3t2d15s2
cpu usage = 7223us per cpu memory = 32768b
OPERATIONS MBYTES AVG TIME(ms)
PATHNAME READS WRITES READS WRITES READS WRITES
c2t0d15s2 786 0 402432 0 0.011013 0.000000
c2t1d15s2 778 0 398336 0 0.011267 0.000000
c3t1d15s2 772 0 395264 0 0.011205 0.000000
c3t2d15s2 744 0 380928 0 0.011094 0.000000
c4t3d15s2 750 0 384000 0 0.011029 0.000000
c4t4d15s2 768 0 393216 0 0.011169 0.000000
c5t3d15s2 733 0 375296 0 0.010943 0.000000
c5t5d15s2 813 0 416256 0 0.011068 0.000000
The enclosure can be returned to its default policy of single active with the following:
#
vxdmpadm setattr enclosure HDS92000 iopolicy=singleactive
Note: This setting is not persistent across reboots, I/O policies will revert to their default. Persistence can be configured by adding the relevant vxdmpadm command to a boot script.
Posted by
JAUGHN
Labels:
SAN,
Veritas Volume Manager,
VxVM - DMP
0 comments:
Post a Comment