vxvm snapshot quick start

By shyjack

source dg: testdg
source vol:  vol01
data volmune mounted at:  /slavefs
snapshot mounted at:  /snapfs

 

space-optimized instant snapshot
====================================
1. check dco
vxprint -g testdg -F%instant vol01
vxprint -g testdg -F%fastresync vol01
vxprint

2.if dco not available, create it by prepare
vxsnap -g testdg prepare vol01
vxprint -g testdg -F%instant vol01
vxprint -g testdg -F%fastresync vol01

3. create cache volume in preparation of space-optimized snap
vxassist -g testdg make cachevol 100M layout=nostripe init=active disk01
normally it should be 10% of original volume size

4. create cache objects in preparation of space-optimized snap
vxmake -g testdg cache mycacheobj cachevolname=cachevol autogrow=on
vxcache -g testdg start mycacheobj
vxprint -g testdg

5. create the instant snap with space-optimized
vxsnap -g testdg make source=vol01/newvol=snapvol01/cache=mycacheobj alloc=disk02
vxprint -g testdg -F%incomplete snapvol01
6. check file system
fsck -F vxfs /dev/vx/rdsk/testdg/snapvol01

7. mount file system
mount -F vxfs /dev/vx/dsk/testdg/snapvol01 /snapfs/

8. refresh
umount /snapfs
vxsnap -g testdg refresh snapvol01 source=vol01
fsck -F vxfs /dev/vx/rdsk/testdg/snapvol01
mount -F vxfs /dev/vx/dsk/testdg/snapvol01 /snapfs/

9. restore data volume
umount /slavefs  (data volume)
vxsnap -g testdg restore vol01 source=snapvol01
fsck -F vxfs /dev/vx/rdsk/testdg/vol01
mount -F vxfs /dev/vx/dsk/testdg/vol01 /slavefs

10. remove instant space-optimized snapshot
umount /snapfs
vxedit -g testdg -r -f rm snapvol01     [-f is used as it is still enabled, otherwise stop it first]
vxedit -g testdg -f -r rm mycacheobj
vxsnap -g testdg -f unprepare vol01

 

 
full-sized instant snapshot
====================================
source dg: testdg
source vol:  vol01
1. check dco
vxprint -g testdg -F%instant vol01
vxprint -g testdg -F%fastresync vol01
vxprint

2.if dco not available, create it by prepare command
vxsnap -g testdg prepare vol01
vxprint -g testdg -F%instant vol01
vxprint -g testdg -F%fastresync vol01

3. create a full-sized volume in preparation of space-optimized snap
LEN=`vxprint -g testdg -F%len vol01`
DCONAME=`vxprint -g testdg -F%dco_name vol01`
RSZ=`vxprint -g testdg -F%regionsz $DCONAME`
vxassist -g testdg make snapvol01 $LEN layout=nostripe init=active alloc=disk02
vxsnap -g testdg prepare snapvol01 regionsize=$RSZ
4. create the snapshot
vxsnap -g testdg make source=vol01/snapvol=snapvol01 [syncing=off]
vxprint -g testdg -F%incomplete snapvol01

5. check file system
fsck -F vxfs /dev/vx/rdsk/testdg/snapvol01

6. mount file system
mount -F vxfs /dev/vx/dsk/testdg/snapvol01 /snapfs

7. refresh
umount /snapfs
vxsnap -g testdg refresh snapvol01 source=vol01
fsck -F vxfs /dev/vx/rdsk/testdg/snapvol01
mount -F vxfs /dev/vx/dsk/testdg/snapvol01 /snapfs/
8. restore data from snap
umount /slavefs 
vxsnap -g testdg restore vol01 source=snapvol01
fsck -F vxfs /dev/vx/rdsk/testdg/vol01
mount -F vxfs /dev/vx/dsk/testdg/vol01 /slavefs
9. remove snap
vxprint -g testdg
umount /snapfs
vxedit -g testdg -f -r rm snapvol01
vxsnap -g testdg -f unprepare vol01

 

third-mirror break-off snapshots (must be instant ready)
=================================
1. dco/drl
vxsnap -g testdg prepare vol01
2. create mirror and run it in background
vxsnap -b -g testdg addmir vol01 nmirror=1 alloc=disk01,disk02  
You must spread into two disk for mirrored volume, as dcl is mirrored.

or

1. prepare volume
vxsnap -g testdg prepare vol01 ndcomirs=1 alloc=disk01

2. create mirror
vxsnap -b -g testdg addmir vol01 nmirror=1 alloc=disk02

 

continue
3. vxprint -g testdg  [to find out the plex with snapdone]/ vxtask list

4. vxsnap -g testdg make source=vol01/newvol=snapvol01/plex=vol01-02

5. fsck -F vxfs /dev/vx/rdsk/testdg/snapvol01

6. mount -F vxfs /dev/vx/dsk/testdg/snapvol01 /snapfs

7. refresh
umount /snapfs
vxsnap -g testdg refresh snapvol01 source=vol01
fsck -F vxfs /dev/vx/rdsk/testdg/snapvol01
mount -F vxfs /dev/vx/dsk/testdg/snapvol01 /snapfs/

8. restore
umount /slavefs 
vxsnap -g testdg restore vol01 source=snapvol01
fsck -F vxfs /dev/vx/rdsk/testdg/vol01
mount -F vxfs /dev/vx/dsk/testdg/vol01 /slavefs
9. remove snap
vxprint -g testdg
umount /snapfs
vxedit -g testdg -f -r rm snapvol01
vxsnap -g testdg -f unprepare vol01

 
traditional third-mirror break-off snaphost
=============================================

1
vxassist -b -g testdg snapstart nmirror=1 vol01

2.
vxassist -g testdg snapshot vol01 snapvol01

3.
fsck -F vxfs /dev/vx/rdsk/testdg/snapvol01

4.
mount -F vxfs /dev/vx/dsk/testdg/snapvol01 /snapfs

5. refresh
umount /snapfs
vxassist -b -g testdg snapback snapvol01
vxassist -g testdg snapshot vol01 snapvol01
fsck -F vxfs /dev/vx/rdsk/testdg/snapvol01
mount -F vxfs /dev/vx/dsk/testdg/snapvol01 /snapfs

6. restore
umount /slavefs
umount /snapfs
vxassist -b -g testdg -o resyncfromreplica snapback snapvol01
fsck -F vxfs /dev/vx/rdsk/testdg/vol01
mount -F vxfs /dev/vx/dsk/testdg/vol01 /slavefs

after snapback,  snapvol-1 is gone. The plex will go back to vol01 for next split
vxassist -g testdg snapshot vol01 snapvol01
fsck -F vxfs /dev/vx/rdsk/testdg/snapvol01
mount -F vxfs /dev/vx/dsk/testdg/snapvol01 /snapfs/

7. remove snap
umount /snapfs
vxedit -g testdg -r -f rm snapvol01

回复