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 CLI. PFTO helps in preventing system hangs due to non-responding disks.

By default, the use of PFTO is disabled in the HP-UX native multipathing devices. In case of DMP devices, the use of PFTO is enabled. However, you can change the PFTO settings.

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