Creating and managing space-optimized instant snapshots

Space-optimized instant snapshots are not suitable for write-intensive volumes (such as for database redo logs) because the copy-on-write mechanism may degrade performance.

To split the volume and snapshot into separate disk groups (for example, to perform off-host processing), you must use a fully synchronized full-sized instant, third-mirror break-off or linked break-off snapshot (which do not require a cache object). You cannot use a space-optimized instant snapshot.

Creation of space-optimized snapshots that use a shared cache fails if the region size specified for the volume is smaller than the region size set on the cache.

If the region size of a space-optimized snapshot differs from the region size of the cache, this can degrade the system's performance compared to the case where the region sizes are the same.

The attributes for a snapshot are specified as a tuple to the vxsnap make command. This command accepts multiple tuples. One tuple is required for each snapshot that is being created. Each element of a tuple is separated from the next by a slash character (/). Tuples are separated by white space.

To create and manage a space-optimized instant snapshot

  1. Use the vxsnap make command to create a space-optimized instant snapshot. This snapshot can be created by using an existing cache object in the disk group, or a new cache object can be created.

    • To create a space-optimized instant snapshot, snapvol, that uses a named shared cache object:

      # vxsnap [-g diskgroup] make source=vol/newvol=snapvol\
      /cache=cacheobject [alloc=storage_attributes]

      For example, to create the space-optimized instant snapshot, snap3myvol, of the volume, myvol, in the disk group, mydg, on the disk mydg14, and which uses the shared cache object, cobjmydg, use the following command:

      # vxsnap -g mydg make source=myvol/newvol=snap3myvol\
      /cache=cobjmydg alloc=mydg14

      The DCO is created on the specified allocation.

    • To create a space-optimized instant snapshot, snapvol, and also create a cache object for it to use:

      # vxsnap [-g diskgroup] make source=vol/newvol=snapvol\
      [/cachesize=size][/autogrow=yes][/ncachemirror=number]\
        [alloc=storage_attributes]

      The cachesize attribute determines the size of the cache relative to the size of the volume. The autogrow attribute determines whether VxVM will automatically enlarge the cache if it is in danger of overflowing. By default, autogrow=on and the cache is automatically grown.

      If autogrow is enabled, but the cache cannot be grown, VxVM disables the oldest and largest snapshot that is using the same cache, and releases its cache space for use.

      The ncachemirror attribute specifies the number of mirrors to create in the cache volume. For backup purposes, the default value of 1 should be sufficient.

      For example, to create the space-optimized instant snapshot, snap4myvol, of the volume, myvol, in the disk group, mydg, on the disk mydg15, and which uses a newly allocated cache object that is 1GB in size, but which can automatically grow in size, use the following command:

      # vxsnap -g mydg make source=myvol/new=snap4myvol\
      /cachesize=1g/autogrow=yes alloc=mydg15

      If a cache is created implicitly by specifying cachesize, and ncachemirror is specified to be greater than 1, a DCO is attached to the cache volume to enable dirty region logging (DRL). DRL allows fast recovery of the cache backing store after a system crash. The DCO is allocated on the same disks as those that are occupied by the DCO of the source volume. This is done to allow the cache and the source volume to remain in the same disk group for disk group move, split and join operations.

  2. Clean the temporary volume's contents using an appropriate utility such as fsck for non-VxVM file systems and log replay for databases. Because VxVM calls VxFS and places VxFS file systems in a constant state immediately before taking a snapshot, it is not usually necessary to run fsck on a VxFS file system on the temporary volume. If a VxFS file system contains a database, it will still be necessary to perform database log replay.
  3. To backup the data in the snapshot, use an appropriate utility or operating system command to copy the contents of the snapshot to tape, or to some other backup medium.
  4. You now have the following options:

    • Refresh the contents of the snapshot. This creates a new point-in-time image of the original volume ready for another backup. If synchronization was already in progress on the snapshot, this operation may result in large portions of the snapshot having to be resynchronized.

    • Restore the contents of the original volume from the snapshot volume. The space-optimized instant snapshot remains intact at the end of the operation.

    • Destroy the snapshot.

More Information

Creating a shared cache object

Refreshing an instant space-optimized snapshot

Restoring a volume from an instant space-optimized snapshot

Removing an instant snapshot