Sun Microsystems, Inc.  Sun System Handbook - ISO 3.4 June 2011 Internal/Partner Edition
   Home | Current Systems | Former STK Products | EOL Systems | Components | General Info | Search | Feedback

Asset ID: 1-71-1018905.1
Update Date:2009-12-06
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 9990V System
  •  
  • Sun Storage 9970 System
  •  
  • Sun Storage 9985V System
  •  
  • Sun Storage 9990 System
  •  
  • Sun Storage 9910 System
  •  
  • Sun Storage 9960 System
  •  
  • Sun Storage 9985 System
  •  
  • Sun Storage 9980 System
  •  
Related Categories
  • GCS>Sun Microsystems>Storage - Disk>Datacenter Disk
  •  

PreviouslyPublishedAs
230749


Description
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 <Document: 1003338.1>, <Document: 1001960.1>,  HDS15463, HDS17320, HDS11641.

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.

Steps to Follow
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 to be identical:

* 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 Technical Instruction <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 Sun[TM] Technical Instructions <Document: 1001960.1>, <Document: 1003338.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: 1001961.1>
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
  Copyright © 2011 Sun Microsystems, Inc.  All rights reserved.
 Feedback