Each physical port on the target HBA in the filer has a fixed number of command blocks for incoming initiator requests. When initiators send large numbers of requests, they can monopolize the command blocks and prevent other initiators from accessing the command blocks at that port.
With an igroup throttle, you can perform the following tasks:
When you use igroup throttles, Data ONTAP calculates the total amount of command blocks available and allocates the appropriate number to reserve for an igroup based on the percentage you specify when you create a throttle for that igroup. Data ONTAP does not allow you to reserve more than 99% of all the resources. The remaining command blocks are unreserved and are available for use by igroups without throttles.
You use igroup throttles to specify what percentage of the queue resources they can reserve for their use. For example, if you set an igroup's throttle to be 20%, 20% of the queue resources available at the filer's ports are reserved for the initiators in that igroup. The remaining 79% of the queue resources is unreserved. In another example, if you have four hosts and they are in separate igroups, you might set the igroup throttle of the most critical host at 30%, the least critical at 10%, and the remaining two at 20%, leaving 19% of the resources unreserved.
When you create igroup throttles, you can use them to ensure that critical initiators are guaranteed access to the queue resources and that less critical initiators are not flooding the queue resources. You can perform the following tasks.
Note
Igroups without a throttle share all the unreserved queue resources.
To create an igroup throttle, complete the following step.
To destroy an igroup throttle, complete the following step.
| 1 |
igroup set igroup_name throttle_reserve 0 |
To allow or disallow an igroup to borrow queue resources from the unreserved pool, complete the following step with the appropriate option (yes or no). The default when you create an igroup throttle is no.
To display information about the throttles assigned to igroups, complete the following step. The exceeds column displays the number of times the initiator sends more requests than the throttle allows. The borrows column displays the number of times the throttle is exceeded and the filer uses queue resources from the unreserved pool. In the borrows column, "N/A" indicates that the igroup throttle_borrow option is set to no.
| 1 |
igroup show -t Resultname reserved exceeds borrows solaris-igroup1 20% 0 N/A solaris-igroup2 10% 0 0 |
To display real-time information about how many command blocks the initiator in the igroup is using (the first number under the port name) and the number of command blocks reserved for the igroup on the specified port (the second number under the port name), complete the following step.
To display statistics about I/O requests for LUNs that exceed the igroup throttle, complete the following steps.
Igroup throttles manage physical ports, so during a cluster failover, their behavior varies according to the FCP cfmode that is in effect, as shown in the following table.
To display information about how many command blocks the initiator in the igroup is using and the number of command blocks reserved for the igroup on the specified port after a takeover occurs, complete the following step.
Copyright © 1994-2003, Network Appliance, Inc. All rights
reserved.
Part No. 210-00477
File: c4ig-f3.htm
Last updated: 11/21/03 13:11:59