Asset ID: |
1-71-1018905.1 |
Update Date: | 2012-07-31 |
Keywords: | |
Solution Type
Technical Instruction Sure
Solution
1018905.1
:
StorEdge[TM] 99X0: Heterogeneous Hosts, Queue Depth, and Other I/O Related Parameters
Related Items |
- Sun Storage 9985 System
- Sun Storage 9990 System
- Sun Storage 9970 System
- Sun Storage 9990V System
- Sun Storage 9960 System
- Sun Storage 9910 System
- Sun Storage 9985V System
- Sun Storage 9980 System
|
Related Categories |
- PLA-Support>Sun Systems>DISK>HighEnd Arrays>SN-DK: HDS_99xx
- .Old GCS Categories>Sun Microsystems>Storage - Disk>Datacenter Disk
|
PreviouslyPublishedAs
230749
Applies to:
Sun Storage 9960 System - Version Not Applicable and later
Sun Storage 9910 System - Version Not Applicable and later
Sun Storage 9970 System - Version Not Applicable and later
Sun Storage 9980 System - Version Not Applicable and later
Sun Storage 9985 System - Version Not Applicable and later
All Platforms
Goal
This document outlines considerations to take when mapping multiple host types (Sun[TM], AIX, HP-UX, and Microsoft Windows) to HDS (Hitachi Data System) storage subsystems in order to avoid queue overrun.
References: Technical Instructions, HDS15463, HDS17320, HDS11641.
Fix
There are multiple ways to map different host types to a storage subsystem.
In a storage area network (SAN) environment, multiple hosts and host types can be mapped to one port on an array such as the Sun StorEdge[TM] 99x0 array. Of most importance is queue depth overrun, which can cause a combination of issues such as I/O timeouts and transport errors, eventually leading to data path failures on the host side.
As an I/O is sent to the array, it is buffered and processed in the order received and as resources become available. An error is sent to a host if an I/O is received when all buffers are full on the port. Then, the host
retries I/O transfer until it either receives a positive response from the array or the I/O timeout value is exceeded, which is when an I/O time out occurs on the data path on that specific logical unit number (LUN).
To avoid this situation, you need to set queue depth properly on All hosts (Sun, AIX, HP-UX, and so on) that share the same port.
Basic Key Points
================
With microcode versions >= 21-05-06, the per-port queue depth is 512 on these systems: Sun StorEdge[TM] 9970 and Sun[TM] StorEdge 9980.
Sun StorEdge[TM] 9970 or 9980 System with microcode >= 21-05-06: port_max = 512
Sun StorEdge 9970 or 9980 System with microcode < 21-05-06: port_max = 256
Sun StorEdge[TM] 9900 series (9910 or 9960): port_max = 256
All hosts mapped to an HDS 99XX array port must have the same queue depth parameter setting.
In addition, all AIX hosts mapped to the same HDS 99XX port must have the following parameters the same:
* Q-Depth
* Q-Type
* R/W-TOV
* Q-Err bit
CASE 1:
=======
Host Alpha (Solaris[TM]), Host Beta (HP-UX), Host Charlie (AIX), and Host Delta (AIX) are all mapped Port 1A on an HDS 9970 array.
All hosts will need to have the same parameter setting for the queue depth. Because hosts Charlie and Delta are AIX hosts, the following additional parameters also need to be identical on these two hosts:
Q-Type
R/W-TOV
Q-Err bit
Queue Depth Calculation:
------------------------
As outlined in Document 1003338.1, when a single host bus adapter (HBA) connects to several Sun StorEdge 9900 series ports through a Storage Area Network (SAN), the port with the largest number of LUNs should dictate the host's queue depth setting.
When multiple hosts connect to individual Sun StorEdge 9900 ports in a SAN, all attached hosts should set queue depth according to the total number of LUNs presented on the port, even if LUN masking is in use so that some of the LUNs are not visible to certain hosts.
CASE 2:
=======
Case 2 uses the configuration from Case 1 above. There are a total of 100 LUNs on port 1A. Because this is a Sun StorEdge 9970 array with the latest microcode, the queue depth is 512 for each port on the array. Therefore, the queue depth for All the hosts in this case will be as follows:
Queue depth on the array port/total LUNs on the port = host queue depth
512 / 100 = 5 (Rounded DOWN to the nearest whole number)
Also note that max_throttle settings that are less than 8 in number might have a negative performance impact for some types of workload that benefit from queuing. Generally, you should avoid low throttle settings by limiting the number of LUNs configured on a port.
Setting Queue Depths on Multiple Platforms:
==========================================
Please refer to Document 1001960.1, for platform specific step-by-step directions on how to set queue depths and other parameters that are specific to AIX.
Product
Sun StorageTek 9980 System
Sun StorageTek 9970 System
Sun StorageTek 9960 System
Sun StorageTek 9910 System
Sun StorageTek 9985 System
Sun StorageTek 9990 System
Sun StorageTek 9985V System
Sun StorageTek 9990V System
Internal Comments
Setting Queue Depths on Multiple Platforms:
Please refer to Sun[TM] Technical Instruction <document:>
queue depth, max_throttle, I/O timeout, HDS, 9910, 9960, 9970, 9980, 9900, 9900V, 9985, 9990, 9985V, 9990V, tran_err, command timout, AIX, HP-UX
Previously Published As
76932
Change History
Date: 2009-12-01
User Name: rrk
Action: Approved
Comment: Review and update for IBIS
Version: 0
Date: 2009-12-01
User Name: rrk
Action: Accepted
Comment: Review and update for IBIS
Version: 0
Attachments
This solution has no attachment