Site icon UnixArena

VXVM Tutorial 7- VXDMP(Dynamic Multi Pathing)

               VXVM(veritas volume manager training) 7 of 10
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
                                                        Thanks to www.symantec.com

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

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.

Thank you for reading this. If you have any doubt,Please leave a comment and i will get back to you as soon as possible.

Exit mobile version