Solaris Volume Manager Administration Guide

Expanding a File System Using the growfs Command

After a volume that contains a UFS file system is expanded (meaning that more space is added), you also need to expand the file system in order to recognize the added space. You must manually expand the file system with the growfs command. The growfs command expands the file system, even while the file system is mounted. However, write access to the file system is not possible while the growfs command is running.

An application, such as a database, that uses the raw device must have its own method to incorporate the added space. Solaris Volume Manager does not provide this capability.

The growfs command “write-locks” a mounted file system as it expands the file system. The length of time the file system is write-locked can be shortened by expanding the file system in stages. For instance, to expand a 1-Gbyte file system to 2 Gbytes, the file system can be grown in 16 Mbyte stages by using the -s option. This option specifies the total size of the new file system at each stage.

During the expansion, the file system is not available for write access because of the write-lock feature. Write accesses are transparently suspended and are restarted when the growfs command unlocks the file system. Read accesses are not affected. However, access times are not kept while the lock is in effect.

Background Information for Expanding Slices and Volumes

Note –

Solaris Volume Manager volumes can be expanded. However, volumes cannot be reduced in size.

ProcedureHow to Expand a File System

Before You Begin

Check Prerequisites for Creating Solaris Volume Manager Components.

  1. Review the disk space associated with a file system.

    # df -hk

    See the df(1M) man page for more information.

  2. Expand a UFS file system on a logical volume.

    # growfs -M /mount-point /dev/md/rdsk/volume-name
    -M /mount-point

    Specifies the mount point for the file system to be expanded.


    Specifies the name of the volume on which you want to expand.

    See the following example and the growfs(1M) man page for more information.

Example 20–4 Expanding a File System

In the following example, a new slice is added to a volume, d10, which contains the mounted file system, /home2. The growfs command specifies the mount point with the -M option to be /home2, which is expanded onto the raw volume /dev/md/rdsk/d10. The file system will span the entire volume when the growfs command is complete. You can use the df -hk command before and after expanding the file system to verify the total disk capacity.

# df -hk
Filesystem            kbytes    used   avail capacity  Mounted on
/dev/md/dsk/d10        69047   65426       0   100%    /home2
# growfs -M /home2 /dev/md/rdsk/d10
/dev/md/rdsk/d10:       295200 sectors in 240 cylinders of 15 tracks, 82 sectors
        144.1MB in 15 cyl groups (16 c/g, 9.61MB/g, 4608 i/g)
super-block backups (for fsck -F ufs -o b=#) at:
 32, 19808, 39584, 59360, 79136, 98912, 118688, 138464, 158240, 178016, 197792,
 217568, 237344, 257120, 276896,
# df -hk
Filesystem            kbytes    used   avail capacity  Mounted on
/dev/md/dsk/d10       138703   65426   59407    53%    /home2

For mirror volumes, always run the growfs command on the top-level volume. Do not run the command on a submirror or master device, even though space is added to the submirror or master device.