Tuning vSCSI Adapter Settings
There are three settings that can be tuned for vSCSI Adatpers in AIX, these are rw_timeout, vscsi_err_recov and vscsi_path_to. The following is my understanding of these tuning options and the various settings allowed per attribute.
What is rw_timeout?
The vSCSI rw_timeout settings helps the AIX client adapter to detect a hung I/O request, only if the rw_timeout value is greater than 0 (zero). The minimum value for rw_timeout is 120 and the maximum value is 3,600. Any value entered between 1 and 119 will be changed to 120 when the adapter is next configured or the LPAR rebooted. When enabled, all IOs are timed and if and single IO does not respond within the rw_timeout setting, the vSCSI adapter causes the IO to timeout. The vSCSI adapter is then closed and an attempt to reopen the adapter is made with the VIO Server. If dual vSCSI adatpers to different VIO Servers are configured, the 2nd vSCSI adapter will be used.
What is vscsi_err_recov?
The vscsi_err_recov options is very similar to the fc_err_recov for fibre adapters. This settings allows the vSCSI adatper to detect link errors between the vSCSI adapter and the VIO Server adapter or the backend storage device. Fast I/O failure may be desirable in situations where multipathing software is being used. Setting 'vscsi_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.
What is vscsi_path_to?
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.