Veritas Technologies is working on a fix for this issue. Please contact support for private HotFixes.
1. For a filesystem which is already mounted
# vxtunefs -s -o dalloc_enable=0 $MOUNT_POINT
For example:
# vxtunefs -s -o dalloc_enable=0 /testmnt1
2. To make the value persistent across system reboot, add an entry to the /etc/vx/tunefstab file. This file contains tuning parameters for Veritas File Systems, which are set automatically during file system mount.
The entry in tunefstab can be per file system or a system default.
- Per file system
/dev/vx/dsk/$DISKGROUP/$VOLUME dalloc_enable=0
For example:
# cat /etc/vx/tunefstab
/dev/vx/dsk/testdg/testvol1 dalloc_enable=0
- System default:
# cat /etc/vx/tunefstab
system_default dalloc_enable=0
For detailed explanation of the above workaround please see below:
- For a mounted file system the vxtunefs command can be used to set tuning parameters, however values that are set using the vxtunefs command are not persistent across system reboot or across file system remount (umount and mount back).
- To make the setting persistent update the /etc/vx/tunefstab file. This file contains tuning parameters for Veritas File Systems which are set automatically during filesystem mount.
Each entry in tunefstab is a line of fields in one of the following formats:
block_device tunefs options
system_default tunefs options
- block_device is the name of the device on which the file system is mounted. If there is more than one line that specifies options for a device, each line is processed and the options are set in order.
- In place of block_device, system_default specifies tunables for each device to process. If an entry for both a block_device and system_default exists then the device value takes precedence.
1. Steps for making the VxFS File system tuning values persistent per file system:
i) For the filesystem already mounted
# vxtunefs -s -o dalloc_enable=0 /$MOUNT_POINT
For example:
# vxtunefs -s -o dalloc_enable=0 /testmnt1
ii) Create the /etc/vx/tunefstab file if it does not exists and add the entry as shown in below example:
/dev/vx/dsk/$DISKGROUP/$VOLUME dalloc_enable=0
For example:
/dev/vx/dsk/testdg/testvol1 dalloc_enable=0
iii) To confirm the value after mount
# vxtunefs /testmnt1 | grep "dalloc_enable"
dalloc_enable = 0
Example using a single file system :
- For mounted file system
# vxtunefs /testmnt1 |grep "dalloc_enable"
dalloc_enable = 1
# vxtunefs -s -o dalloc_enable=0 /testmnt1
UX:vxfs vxtunefs: INFO: V-3-22525: Parameters successfully set for /testmnt1
# vxtunefs /testmnt1 |grep "dalloc_enable"
dalloc_enable = 0
- To make it persistent add entry to /etc/vx/tunefstab
# cat /etc/vx/tunefstab
/dev/vx/dsk/testdg/testvol1 dalloc_enable=0
# mount -F vxfs /dev/vx/dsk/testdg/testvol1 /testmnt1/
# vxtunefs /testmnt1/ | grep "dalloc_enable"
dalloc_enable = 0
Example using multiple file systems :
# mount -F vxfs /dev/vx/dsk/testdg/testvol1 /testmnt1/
# vxtunefs /testmnt1/ | grep "dalloc_enable"
dalloc_enable = 1
# mount -F vxfs /dev/vx/dsk/testdg/testvol2 /testmnt2
# vxtunefs /testmnt2/ | grep "dalloc_enable"
dalloc_enable = 1
# cat /etc/vx/tunefstab
/dev/vx/dsk/testdg/testvol1 dalloc_enable=0
/dev/vx/dsk/testdg/testvol2 dalloc_enable=0
# umount /testmnt1/
# umount /testmnt2/
# mount -F vxfs /dev/vx/dsk/testdg/testvol1 /testmnt1/
# mount -F vxfs /dev/vx/dsk/testdg/testvol2 /testmnt2/
# vxtunefs /testmnt1/ | grep "dalloc_enable"
dalloc_enable = 0
# vxtunefs /testmnt2/ | grep "dalloc_enable"
dalloc_enable = 0
2. Steps for making the VxFS File system tuning values persistent for all file system - System wide default setting
This is helpful if you need to apply the tuning system wide. If the system_default is specified instead of block_device, the tunable setting will be applied all the block devices when mounting the file systems.
i) Create the
/etc/vx/tunefstab if it is not there already.
# touch /etc/vx/tunefstab
# ls -l /etc/vx/tunefstab
-rw-r--r-- 1 root system 75 Aug 21 17:11 /etc/vx/tunefstab
ii) Add the entry to the /etc/vx/tunefstab file as shown in below example :
system_default dalloc_enable=0
iii) This can be confirmed, after mounting the file system on the device, using the “vxtunefs –p
” command.
# vxtunefs /testmnt1/ | grep "dalloc_enable"
dalloc_enable = 0
Example:
# cat /etc/vx/tunefstab
system_default dalloc_enable=0
# mount -F vxfs /dev/vx/dsk/testdg/testvol1 /testmnt1/
# mount -F vxfs /dev/vx/dsk/testdg/testvol2 /testmnt2/
# vxtunefs /testmnt1/ | grep "dalloc_enable"
dalloc_enable = 0
# vxtunefs /testmnt2/ | grep "dalloc_enable"
dalloc_enable = 0
Note: The system_default setting is overridden if a block_device is also explicitly specified.
For example, if we want to change the system-wide default for dalloc_enable to 0 but do not want to set it for /dev/vx/dsk/testdg/testvol3, then we can achieve this as follows:
# cat /etc/vx/tunefstab
system_default dalloc_enable=0
/dev/vx/dsk/testdg/testvol3 dalloc_enable=1
# mount -F vxfs /dev/vx/dsk/testdg/testvol1 /testmnt1/
# mount -F vxfs /dev/vx/dsk/testdg/testvol2 /testmnt2/
# mount -F vxfs /dev/vx/dsk/testdg/testvol3 /testmnt3/
# vxtunefs /testmnt1/ | grep "dalloc_enable"
dalloc_enable = 0
# vxtunefs /testmnt2/ | grep "dalloc_enable"
dalloc_enable = 0
# vxtunefs /testmnt3/ | grep "dalloc_enable"
dalloc_enable = 1