You can determine and configure Oracle Solaris OS multipathing support by using the mpathadm command, which enables multipathing administration through the ANSI standard Multipath Management API. The terms used in this chapter to denote a path, initiator port, target port, and logical unit are consistent with the T10 specification.
You can display the list of logical units (LUs) by using the mpathadm list lu command. The displayed list of LUs contain names that can also be used to display the properties of a particular LU.
You can display detailed information of LUs with multiple paths such as path and target port group information.
To list all the LUs with multiple paths, use the mpathadm list lu command.
For example:
# mpathadm list lu /dev/rdsk/c0t5000CCA00ABBDDA8d0s2 Total Path Count: 1 Operational Path Count: 1 /dev/rdsk/c0t5000CCA00ABBDC08d0s2 Total Path Count: 1 Operational Path Count: 1 /dev/rdsk/c0t5000CCA00ABC5EDCd0s2 Total Path Count: 1 Operational Path Count: 1 /dev/rdsk/c0t5000CCA00ABCECACd0s2 Total Path Count: 1 Operational Path Count: 1 /dev/rdsk/c0t600144F0DDA8BB1A000057208C880001d0s2 Total Path Count: 1 Operational Path Count: 1 /dev/rdsk/c0t600C0FF0000000000011C51EDAA44600d0s2 Total Path Count: 3 Operational Path Count: 3 /dev/rdsk/c0t5000CCA00ABBABDCd0s2 Total Path Count: 1 Operational Path Count: 1 . . .
To display detailed information about all LUs, use the mpathadm show lu command. To display information about a specific LU, use the mpathadm show lu LU-name command.
For example:
# mpathadm show lu /dev/rdsk/c0t600144F0DDA8BB1A000057208C880001d0s2 Logical Unit: /dev/rdsk/c0t600144F0DDA8BB1A000057208C880001d0s2 mpath-support: libmpscsi_vhci.so Vendor: SUN Product: ZFS Storage 7420 Revision: 1.0 Name Type: unknown type Name: 600144f0dda8bb1a000057208c880001 Asymmetric: yes Current Load Balance: shortest-path Logical Unit Group ID: NA Auto Failback: on Auto Probing: NA Paths: Initiator Port Name: iqn.1986-03.com.sun:01:21866c42ab36.5710b544,4000002a00ff Target Port Name: 4000002a0000,iqn.1986-03.com.sun:02:56bf24c4-e3e3-4ff0-e7b0-a6e6880e461d Override Path: NA Path State: OK Disabled: no Target Port Groups: ID: 0 Explicit Failover: no Access State: active optimized Target Ports: Name: 4000002a0000,iqn.1986-03.com.sun:02:56bf24c4-e3e3-4ff0-e7b0-a6e6880e461d Relative ID: 3
You can specify the –e or --path-missing option with the mpathadm show lu command to display the logical units with missing paths.
To display information about a specific LU, use the mpathadm list lu –n port-name command.
For example:
# mpathadm list lu -n 600a0b800026d63a0000a4994e2342d4 mpath-support: libmpscsi_vhci.so /dev/rdsk/c0t600A0B800026D63A0000A4994E2342D4d0s2 Total Path Count: 4 Operational Path Count: 4
To display the detailed configuration information for all LUs, use the mpathadm show lu command. For more information, see the mpathadm(8) man page.
To display logical units associated with a specific target, use the mpathadm list lu –t target-port-name command.
For example:
# mpathadm list lu -t 20030003ba27d212 mpath-support: libmpscsi_vhci.so /dev/rdsk/c0t600A0B800026D63A0000A4994E2342D4d0s2 Total Path Count: 4 Operational Path Count: 4 mpath-support: libmpscsi_vhci.so /dev/rdsk/c0t600A0B800029065C00007CF54E234013d0s2 Total Path Count: 4 Operational Path Count: 4 mpath-support: libmpscsi_vhci.so /dev/rdsk/c0t600A0B800026D63A0000A4984E234298d0s2 Total Path Count: 4 Operational Path Count: 4 mpath-support: libmpscsi_vhci.so /dev/rdsk/c0t600A0B800029065C00007CF44E233FCFd0s2 Total Path Count: 4 Operational Path Count: 4 . . .
To list all the initiator ports in the system, use the mpathadm list initiator-port command.
For example:
# mpathadm list initiator-port Initiator Port: iqn.1986-03.com.sun:01:ffffffffffff.4e94f9bd,4000002a00ff Initiator Port: 210100e08ba41feb Initiator Port: 210000e08b841feb
To display the properties of a specific initiator port, use the mpathadm show initiator-port initiator-port-name command.
For example:
# mpathadm show initiator-port 2000000173018713 Initiator Port: 210100e08ba41feb Transport Type: Fibre Channel OS Device File: /devices/pci@1,0/pci1022,7450@1/pci1077,141@2,1/fp@0,0
If you do not specify the initiator port with the mpathadm show initiator-port command, all the discovered initiator ports and their properties are displayed.
Oracle Solaris supports all T10 ALUA compliant devices by default and do not require any configuration. Also, Oracle Solaris supports a few third-party T10 ALUA noncomplaint devices. You can use the mpathadm command to display the list of T10 ALUA noncompliant devices, that are supported by the Oracle Solaris OS.
To identify the multipathing support on your system, use the mpathadm list mpath-support command.
For example:
# mpathadm list mpath-support mpath-support: libmpscsi_vhci.so
To display the multipathing support properties for a specified multipathing support name, use the mpathadm show mpath-support multipathing-support-name command.
For example:
# mpathadm show mpath-support libmpscsi_vhci.so Vendor: Sun Microsystems Driver Name: scsi_vhci Default Load Balance: round-robin Supported Load Balance Types: round-robin logical-block shortest-path Allows To Activate Target Port Group Access: yes Allows Path Override: no Supported Auto Failback Config: 1 Auto Failback: on Failback Polling Rate (current/max): 0/0 Supported Auto Probing Config: 0 Auto Probing: NA Probing Polling Rate (current/max): NA/NA Supported Devices: Vendor: SUN Product: T300 Revision: Supported Load Balance Types: round-robin Vendor: SUN Product: T4 Revision: Supported Load Balance Types: round-robin Vendor: LSI Product: INF-01-00 Revision: Supported Load Balance Types: round-robin Vendor: NETAPP Product: INF-01-00 Revision: Supported Load Balance Types: round-robin . .
This example does not show the entire output that is displayed when you run the mpathadm show mpath-support libmpscsi_vhci.so command. For documentation purposes, it shows only the initial part of the output that is displayed. For symmetric third-party devices not listed in the library, see Configuring Third-Party Storage Devices.
Starting with Oracle Solaris 11.4, you can see the SCSI I/O response time (also known as I/O latency) distribution information for better observability. I/O response time distribution can be used to identify the SCSI response time. The distribution can be displayed by using the iostat command. The new –L option is added in conjunction with the –x or –Y options to show the histogram.
Example 1 Using iostat to Generate Per-LUN Latency Distribution StatisticsThe following command generates the per-LUN latency distribution statistics for all devices.
% iostat -Lx extended device statistics device r/s w/s kr/s kw/s wait actv wsvc_t asvc_t %w %b sd0 0.2 0.0 0.1 0.0 0.0 0.0 0.0 0.0 0 0 latency range count density distribution <256us 0 0.00% 0.00% 256-512us 1 3.85% 3.85% 512-1024us 24 92.31% 96.15% 1-2ms 0 0.00% 96.15% 2-4ms 1 3.85% 100.00% >4ms 0 0.00% 100.00% total 26 sd1 0.2 0.0 0.1 0.0 0.0 0.0 0.0 0.0 0 0 latency range count density distribution <512us 0 0.00% 0.00% 512-1024us 26 96.30% 96.30% 1-2ms 0 0.00% 96.30% 2-4ms 1 3.70% 100.00% >4ms 0 0.00% 100.00% total 27 sd2 0.1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 latency range count density distribution <256us 0 0.00% 0.00% 256-512us 2 9.09% 9.09% 512-1024us 20 90.91% 100.00% >1024us 0 0.00% 100.00% total 22
The following command generates the per-LUN latency distribution statistics for a specific device.
% iostat -Lx c0t5000CCA05635B924d0 extended device statistics device r/s w/s kr/s kw/s wait actv wsvc_t asvc_t %w %b sd3 0.1 0.0 0.1 0.0 0.0 0.0 0.0 0.0 0 0 latency range count density distribution <64us 0 0.00% 0.00% 64-128us 1 4.00% 4.00% 128-256us 22 88.00% 92.00% 256-512us 2 8.00% 100.00% >512us 0 0.00% 100.00% total 25
You can use the device name to generate the per-LUN latency distribution statistics for a specific device.
% iostat -Lx sd3 extended device statistics device r/s w/s kr/s kw/s wait actv wsvc_t asvc_t %w %b sd3 0.1 0.0 0.1 0.0 0.0 0.0 0.0 0.0 0 0 latency range count density distribution <64us 0 0.00% 0.00% 64-128us 2 8.00% 8.00% 128-256us 21 84.00% 92.00% 256-512us 2 8.00% 100.00% >512us 0 0.00% 100.00% total 25
The following command generates the per-path latency distribution statistics for a specific device.
% iostat -LY sd0 extended device statistics device r/s w/s kr/s kw/s wait actv wsvc_t asvc_t %w %b sd0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 latency range count density distribution <64us 0 0.00% 0.00% 64-128us 1 4.00% 4.00% 128-256us 22 88.00% 92.00% 256-512us 2 8.00% 100.00% >512us 0 0.00% 100.00% total 25 sd0.t0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.2 0 0 sd0.t0.mpt_sas4 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.2 0 0 latency range count density distribution <64us 0 0.00% 0.00% 64-128us 20 74.07% 74.07% 128-256us 6 22.22% 96.30% 256-512us 1 3.70% 100.00% >512us 0 0.00% 100.00% total 27
The following command generates the per-path latency distribution statistics for a specific path.
% iostat -LY sd0.t0.mpt_sas4 extended device statistics device r/s w/s kr/s kw/s wait actv wsvc_t asvc_t %w %b sd0.t0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.2 0 0 sd0.t0.mpt_sas4 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.2 0 0 latency range count density distribution <64us 0 0.00% 0.00% 64-128us 20 74.07% 74.07% 128-256us 6 22.22% 96.30% 256-512us 1 3.70% 100.00% >512us 0 0.00% 100.00% total 27
The following command generates path latency for a particular time interval.
% iostat -LY sd42.t89.lsc1 5 3 extended device statistics device r/s w/s kr/s kw/s wait actv wsvc_t asvc_t %w %b sd42.t89 1.3 0.0 0.8 0.0 0.0 0.0 0.0 0.0 0 0 sd42.t89.lsc1 1.3 0.0 0.8 0.0 0.0 0.0 0.0 0.0 0 0 latency range count density distribution <16us 0 0.00% 0.00% 16-32us 952535 97.68% 97.68% 32-64us 19332 1.98% 99.66% 64-128us 392 0.04% 99.70% 128-256us 2601 0.27% 99.97% 256-512us 315 0.03% 100.00% 512-1024us 3 0.00% 100.00% 1-2ms 0 0.00% 100.00% 2-4ms 3 0.00% 100.00% 4-8ms 9 0.00% 100.00% >8ms 0 0.00% 100.00% total 975190 extended device statistics device r/s w/s kr/s kw/s wait actv wsvc_t asvc_t %w %b sd42.t89 15583.6 0.0 7791.8 0.0 0.0 0.4 0.0 0.0 0 0 sd42.t89.lsc1 15583.6 0.0 7791.8 0.0 0.0 0.4 0.0 0.0 0 44 latency range count density distribution <16us 0 0.00% 0.00% 16-32us 45981 98.49% 98.49% 32-64us 674 1.44% 99.93% 64-128us 13 0.03% 99.96% 128-256us 12 0.03% 99.99% 256-512us 7 0.01% 100.00% >512us 0 0.00% 100.00% total 46687 extended device statistics device r/s w/s kr/s kw/s wait actv wsvc_t asvc_t %w %b sd42.t89 16998.9 0.0 8499.4 0.0 0.0 0.5 0.0 0.0 0 0 sd42.t89.lsc1 16998.9 0.0 8499.4 0.0 0.0 0.5 0.0 0.0 0 47 latency range count density distribution <16us 0 0.00% 0.00% 16-32us 50705 99.43% 99.43% 32-64us 256 0.50% 99.93% 64-128us 9 0.02% 99.95% 128-256us 18 0.04% 99.99% 256-512us 7 0.01% 100.00% >512us 0 0.00% 100.00% total 50995
This command provides path latency of sd42.t89.lsc1 three times every five seconds.
For more information, see the sd(4D) and iostat(8) man pages.