This policy is designed to optimize the use of caching in disk drives and RAID controllers. The size of the cache typically ranges from 120KB to 500KB or more, depending on the characteristics of the particular hardware. During normal operation, the disks (or LUNs) are logically divided into a number of regions (or partitions), and I/O from/to a given region is sent on only one of the active paths. Should that path fail, the workload is automatically redistributed across the remaining paths.
You can use the size argument to the partitionsize attribute to specify the partition size. The partition size in blocks is adjustable in powers of 2 from 2 up to 231. A value that is not a power of 2 is silently rounded down to the nearest acceptable value.
Specifying a partition size of 0 is equivalent to specifying the default partition size.
The default value for the partition size is 512 blocks (256k). Specifying a partition size of 0 is equivalent to the default partition size of 512 blocks (256k).
The default value can be changed by adjusting the value of the dmp_pathswitch_blks_shift tunable parameter.
Note: |
The benefit of this policy is lost if the value is set larger than the cache size. |
For example, the suggested partition size for an Hitachi HDS 9960 A/A array is from 32,768 to 131,072 blocks (16MB to 64MB) for an I/O activity pattern that consists mostly of sequential reads or writes.
The next example sets the balanced I/O policy with a partition size of 4096 blocks (2MB) on the enclosure enc0:
# vxdmpadm setattr enclosure enc0 \
iopolicy=balanced partitionsize=4096
|