EMC – Setting up SNAPS (snapshots) on VMAX

Print Friendly, PDF & Email

Application is using tdevs from thin pool on VMAX. Everything is running fine, and the business is happy. Because everyone is happy, the business grows, and so does the data. Now the backups are taking for ever. Suggestion put forward is to use snapshots of tdevs and back them up. Stop the application, take the snapshots, resume the application, and backup the snapshots. Easy pissy. Before we proceed, let me explain the meaning of a few terms which might sound daunting at first but are not once clearly understood.

Devices created from hard drives are of the type datadevs or savedevs created using BIN files. Datadevs are used to make up a thin pool, and savedevs are used to make up a save pool (snap pool). Thin devices (tdevs) are bound to the thin pool, whereas virtual devs (vdevs) are bound to the save pool. All the savedevs created initially are part of DEFAULT_POOL by default and remain so until they are disabled and moved out of it.

The process in general is: create a snap session containing tdevs (source devs) and vdevs (snapshots), and bind the session to a savepool. All the actions are performed on the session. In non-technical terms – When the session is started, tdevs/vdevs are associated and the original data from source tdevs that is about to be changed is written to its associated vdev before getting changed (which in turn is written to an extent on a savepool – vdev contains the pointer to location of the extent allocated from savepool). When the session is terminated, the vdevs are not deleted, but the extents allocated to vdevs from savepool are reclaimed.

Now lets proceed with the actual commands.

1. Find out the savepools already created on the array. If none, then create a savepool named snapshot_pool
# symsnap –sid 1234 list –pools
# symconfigure –sid 1234 –cmd ‘create pool snapshot_pool, type=snap;’ prepare

2. List save devices which might already exist in DEFAULT_POOL. Choose the devices to be used for snapshot_pool
# symsnap –sid 1234 –svp DEFAULT_POOL –savedevs

3. Disable save devices 1234:5678 from DEFAULT_POOL, add them into snapshot_pool, and enable them
# symconfigure –sid 1234 –cmd ‘disable dev 1234:5678 in pool DEFAULT_POOL, type=snap;’ prepare
# symconfigure –sid 1234 –cmd ‘add dev 1234:5678 to pool snapshot_pool, type=snap, member_state=ENABLE;’ prepare
# symconfigure –sid 1234 –cmd ‘enable dev 1234:5678 in pool snapshot_pool, type=snap;’ prepare (to enable already added devices)

4. Check whether vdevs are already created on the array. If not create a few.
# symdev –sid 1234 list –vdev
# symconfigure –sid 1234 –cmd ‘create dev count=20, config=VDEV, size=23252MB, emulation=FBA;’ prepare

5. Create device group, add source tdevs 0121:0123, and corresponding vdevs 0AB1:0AB3
# symdg create dg_testsnap
# symld -g dg_testsnap addall dev –range 0121:0123
# symld -g dg_testsnap addall dev –range 0AB1:0AB3 -vdev

6. Create the snapshot session assocaited with snapshot_pool, and check its status
# symsnap -g dg_testsnap create –svp snapshot_pool
# symsnap query
# symsnap list [-held]

7. Activate the snapshot session and query the session
# symsnap -g dg_testsnap activate –consistent
# symsnap query (status should change to CopyOnWrite from Created)

8. If multiple snapshots are needed, activate multiple sessions and query the session
a. Create a new device group with appropriate devices. 3 vdevs are 0AB4:0AB6, and tdevs are still 0121:0123
# symdg create dg_testsnap1
# symld -g dg_testsnap1 addall dev –range 0121:0123
# symld -g dg_testsnap1 addall dev –range 0AB4:0AB6 -vdev

b. Create first snap session between 121:123 and AB1:AB3, and activate it
# symsnap -g dg_testsnap create –svp snapshot_pool
# symsnap -g dg_testsnap activate –consistent

c. Create second snap session between 121:123 and AB4:AB6 and activate it
# symsnap -g dg_testsnap1 create –svp snapshot_pool –concurrent
# symsnap -g dg_testsnap1 activate –consistent

9. Terminate the snapshot session when the purpose is achieved.
# symsnap -g dg_testsnap terminate

, , , , ,


2 Responses to “EMC – Setting up SNAPS (snapshots) on VMAX”