Extending a Quick I/O file

Although Quick I/O files must be preallocated, they are not limited to the preallocated sizes. You can grow or "extend" a Quick I/O file by a specific amount or to a specific size, using options to the qiomkfile command. Extending Quick I/O files is a fast, online operation and offers a significant advantage over using raw devices.

Before extending a Quick I/O file, make sure the following conditions have been met:

Prerequisites

  • You must have sufficient space on the file system to extend the Quick I/O file.

Usage notes

  • You can also grow VxFS file systems online (provided the underlying disk or volume can be extended) using the fsadm command. You can expand the underlying volume and the filesystem with the vxresize command.

  • You must have superuser (root) privileges to resize VxFS file systems using the fsadm command.

  • For Sybase: although you have the ability to extend a Quick I/O file, you cannot resize a database device in Sybase once it is initialized. However, with the ability to grow the volumes and file systems online, you can easily allocate new database devices to be used for new segments and to extend existing segments.

  • See the fsadm_vxfs (1M) and qiomkfile (1M) manual pages for more information.

The following options are available with the qiomkfile command:

-e

Extends the file by a specified amount to allow resizing.

-r

Increases the file to a specified size to allow resizing.

To extend a Quick I/O file

  1. If required, ensure the underlying storage device is large enough to contain a larger VxFS file system (see the vxassist(1M) manual page for more information), and resize the VxFS file system using fsadm command:

    For Sybase, for example:

    # /opt/VRTS/bin/fsadm -b newsize /mount_point

    where:

    • -b is the option for changing size

    • newsize is the new size of the file system in bytes, kilobytes, megabytes, blocks, or sectors

    • mount_point is the file system's mount point

  2. Extend the Quick I/O file using the qiomkfile command:
    # /opt/VRTS/bin/qiomkfile -e extend_amount /mount_point/filename

    or

    # /opt/VRTS/bin/qiomkfile -r newsize /mount_point/filename

    An example to show how to grow VxFS file system:

    /db01 to 500MB and extend the tbs1_cont001 Quick I/O file by 20MB:

    # /opt/VRTS/bin/qiomkfile -e 20M /db01/tbs1_cont001
    # /opt/VRTS/bin/fsadm -b 500M /db01

    An example to show how to grow VxFS file system for DB2:

    /db01 to 500MB and resize the tbs1_cont001 Quick I/O file to 300MB:

    # /opt/VRTS/bin/fsadm -b 500M /db01
    # /opt/VRTS/bin/qiomkfile -r 300M /db01/tbs1_cont001

    An example to show how to grow VxFS file system for Sybase:

    /db01 to 500MB and resize the dbfile Quick I/O file to 300MB:

    # /opt/VRTS/bin/fsadm -b 500M /db01
    # /opt/VRTS/bin/qiomkfile -r 300M /db01/dbfile