Dynamic Multi-Pathing 7.4.1 Administrator's Guide - AIX

Last Published:
Product(s): InfoScale & Storage Foundation (7.4.1)
Platform: AIX
  1. Understanding DMP
    1.  
      About Dynamic Multi-Pathing (DMP)
    2. How DMP works
      1. How DMP monitors I/O on paths
        1.  
          Path failover mechanism
        2.  
          Subpaths Failover Group (SFG)
        3.  
          Low Impact Path Probing (LIPP)
        4.  
          I/O throttling
      2.  
        Load balancing
      3.  
        Using DMP with LVM boot disks
      4.  
        Disabling MPIO
      5. DMP in a clustered environment
        1.  
          About enabling or disabling controllers with shared disk groups
    3.  
      Multi-controller ALUA support
    4.  
      Multiple paths to disk arrays
    5.  
      Device discovery
    6.  
      Disk devices
    7. Disk device naming in DMP
      1.  
        About operating system-based naming
      2. About enclosure-based naming
        1.  
          Summary of enclosure-based naming
        2.  
          Enclosure based naming with the Array Volume Identifier (AVID) attribute
  2. Setting up DMP to manage native devices
    1.  
      About setting up DMP to manage native devices
    2.  
      Displaying the native multi-pathing configuration
    3.  
      Migrating LVM volume groups to DMP
    4.  
      Migrating to DMP from EMC PowerPath
    5.  
      Migrating to DMP from Hitachi Data Link Manager (HDLM)
    6.  
      Migrating to DMP from IBM Multipath IO (MPIO) or MPIO path control module (PCM)
    7. Using Dynamic Multi-Pathing (DMP) devices with Oracle Automatic Storage Management (ASM)
      1.  
        Enabling Dynamic Multi-Pathing (DMP) devices for use with Oracle Automatic Storage Management (ASM)
      2.  
        Removing Dynamic Multi-Pathing (DMP) devices from the listing of Oracle Automatic Storage Management (ASM) disks
      3.  
        Migrating Oracle Automatic Storage Management (ASM) disk groups on operating system devices to Dynamic Multi-Pathing (DMP) devices
    8.  
      Adding DMP devices to an existing LVM volume group or creating a new LVM volume group
    9.  
      Removing DMP support for native devices
  3. Dynamic Multi-Pathing for the Virtual I/O Server
    1.  
      About Dynamic Multi-Pathing in a Virtual I/O server
    2.  
      About the Volume Manager (VxVM) component in a Virtual I/O server
    3. Configuring Dynamic Multi-Pathing (DMP) on Virtual I/O server
      1.  
        Virtual I/O Server (VIOS) requirements
      2.  
        Migrating from other multi-pathing solutions to DMP on Virtual I/O server
      3.  
        Migrating from MPIO to DMP on a Virtual I/O server for a dual-VIOS configuration
      4.  
        Migrating from PowerPath to DMP on a Virtual I/O server for a dual-VIOS configuration
    4. Configuring Dynamic Multi-Pathing (DMP) pseudo devices as virtual SCSI devices
      1.  
        Exporting Dynamic Multi-Pathing (DMP) devices as virtual SCSI disks
      2.  
        Exporting a Logical Volume as a virtual SCSI disk
      3.  
        Exporting a file as a virtual SCSI disk
    5. Extended attributes in VIO client for a virtual SCSI disk
      1.  
        Configuration prerequisites for providing extended attributes on VIO client for virtual SCSI disk
      2.  
        Displaying extended attributes of virtual SCSI disks
  4. Administering DMP
    1.  
      About enabling and disabling I/O for controllers and storage processors
    2.  
      About displaying DMP database information
    3.  
      Displaying the paths to a disk
    4.  
      Setting customized names for DMP nodes
    5. Configuring DMP for SAN booting
      1.  
        Configuring DMP support for booting over a SAN
      2.  
        Migrating an internal root disk to a SAN root disk under DMP control
      3.  
        Migrating a SAN root disk from MPIO to DMP control
      4.  
        Migrating a SAN root disk from EMC PowerPath to DMP control
    6. Administering the root volume group (rootvg) under DMP control
      1.  
        Running the bosboot command when LVM rootvg is enabled for DMP
      2. Extending an LVM rootvg that is enabled for DMP
        1.  
          Extending an LVM rootvg when dmp_native_support is on
        2.  
          Extending an LVM rootvg when dmp_native_support is off
      3.  
        Reducing the native rootvg that is enabled for DMP
      4.  
        Mirroring the root volume group
      5.  
        Removing the mirror for the root volume group (rootvg)
      6.  
        Cloning a LVM rootvg that is enabled for DMP
      7.  
        Cleaning up the alternate disk volume group when LVM rootvg is enabled for DMP
      8.  
        Using mksysb when the root volume group is under DMP control
      9.  
        Upgrading Dynamic Multi-Pathing and AIX on a DMP-enabled rootvg
    7. Using Storage Foundation in the logical partition (LPAR) with virtual SCSI devices
      1.  
        Setting up DMP for vSCSI devices in the logical partition (LPAR)
      2.  
        About disabling DMP for vSCSI devices in the logical partition (LPAR)
      3.  
        Preparing to install or upgrade Storage Foundation with DMP disabled for vSCSI devices in the logical partition (LPAR)
      4.  
        Disabling DMP multi-pathing for vSCSI devices in the logical partition (LPAR) after installation or upgrade
      5.  
        Adding and removing DMP support for vSCSI devices for an array
      6. How DMP handles I/O for vSCSI devices
        1.  
          Setting the vSCSI I/O policy
    8.  
      Running alt_disk_install, alt_disk_copy and related commands on the OS device when DMP native support is enabled
    9. Administering DMP using the vxdmpadm utility
      1.  
        Retrieving information about a DMP node
      2.  
        Displaying consolidated information about the DMP nodes
      3.  
        Displaying the members of a LUN group
      4.  
        Displaying paths controlled by a DMP node, controller, enclosure, or array port
      5.  
        Displaying information about controllers
      6.  
        Displaying information about enclosures
      7.  
        Displaying information about array ports
      8.  
        User-friendly CLI outputs for ALUA arrays
      9.  
        Displaying information about devices controlled by third-party drivers
      10.  
        Displaying extended device attributes
      11.  
        Suppressing or including devices from VxVM control
      12. Gathering and displaying I/O statistics
        1.  
          Displaying cumulative I/O statistics
        2.  
          Displaying statistics for queued or erroneous I/Os
        3.  
          Examples of using the vxdmpadm iostat command
      13.  
        Setting the attributes of the paths to an enclosure
      14.  
        Displaying the redundancy level of a device or enclosure
      15.  
        Specifying the minimum number of active paths
      16.  
        Displaying the I/O policy
      17. Specifying the I/O policy
        1.  
          Scheduling I/O on the paths of an Asymmetric Active/Active or an ALUA array
        2.  
          Example of applying load balancing in a SAN
      18.  
        Disabling I/O for paths, controllers, array ports, or DMP nodes
      19.  
        Enabling I/O for paths, controllers, array ports, or DMP nodes
      20.  
        Renaming an enclosure
      21.  
        Configuring the response to I/O failures
      22.  
        Configuring the I/O throttling mechanism
      23.  
        Configuring Subpaths Failover Groups (SFG)
      24.  
        Configuring Low Impact Path Probing (LIPP)
      25.  
        Displaying recovery option values
      26.  
        Configuring DMP path restoration policies
      27.  
        Stopping the DMP path restoration thread
      28.  
        Displaying the status of the DMP path restoration thread
      29.  
        Configuring Array Policy Modules
  5. Administering disks
    1.  
      About disk management
    2. Discovering and configuring newly added disk devices
      1.  
        Partial device discovery
      2. About discovering disks and dynamically adding disk arrays
        1.  
          How DMP claims devices
        2.  
          Disk categories
        3.  
          Adding DMP support for a new disk array
        4.  
          Enabling discovery of new disk arrays
        5.  
          Discovering renamed devices on AIX
      3.  
        About third-party driver coexistence
      4. How to administer the Device Discovery Layer
        1.  
          Listing all the devices including iSCSI
        2.  
          Listing all the Host Bus Adapters including iSCSI
        3.  
          Listing the ports configured on a Host Bus Adapter
        4.  
          Listing the targets configured from a Host Bus Adapter or a port
        5.  
          Listing the devices configured from a Host Bus Adapter and target
        6.  
          Getting or setting the iSCSI operational parameters
        7.  
          Listing all supported disk arrays
        8.  
          Excluding support for a disk array library
        9.  
          Re-including support for an excluded disk array library
        10.  
          Listing excluded disk arrays
        11.  
          Listing disks claimed in the DISKS category
        12.  
          Displaying details about an Array Support Library
        13.  
          Adding unsupported disk arrays to the DISKS category
        14.  
          Removing disks from the DISKS category
        15.  
          Foreign devices
    3. Changing the disk device naming scheme
      1.  
        Displaying the disk-naming scheme
      2.  
        Regenerating persistent device names
      3.  
        Changing device naming for enclosures controlled by third-party drivers
    4.  
      Discovering the association between enclosure-based disk names and OS-based disk names
  6. Dynamic Reconfiguration of devices
    1.  
      About online Dynamic Reconfiguration
    2. Reconfiguring a LUN online that is under DMP control using the Dynamic Reconfiguration tool
      1.  
        Removing LUNs dynamically from an existing target ID
      2.  
        Adding new LUNs dynamically to a target ID
      3.  
        Replacing LUNs dynamically from an existing target ID
      4.  
        Replacing a host bus adapter online
    3. Manually reconfiguring a LUN online that is under DMP control
      1.  
        Overview of manually reconfiguring a LUN
      2.  
        Manually removing LUNs dynamically from an existing target ID
      3.  
        Manually adding new LUNs dynamically to a new target ID
      4.  
        About detecting target ID reuse if the operating system device tree is not cleaned up
      5.  
        Scanning an operating system device tree after adding or removing LUNs
      6.  
        Manually cleaning up the operating system device tree after removing LUNs
      7.  
        Manually replacing a host bus adapter online
    4.  
      Changing the characteristics of a LUN from the array side
    5.  
      Upgrading the array controller firmware online
  7. Event monitoring
    1.  
      About the Dynamic Multi-Pathing (DMP) event source daemon (vxesd)
    2.  
      Fabric Monitoring and proactive error detection
    3.  
      Dynamic Multi-Pathing (DMP) discovery of iSCSI and SAN Fibre Channel topology
    4.  
      DMP event logging
    5.  
      Starting and stopping the Dynamic Multi-Pathing (DMP) event source daemon
  8. Performance monitoring and tuning
    1.  
      About tuning Dynamic Multi-Pathing (DMP) with templates
    2.  
      DMP tuning templates
    3.  
      Example DMP tuning template
    4.  
      Tuning a DMP host with a configuration attribute template
    5.  
      Managing the DMP configuration files
    6.  
      Resetting the DMP tunable parameters and attributes to the default values
    7.  
      DMP tunable parameters and attributes that are supported for templates
    8.  
      DMP tunable parameters
    9.  
      DMP driver tunables
  9. Appendix A. DMP troubleshooting
    1.  
      Displaying extended attributes after upgrading to DMP 7.4.1
    2.  
      Recovering from errors when you exclude or include paths to DMP
    3.  
      Downgrading the array support
  10. Appendix B. Reference
    1.  
      Command completion for Veritas commands

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
=============================================================================
hdisk1    ENABLED(A)   -          disk_0       disk         scsi0    -
hdisk0    ENABLED(A)   -          disk_1       disk         scsi0    -
hdisk107  ENABLED(A) PRIMARY      emc_clariion0_17 emc_clariion0 fscsi1   -
hdisk17   ENABLED    SECONDARY    emc_clariion0_17 emc_clariion0 fscsi0   -
hdisk108  ENABLED(A) PRIMARY      emc_clariion0_74 emc_clariion0 fscsi1   -
hdisk18   ENABLED    SECONDARY    emc_clariion0_74 emc_clariion0 fscsi0   -
hdisk109  ENABLED(A) PRIMARY      emc_clariion0_75 emc_clariion0 fscsi1   -
hdisk19   ENABLED    SECONDARY    emc_clariion0_75 emc_clariion0 fscsi0   -

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=hdisk22

