You may have to upgrade a volume created using a version older than VxVM 5.0 so that it can take advantage of Database FlashSnap.
To upgrade an existing volume created with an earlier version of VxVM
Upgrade the disk group that contains the volume to a version 120 or higher before performing the remainder of this procedure. Use the following command to check the version of a disk group:
# vxdg list diskgroup
To upgrade a disk group to the latest version, use the following command:
# vxdg upgrade diskgroup
If the volume to be upgraded has a DRL plex or subdisk from an earlier version of VxVM, use the following command to remove this:
# vxassist [-g diskgroup] remove log volume [nlog=n]
Use the optional attribute nlog=n to specify the number, n, of logs to be removed. By default, the vxassist command removes one log.
For a volume that has one or more associated snapshot volumes, use the following command to reattach and resynchronize each snapshot:
# vxsnap [-g diskgroup] snapback snapvol
If persistent FastResync was enabled on the volume before the snapshot was taken, the data in the snapshot plexes is quickly resynchronized from the original volume. If persistent FastResync was not enabled, a full resynchronization is performed.
Use the following command to turn off persistent FastResync for the volume:
# vxvol [-g diskgroup] set fastresync=off volume
Use the following command to dissociate a DCO object from an earlier version of VxVM, DCO volume and snap objects from the volume:
# vxassist [-g diskgroup] remove log volume logtype=dco
Use the following command on the volume to upgrade it:
# vxsnap [-g diskgroup] prepare volume \ alloc="disk_name1,disk_name2"
Provide two disk names to avoid overlapping the storage of the snapshot DCO plex with any other non-moving data or DCO plexes.
The vxsnap prepare command automatically enables persistent FastResync on the volume and on any snapshots that are generated from it. It also associates a DCO and DCO log volume with the volume to be snapshot.
To view the existing DCO plexes and see whether there are enough for the existing data plexes, enter:
# vxprint -g diskgroup
If there are not enough DCO plexes for the existing data plexes, create more DCO plexes:
# vxsnap [-g diskgroup] addmir dco_volume_name [alloc=disk_name]
where dco_volume_name is the name of the DCO volume you are creating.
If the plex is in a SNAPDONE state, convert it to an ACTIVE state:
# vxplex [-g diskgroup] convert state=ACTIVE data_plex
Convert the data plexes to a SNAPDONE state and associate a DCO plex with the data plex that will be used for snapshot operations:
# vxplex [-g diskgroup] -o dcoplex=dco_plex_name convert \ state=SNAPDONE data_plex
where dco_plex_name is the name of the DCO plex you are creating.
In this example, the volume, data_vol, is upgraded to make use of VxVM 5.0 features.
Upgrade the disk group, PRODdg:
# vxdg upgrade PRODdg
Remove the DRL plexes or subdisks, belonging to an earlier version of VxVM, from the volume to be upgraded:
# vxassist -g PRODdg remove log data_vol logtype=drl
Reattach any snapshot volume back to the primary volume to be upgraded:
# vxsnap -g PRODdg snapback SNAP-data_vol
Turn off FastResync on the volume to be upgraded:
# vxvol -g PRODdg set fastresync=off data_vol
Disassociate and remove any older DCO object and DCO volumes:
# vxassist -g PRODdg remove log data_vol logtype=dco
Upgrade the volume by associating a new DCO object and DCO volume:
# vxsnap -g PRODdg prepare data_vol alloc="PRODdg01 PRODdg02"
View the existing DCO plexes and plex state.
In this example, there are enough DCO plexes for the data plexes. Also, no data plex is associated with a DCO plex.
# vxprint -g PRODdg
Convert the data plex state from SNAPDONE to ACTIVE:
# vxplex -g PRODdg convert state=ACTIVE data_vol-04
Associate the data plex with a new DCO plex and convert it back to a SNAPDONE state:
# vxplex -g PRODdg -o dcoplex=data_vol_dcl-02 convert \ state=SNAPDONE data_vol-04
# vxprint -g PRODdg
In this example, there are fewer DCO plexes than data plexes.
# vxprint -g PRODdg
Add a DCO plex to the DCO volume using the vxassist mirror command:
# vxsnap -g PRODdg addmir data_vol_dcl alloc=PRODdg02
Associate the data plex with the new DCO plex and convert it to a SNAPDONE state:
# vxplex -g PRODdg -o dcoplex=data_vol_dcl-02 convert state=SNAPDONE -V data_vol-04
# vxprint -g PRODdg