Controlling Powerfail Timeout

Powerfail Timeout is an attribute of a SCSI disk connected to an HP-UX host. This is used to detect and handle I/O on non-responding disks.

See the pfto(7) man page.

VxVM uses this mechanism in its Powerfail Timeout (PFTO) feature. You can specify a timeout value for individual VxVM disks using the vxdisk command. If the PFTO setting for a disk I/O is enabled, the underlying driver returns an error without retrying the I/O if the disk timer (PFTO) expires and the I/O does not return from the disk.

You can set the PFTO values on a disk or set of disks within a disk group using the command line. PFTO helps in preventing system hangs due to non-responding disks.

Starting with Storage Foundation release 5.0.1, Powerfail Timeout (PFTO) has the following default values:

You can change the PFTO settings as required. In some cases, when you upgrade Storage Foundation, the upgrade process resets the PFTO settings for existing devices to the default values. For information about how PFTO settings are handled during various upgrade cases, see the Storage Foundation High Availability Installation Guide.

To set PFTO value on a disk, use the following command:

$ vxdisk -g dg_name set disk_name pfto=value

For example, to set the PFTO value of 50sec on the disk c5t0d6:

$ vxdisk -g testdg set c5t0d6 pfto=50

To set the PFTO on a disk group, use the following command:

$ vxpfto -g dg_name -t 50

For example, to set the PFTO on all disks in the diskgroup testdg:

$ vxpfto -g testdg -t 50

To show the PFTO value and whether PFTO is enabled or disabled for a disk, use one of the following commands:

$ vxprint -g <dg_name> -l <disk_name>
$ vxdisk -g <dg_name> list <disk_name>

The output shows the pftostate field, which indicates whether PFTO is enabled or disabled. The timeout field shows the PFTO timeout value.

timeout:  30 
pftostate: disabled

The output shows:

Device:    c5t0d6 
devicetag: c5t0d6 
... 
timeout:   30 
pftostate: disabled 
...  

To enable or disable PFTO on a disk, use the following command:

$ vxdisk -g dg_name set disk_name pftostate={enabled|disabled} 

For example, to disable PFTO on the disk c5t0d6:

$ vxdisk -g testdg set c5t0d6 pftostate=disabled  

To enable or disable PFTO on a disk group, use the following command:

$ vxpfto -g dg_name -o pftostate={enabled|disabled} 

For example, to disable PFTO on all disks in the diskgroup testdg:

$ vxpfto -g testdg -o pftostate=disabled