NAME    STATE[A]  PATH-TYPE[M] CTLR-NAME ENCLR-TYPE ENCLR-NAME ATTRS
====================================================================
hdisk22 ENABLED(A) PRIMARY     scsi2     ACME       enc0       -
hdisk21 ENABLED    PRIMARY     scsi1     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=fscsi1

NAME     STATE[A]   PATH-TYPE[M] DMPNODENAME  ENCLR-TYPE   ENCLR-NAME   ATTRS
=============================================================================
hdisk107 ENABLED(A) PRIMARY      emc_clariion0_17 EMC_CLARiiON emc_clariion0 -
hdisk62  ENABLED    SECONDARY    emc_clariion0_17 EMC_CLARiiON emc_clariion0 -
hdisk108 ENABLED(A) PRIMARY      emc_clariion0_74 EMC_CLARiiON emc_clariion0 -
hdisk63  ENABED     SECONDARY    emc_clariion0_74 EMC_CLARiiON emc_clariion0 -

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=emc_clariion0 portid=A2
NAME     STATE[A]   PATH-TYPE[M] DMPNODENAME  ENCLR-NAME   CTLR    ATTRS
========================================================================
hdisk111 ENABLED(A) PRIMARY      emc_clariion0_80 emc_clariion0 fscsi1 -
hdisk51  ENABLED(A) PRIMARY      emc_clariion0_80 emc_clariion0 fscsi0 -
hdisk112 ENABLED(A) PRIMARY      emc_clariion0_81 emc_clariion0 fscsi1 -
hdisk52  ENABLED(A) PRIMARY      emc_clariion0_81 emc_clariion0 fscsi0 -

