You are on page 1of 5

VXVM VXDMP(Dynamic Multi Pathing)

Veritas Dynamic Multi-Pathing provides greater availability, reliability to SAN paths and
it increase the SAN I/O using load balancing .SAN path redundancy ensured by path
failover.

What is multi-pathing software ?


Server is connected to SAN using one or more fiber channel(FC) in different
controllers.But without multi-pathing software the UNIX operating system incorrectly
interprets the two path as leading to two storage units(LUN). By using multi pathing
software,tow paths as leading to the same storage unit.(LUN)

Unix Multi-pathing software importance

How VxDMP works ?

VXDMP Represents multi-paths to a LUN in SAN environments


In the above diagram,LUN is created with name of enc0 and depending on the path,
LUN can be accessed by using c1t99d0 or c2t99d0.But vxdmp sees c1t99d0 & c2t99d0
as single SAN unit. If we loose c1 (controller) still we can access the LUN via c2t99d0.

VX-DMP supports the following support arrays:


Active/Active (A/A)
Asymmetric Active/Active (A/A-A)
Asymmetric Logical Unit Access(ALUA)
Active/Passive (A/P)
Active/Passive in explicit failover mode or non-autotrespass mode (A/P-F)
Active/Passive withLUNgroup failover (A/P-G)

DISPLAYING VXDMP INFORMATION:

To list the controllers,


# vxdmpadm listctlr all
CTLR-NAME ENCLR-TYPE STATE ENCLR-NAME
=====================================================
c2 EMC ENABLED emc0
c4 EMC ENABLED emc0
c0 Disk ENABLED disk
c1 Disk ENABLED disk
As per the above output,we have two controllers for emc0 enclosure.

To list the enclosures,


# vxdmpadm listenclosure all
ENCLR_NAME ENCLR_TYPE ENCLR_SNO STATUS ARRAY_TYPE LUN_COUNT
==============================================================
emc0 EMC 000292704216 CONNECTED A/A 331
disk Disk DISKS CONNECTED Disk 4
Here you can see ,we have two enclosure are available. emc0 (SAN) & disk(local disks)

To find what are Disk are using controller c1,


bash-3.00# vxdmpadm getsubpaths ctlr=c1
NAME STATE[A] PATH-TYPE[M] DMPNODENAME ENCLR-TYPE ENCLR-NAMEATTRS
======================================================
c1t3d0 ENABLED(A) - disk_0 Disk disk -
c1t5d0 ENABLED(A) - disk_1 Disk disk -
c1t4d0 ENABLED(A) - disk_2 Disk disk -
To see specific LUN multi-paths,
# vxdmpadm getsubpaths dmpnodename=emc0_0e790
NAME STATE[A] PATH-TYPE[M] CTLR-NAME ENCLR-TYPE ENCLR-NAMEATTRS
=================================================================
c2t3000034578233D18d57s2 ENABLED(A) - c2 EMC emc0 -
c4t3000034578233D24d57s2 ENABLED(A) - c4 EMC emc0 -
To find who controls the path,i.e to find the enclosure based name.
# vxdmpadm getdmpnode nodename=c2t3000034578233D18d57s2
NAME STATE ENCLR-TYPE PATHS ENBL DSBL ENCLR-NAME
================================================================
emc0_0e790 ENABLED EMC 2 4 0 emc0
To see what are the disks are coming from emc0 enclosure,
# vxdmpadm getdmpnode enclosure=emc0
NAME STATE ENCLR-TYPE PATHS ENBL DSBL ENCLR-NAME
===============================================================
emc0_0e790 ENABLED EMC 2 4 0 emc0
Ads by Browser ShopAd Options

To disable controller,
# vxdmpadm listctlr all
CTLR-NAME ENCLR-TYPE STATE ENCLR-NAME
===========================================================
c1 Disk ENABLED disk
c2 EMC ENABLED emc0
c4 EMC ENABLED emc0
# vxdmpadm disable ctlr=c2

# vxdmpadm listctlr all

CTLR-NAME ENCLR-TYPE STATE ENCLR-NAME


===========================================================
c1 Disk ENABLED disk
c2 EMC DISABLED emc0
c4 EMC ENABLED emc0
To enable controller,
# vxdmpadm enable ctlr=c2

# vxdmpadm listctlr all


CTLR-NAME ENCLR-TYPE STATE ENCLR-NAME
===========================================================
c1 Disk ENABLED disk
c2 EMC ENABLED emc0
c4 EMC ENABLED emc0

VXDMP I/O statistics:


# vxdmpadm iostat show all
VxVM vxdmpadm ERROR V-5-1-14678 DMP IO Statistics collection activity has
been stopped. Use vxdmpadm iostat start to restart IO Statistics
collection and try again.
To start the statistics collection,
# vxdmpadm iostat start

To see the statistics,


# vxdmpadm iostat show all
cpu usage = 10883us per cpu memory = 28672b
OPERATIONS BLOCKS AVG TIME(ms)
PATHNAME READS WRITES READS WRITES READS WRITES
c1t0d0s2 13 0 221 0 20.51 0.00
c1t1d0 381 2396 207193 704884 24.01 16.28
c1t2d0 361 2567 207034 766221 15.02 20.96
c1t3d0 46792 9806 1336359 804680 1.10 16.68
You can reset the statistics to being the monitoring,
# vxdmpadm iostat reset
# vxdmpadm iostat show all
cpu usage = 1us per cpu memory = 28672b
OPERATIONS BLOCKS AVG TIME(ms)
PATHNAME READS WRITES READS WRITES READS WRITES
c1t0d0s2 0 0 0 0 0.00 0.00
c1t1d0 0 0 0 0 0.00 0.00
c1t2d0 0 0 0 0 0.00 0.00
c1t3d0 0 0 0 0 0.00 0.00

I/O policy (I/O load balancing):

To get the enclosure names,


bash-3.00# vxdmpadm listenclosure all
ENCLR_NAME ENCLR_TYPE ENCLR_SNO STATUS ARRAY_TYPE LUN_COUNT
=================================================================
disk Disk DISKS CONNECTED Disk 7

To get the current I/O Policy for ensloure,


bash-3.00# vxdmpadm getattr enclosure disk iopolicy
ENCLR_NAME DEFAULT CURRENT
=========================================================
disk MinimumQ MinimumQ

To modify the I/O policy for the enclosure,


bash-3.00# vxdmpadm setattr enclosure disk iopolicy=balanced
bash-3.00# vxdmpadm getattr enclosure disk iopolicy
ENCLR_NAME DEFAULT CURRENT
=========================================================
disk MinimumQ Balanced
FYI: iopolicy can be either:
adaptive
adaptiveminq
balanced
minimumq
priority
round-robin
Singleactive

To stop DMP,
# vxdmpadm stop restore

To start DMP,
# vxdmpadm start restore

If its already running , you will get below warning messages.

# vxdmpadm start restore


VxVM vxdmpadm ERROR V-5-1-3243 The VxVM restore daemon is already running. You can
stop and restart the restore daemon with desired arguments for changing any of its
parameters