Dynamic Multi-Pathing 7.3.1 Administrator's Guide - Linux
- Understanding DMP
- Setting up DMP to manage native devices
- Using Dynamic Multi-Pathing (DMP) devices with Oracle Automatic Storage Management (ASM)
- Administering DMP
- 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
- 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 cumulative I/O statistics
The vxdmpadm iostat command provides the ability to analyze the I/O load distribution across various I/O channels or parts of I/O channels. Select the appropriate filter to display the I/O statistics for the DMP node, controller, array enclosure, path, port, or virtual machine. Then, use the groupby clause to display cumulative statistics according to the criteria that you want to analyze. If the groupby
clause is not specified, then the statistics are displayed per path.
When you combine the filter and the groupby clause, you can analyze the I/O load for the required use case scenario. For example:
To compare I/O load across HBAs, enclosures, or array ports, use the groupby clause with the specified attribute.
To analyze I/O load across a given I/O channel (HBA to array port link), use filter by HBA and PWWN or enclosure and array port.
To analyze I/O load distribution across links to an HBA, use filter by HBA and groupby array port.
Use the following format of the iostat command to analyze the I/O loads:
# vxdmpadm [-u unit] iostat show [groupby=criteria] {filter} \ [interval=seconds [count=N]]
The above command displays I/O statistics for the devices specified by the filter. The filter is one of the following:
all
ctlr=ctlr-name
dmpnodename=dmp-node
enclosure=enclr-name [portid=array-portid ] [ctlr=ctlr-name]
pathname=path-name
pwwn=array-port-wwn[ctlr=ctlr-name]
You can aggregate the statistics by the following groupby criteria:
arrayport
ctlr
dmpnode
enclosure
By default, the read/write times are displayed in milliseconds up to 2 decimal places. The throughput data is displayed in terms of BLOCKS, and the output is scaled, meaning that the small values are displayed in small units and the larger values are displayed in bigger units, keeping significant digits constant. You can specify the units in which the statistics data is displayed. The -u option accepts the following options:
| Displays throughput in the highest possible unit. |
| Displays throughput in kilobytes. |
| Displays throughput in megabytes. |
| Displays throughput in gigabytes. |
| Displays throughput in exact number of bytes. |
| Displays average read/write time in microseconds. |
To group by DMP node:
# vxdmpadm [-u unit] iostat show groupby=dmpnode \ [all | dmpnodename=dmpnodename | enclosure=enclr-name]
To group by controller:
# vxdmpadm [-u unit] iostat show groupby=ctlr [ all | ctlr=ctlr ]
For example:
# vxdmpadm iostat show groupby=ctlr ctlr=c5
OPERATIONS BLOCKS AVG TIME(ms) CTLRNAME READS WRITES READS WRITES READS WRITES c5 224 14 54 7 4.20 11.10
To group by arrayport:
# vxdmpadm [-u unit] iostat show groupby=arrayport [ all \ | pwwn=array_pwwn | enclosure=enclr portid=array-port-id ]
For example:
# vxdmpadm -u m iostat show groupby=arrayport \ enclosure=HDS9500-ALUA0 portid=1A
OPERATIONS BYTES AVG TIME(ms) PORTNAME READS WRITES READS WRITES READS WRITES 1A 743 1538 11m 24m 17.13 8.61
To group by enclosure:
# vxdmpadm [-u unit] iostat show groupby=enclosure [ all \ | enclosure=enclr ]
For example:
# vxdmpadm -u h iostat show groupby=enclosure enclosure=EMC_CLARiiON0
OPERATIONS BLOCKS AVG TIME(ms) ENCLOSURENAME READS WRITES READS WRITES READS WRITES EMC_CLARiiON0 743 1538 11392k 24176k 17.13 8.61
You can also filter out entities for which all data entries are zero. This option is especially useful in a cluster environment that contains many failover devices. You can display only the statistics for the active paths.
To filter all zero entries from the output of the iostat show command:
# vxdmpadm [-u unit] -z iostat show [all|ctlr=ctlr_name | dmpnodename=dmp_device_name | enclosure=enclr_name [portid=portid] | pathname=path_name|pwwn=port_WWN][interval=seconds [count=N]]
For example:
# vxdmpadm -z iostat show dmpnodename=emc_clariion0_893
cpu usage = 9852us per cpu memory = 266240b OPERATIONS BLOCKS AVG TIME(ms) PATHNAME READS WRITES READS WRITES READS WRITES sdbc 32 0 258 0 0.04 0.00 sdbw 27 0 216 0 0.03 0.00 sdck 8 0 57 0 0.04 0.00 sdde 11 0 81 0 0.15 0.00
To display average read/write times in microseconds.
# vxdmpadm -u us iostat show pathname=sdck
cpu usage = 9865us per cpu memory = 266240b OPERATIONS BLOCKS AVG TIME(us) PATHNAME READS WRITES READS WRITES READS WRITES sdck 8 0 57 0 43.04 0.00