For example, to list subpaths through an array port through the WWN:

NAME     STATE[A]   PATH-TYPE[M] DMPNODENAME  ENCLR-NAME   CTLR    ATTRS
========================================================================
hdisk111 ENABLED(A) PRIMARY      emc_clariion0_80 emc_clariion0 fscsi1 -
hdisk51  ENABLED(A) PRIMARY      emc_clariion0_80 emc_clariion0 fscsi0 -
hdisk112 ENABLED(A) PRIMARY      emc_clariion0_81 emc_clariion0 fscsi1 -
hdisk52  ENABLED(A) PRIMARY      emc_clariion0_81 emc_clariion0 fscsi0 -

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=emc_clariion0
NAME         STATE[A]   PATH-TYPE[M] DMPNODENAME  ENCLR-NAME   CTLR    ATTRS
================================================================================
hdisk107     ENABLED(A) PRIMARY      emc_clariion0_17 emc_clariion0 fscsi1    -
hdisk17      ENABLED    SECONDARY    emc_clariion0_17 emc_clariion0 fscsi0    -
hdisk110     ENABLED(A) PRIMARY      emc_clariion0_76 emc_clariion0 fscsi1    -
hdisk20      ENABLED    SECONDARY    emc_clariion0_76 emc_clariion0 fscsi0    -

To list all subpaths of a controller on an enclosure:

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] 

See Setting customized names for DMP nodes.