Capacity Reports Logo  

Performance & Capacity Planning for AIX and Power Systems


pSeries VIO Client Tuning

Client Virtual SCSI Adapter Settings

Option Default Meaning Options Comments
         
vscsi_err_recov delayed_fail VSCSI Recovery Mode delayed_fail
fast_fail
Fast I/O failure may be desirable in situations where multipathing software is being used. Setting 'fc_err_recov' to 'fast_fail' may decrease the I/O fail times due to link loss between the storage device and switch and allow faster failover to alternate paths.
In single-path configurations, especially configurations with a single-path to a paging device, the default 'delayed_fail' setting is the recommended setting.
         
vscsi_path_to 0 (zero) Virtual SCSI Path Timeout 0 to 3600 If no I/O requests issued to the VSCSI server adapter have been serviced within the number of seconds specified by the VSCSI path timeout value, one more attempt is made to contact the VSCSI server adapter, waiting up to 60 seconds for a response. If, after 60 seconds, there is still no response from the server adapter, all outstanding I/O requests to that adapter are failed and an error is written to the client logical partition error log. If MPIO is being used, the MPIO Path Control Module will retry the I/O requests down another path. Otherwise, the failed requests will be returned to the application. See this IBM document for full details.
         

Client Virtual SCSI Disks - MPIO

Option Default Meaning Options Comments
         
algorithm fail_over Failover Algorithm fail_over With MPIO, only fail_over is supported.
         
hcheck_cmd test_unit_rdy Health Check Command test_unit_rdy
inquiry
If you have reservation locks on your disks, use the inquiry option, as the test_unit_rdy option will fail and log an error on the client.
         
hcheck_interval 0 (zero) Health Check Interval 0 to 3600 The interval in seconds between health check polls to the disk. If an mpio disks failed path is polled and found to be responding, the failed path will automatically be re-enabled. A value of 0 (zero) disable the auto polling feature. Recommended value is 20.
         
hcheck_mode nonactive Healthcheck Mode enabled
failed
nonactive
Determines which types of device paths are health checked. The PCM checks the continuity of a path and the ability of the target device to process commands. If this check is successful, the path will be enabled. If the check fails, the path is left in its current state.

Select "enabled" to check only paths that are in the enabled state and have no active I/O.
Select "failed" to check only paths that are in the failed state.
Select "nonactive" to check only paths with no active I/O.
         
queue_depth 3 (three) IO Queue Depth 1 to 256 The number of concurrent outstanding I⁄O requests that can be queued on the disk. Additional requests will be blocked and the 'sqfull' value shown with 'iostat -DR' will increase. Make sure you set the queue_depth on the corresponding VIO server disk to the same value!!
My recommended values.
IBM XIV = 32
IBM SVC = Various - See Here
IBM SDD and SDDPCM = 20
EMC Symmetrix and Clariion = 16
Hitachi USPV and VSP = 32
Hitachi HDS 9910 and 9960 = 8
         
reserve_policy no_reserve Disk Reserve Policy no_reserve
single_path
Provides support for applications that are enabled to use SCSI-2 reserve functions. Typically clustering software will require the 'single_path' reserve option to be set. See this IBM document for details on how to set this correctly.
         
max_transfer 0x40000 Maximum IO Transfer Size 0x20000
0x40000
0x80000
0x100000
0x200000
0x400000
0x800000
0x1000000
The maximum amount of data that can be transfered to the disk in a single I/O operation. By increasing this value for all disks in a volume group, then the 'LTG size' value for a volume group can increase. You may want increase this value so the the AIX I/O size is equal to (or greater than) your array stripe size.
Below is the size each hex value relates to.
0x20000 = 128KB
0x40000 = 256KB
0x80000 = 512KB
0x100000 = 1MB
The following may not be support by AIX/LVM
0x200000 = 2MB
0x400000 = 4MB
0x800000 = 8MB
0x1000000 = 16MB
         

Examples - Changing Client Virtual SCSI Disks Settings

chdev -l hdisk0 -a queue_depth=32 -a hcheck_interval=20 Will only work if the disk is not currently in use
   
chdev -l hdisk0 -a queue_depth=32 -a hcheck_interval=20 -P Will work if the disk is in use but a reboot is required.
   
varyoffvg testvg
rmdev -l hdisk10
chdev -l hdisk10 -a queue_depth=32 -a hcheck_interval=20
mkdev -l hdisk10
varyonvg testvg
Overview of the steps required to make the change to a disk that has a volume group active on it.
   

Setting the MPIO active path

By default, when you run cfgmgr on an AIX LPAR with MPIO, all disks will be set with a path priority of 1. This means that all your disk I/O (by default) will go to the first VIO server configured to service your disks.

For best performance and to balance across multiple VIO servers, use the chpath command.

chpath -l hdisk0 -p vscsi0 -a priority=1
chpath -l hdisk0 -p vscsi1 -a priority=2
chpath -l hdisk1 -p vscsi0 -a priority=2
chpath -l hdisk1 -p vscsi1 -a priority=1