InfoScale™ 9.0 Dynamic Multi-Pathing Administrator's Guide - Solaris
- Understanding DMP
- How DMP works
- Disk device naming in DMP
- Setting up DMP to manage native devices
- Using Dynamic Multi-Pathing (DMP) devices with Oracle Automatic Storage Management (ASM)
- Administering DMP
- Managing DMP devices for the ZFS root pool
- Administering DMP using the vxdmpadm utility
- Gathering and displaying I/O statistics
- Specifying the I/O policy
- Administering disks
- Discovering and configuring newly added disk devices
- About discovering disks and dynamically adding disk arrays
- How to administer the Device Discovery Layer
- Changing the disk device naming scheme
- Dynamic Reconfiguration of devices
- About the DMPDR utility
- Reconfiguring a LUN online that is under DMP control using the Dynamic Reconfiguration tool
- Manually reconfiguring a LUN online that is under DMP control
- Event monitoring
- Performance monitoring and tuning
- Appendix A. DMP troubleshooting
- Appendix B. Reference
Displaying paths controlled by a DMP node, controller, enclosure, or array port
The vxdmpadm getsubpaths command lists all of the paths known to Dynamic Multi-Pathing (DMP). The vxdmpadm getsubpaths command also provides options to list the subpaths through a particular DMP node, controller, enclosure, or array port. To list the paths through an array port, specify either a combination of enclosure name and array port id, or array port worldwide name (WWN).
To list all subpaths known to DMP:
# vxdmpadm getsubpaths
NAME STATE[A] PATH-TYPE[M] DMPNODENAME ENCLR-NAME CTLR ATTRS ======================================================================= c1t65d0s2 ENABLED(A) - Disk_1 Disk c1 - c1t66d0s2 ENABLED(A) - Disk_2 Disk c1 - c2t65d0s2 ENABLED(A) - Disk_1 Disk c2 - c2t66d0s2 ENABLED(A) - Disk_2 Disk c2 - c3t2d0s2 ENABLED(A) - EMC0_1 EMC0 c3 - c3t2d1s2 ENABLED(A) - EMC0_2 EMC0 c3 - c4t2d0s2 ENABLED(A) - EMC0_1 EMC0 c4 - c4t2d1s2 ENABLED(A) - EMC0_2 EMC0 c4 -
The vxdmpadm getsubpaths command combined with the dmpnodename attribute displays all the paths to a LUN that are controlled by the specified DMP node name from the /dev/vx/rdmp directory:
# vxdmpadm getsubpaths dmpnodename=c2t66d0s2 NAME STATE[A] PATH-TYPE[M] CTLR-NAME ENCLR-TYPE ENCLR-NAME ATTRS ======================================================================= c2t66d0s2 ENABLED(A) PRIMARY c2 ACME enc0 - c1t66d0s2 ENABLED PRIMARY c1 ACME enc0 -
For A/A arrays, all enabled paths that are available for I/O are shown as ENABLED(A).
For A/P arrays in which the I/O policy is set to singleactive, only one path is shown as ENABLED(A). The other paths are enabled but not available for I/O. If the I/O policy is not set to singleactive, DMP can use a group of paths (all primary or all secondary) for I/O, which are shown as ENABLED(A).
Paths that are in the DISABLED state are not available for I/O operations.
A path that was manually disabled by the system administrator displays as DISABLED(M). A path that failed displays as DISABLED.
You can use getsubpaths to obtain information about all the paths that are connected to a particular HBA controller:
# vxdmpadm getsubpaths ctlr=c2 NAME STATE[-] PATH-TYPE[-] DMPNODENAME ENCLR-TYPE ENCLR-NAME ATTRS ====================================================================== c2t1d0s2 ENABLED(A) PRIMARY c2t1d0s2 ACME enc0 - c2t2d0s2 ENABLED(A) PRIMARY c2t2d0s2 ACME enc0 - c2t3d0s2 DISABLED SECONDARY c2t3d0s2 ACME enc0 - c2t4d0s2 ENABLED SECONDARY c2t4d0s2 ACME enc0 -
You can also use getsubpaths to obtain information about all the paths that are connected to a port on an array. The array port can be specified by the name of the enclosure and the array port ID, or by the WWN identifier of the array port:
# vxdmpadm getsubpaths enclosure=enclosure portid=portid # vxdmpadm getsubpaths pwwn=pwwn
For example, to list subpaths through an array port through the enclosure and the array port ID:
# vxdmpadm getsubpaths enclosure=HDS9500-ALUA0 portid=1A
NAME STATE[A] PATH-TYPE[M] DMPNODENAME ENCLR-NAME CTLR ATTRS ======================================================================= c1t65d0s2 ENABLED(A) PRIMARY c1t65d0s2 HDS9500-ALUA0 c1 - c1t66d0s2 ENABLED(A) PRIMARY c1t66d0s2 HDS9500-ALUA0 c1 -
For example, to list subpaths through an array port through the WWN:
# vxdmpadm getsubpaths pwwn=20:00:00:E0:8B:06:5F:19
NAME STATE[A] PATH-TYPE[M] DMPNODENAME ENCLR-NAME CTLR ATTRS ======================================================================= c1t65d0s2 ENABLED(A) PRIMARY c1t65d0s2 HDS9500-ALUA0 c1 - c1t66d0s2 ENABLED(A) PRIMARY c1t66d0s2 HDS9500-ALUA0 c1 -
You can use getsubpaths to obtain information about all the subpaths of an enclosure.
# vxdmpadm getsubpaths enclosure=enclosure_name [ctlr=ctlrname]
To list all subpaths of an enclosure:
# vxdmpadm getsubpaths enclosure=Disk NAME STATE[A] PATH-TYPE[M] DMPNODENAME ENCLR-NAME CTLR ATTRS ===================================================================== c1t65d0s2 ENABLED(A) - Disk_1 Disk c1 - c1t66d0s2 ENABLED(A) - Disk_2 Disk c1 - c2t65d0s2 ENABLED(A) - Disk_1 Disk c2 - c2t66d0s2 ENABLED(A) - Disk_2 Disk c2 -
To list all subpaths of a controller on an enclosure:
# vxdmpadm getsubpaths enclosure=emc_clariion0
NAME STATE[A] PATH-TYPE[M] DMPNODENAME ENCLR-NAME CTLR ATTRS PRIORITY ======================================================================================== sdab ENABLED Active/Non-Optimized emc_clariion0_429 emc_clariion0 c6 - - sdal ENABLED(A) Active/Optimized(P) emc_clariion0_429 emc_clariion0 c6 - - sdh ENABLED Active/Non-Optimized emc_clariion0_429 emc_clariion0 c1 - - sdr ENABLED(A) Active/Optimized(P) emc_clariion0_429 emc_clariion0 c1 - -
By default, the output of the vxdmpadm getsubpaths command is sorted by enclosure name, DMP node name, and within that, path name.
To sort the output based on the pathname, the DMP node name, the enclosure name, or the host controller name, use the -s
option.
To sort subpaths information, use the following command:
# vxdmpadm -s {path | dmpnode | enclosure | ctlr} getsubpaths \ [all | ctlr=ctlr_name | dmpnodename=dmp_device_name | \ enclosure=enclr_name [ctlr=ctlr_name | portid=array_port_ID] | \ pwwn=port_WWN | tpdnodename=tpd_node_name]
More Information