HPE 3PAR StoreServ Storage
1751979 Members
4614 Online
108784 Solutions
New Discussion

Snapshot dependencies

 
alivefish
Occasional Visitor

Snapshot dependencies

Question:  Will deleting the 03QA-data11.ro snapshot impact the higher order RW snapshot 03QA-data11?

Synopsis:

I have a process where Step 1, a RO snap of server 1 volume (03-data11) is created, in the illustration that snap is named (03QA-data11.ro).  Step 2, we create a RW snapshot of the RO snapshot, then present the RW snap (03QA-data11) to server 2 as a block device for Oracle/ASM.   Works great, but we haven't cleaned them up due to fear of dependency on the RW snapshot.  That fear stems from the SSMC UI reflecting a visual likage between source copy and destination copies.  There is no Capacity or Exports associated with the 03QA-data11.ro snap, nor does the WWN of the 03QA-data11.ro show up on a server as an additional check.  It seems obvious it could be deleted but I am new to the 3Par system and need to eliminate the possibility that deleting the 03QA-data11.ro snap will impact the higher order RW copy 03QA-data11 that is exported to server 2.

I apoligize, first time post and did not know we could not attach a picture of the volume copy visual I have described.  Is my question clear?

4 REPLIES 4
sbhat09
HPE Pro

Re: Snapshot dependencies

Hello @alivefish,

Your suspect is absolutely right.!
In your scenario, deleting the 03QA-data11.ro will impact the RW snapshot 03QA-data11. Because 03QA-data11 has dependency on 03QA-data11.ro. Deleting the previous snapshot will infact delete the later snapshot as well.

Regards,
Srinivas Bhat

If you feel this was helpful please click the KUDOS! thumb below!
Note: All of my comments are my own and are not any official representation of the company.


I am an HPE Employee

Accept or Kudo

Sheldon Smith
HPE Pro

Re: Snapshot dependencies

As I understand it, you have
03-data11 -- base volume presented to server 1
+> 03QA-data11.ro
   +> 03QA-data11 -- presented to server 2

Sorry, Srinivas, that's not correct.

As long as 03QA-data11 has a VLUN to server 2, the system will not be able to delete 03QA-data11.ro .
This is how the hourly system snapshot cleanup process works.

As seen, starting from a (RW) base volume, when levels of snapshots are created, they alternate between RO and RW. One of the characteristics of any volume is how long it can exist before it is a candidate for the system snapshot cleanup job. If the expiration is not set, it will never be a candidate for cleanup. 
Once the expiration date is past, the volume will be deleted IF 1) it has no child snapshot, and 2) does not have a VLUN.

In this case, 03QA-data11 has a VLUN. 03QA-data11 can't be deleted until the presentation is removed. This also means 03QA-data11.ro can't be deleted until 03QA-data11's VLUN is removed.

Try it. Get a test server, create a test volume, then create a RW snapshot (which creates the intervening RO snapshot). Present the RW snapshot to the test server. Attempt to delete it. Attempt to delete either the RO snapshot or the base volume. The system will not allow them to be deleted as long as the RW snapshot exists and is presented.

 


Note: While I am an HPE Employee, all of my comments (whether noted or not), are my own and are not any official representation of the company

Accept or Kudo

sbhat09
HPE Pro

Re: Snapshot dependencies

Hello @Sheldon Smith,

Probably there is a gap in my understanding of @alivefish's query. My observation was - I took a RO snapshot of a volume (capacity 500gb, used 100gb), then took a RW snapshot of the RO snapshot. (No expiration, or retention set for either of the snapshots and neither of the snapshots exported) Then deleted the parent (RO) snapshot. Immediately the child (RW) snapshot was deleted automatically. While the snapshot is exported it doesn't let to delete. So, deleted the RO snapshot at unexported state.

Is that scenario completely different than what @alivefish is demonstrating, am I missing most important?

Regards,
Srinivas Bhat


I am an HPE Employee

Accept or Kudo

Sheldon Smith
HPE Pro

Re: Snapshot dependencies

The system would not allow that to happen.

What I read was, "could the RO snapshot be deleted while the RW child is presented (has a VLUN) to server 2?"
The system will not allow the deletion of the RO snapshot or the RW child snapshot while the RW child has a VLUN.
After the RW child VLUN is deleted, the RW child volume can be deleted. Once the RW child volume is deleted, the RO volume can then be deleted.

It's been several years since I worked on 3PARs. Off the top of my head, try the following. Fill in appropriately for <usr_cpg> and <test_server>


createvv -tpvv <usr_cpg> test-base 10g
removevv test-base
!! The remove will be successful

createvv -tpvv <usr_cpg> test-base 10g
createvlun test-base auto <test-server>
removevv test-base
!! the remove will fail. The volume has an active VLUN.

createsv -ro test-base.ro test-base
removevv test-base.ro
!! The remove will be successful

createsv -ro test-base.ro test-base
createsv test-base.rw test-base.ro
removevv test-base.ro
!! The remove will fail. test-base.ro has a descendent volume, test-base.rw, and the "cascade" option was not specified on the remove command.

removevv test-base.rw
removevv test-base.ro
!! Done in this order, these will succeed.

createsv -ro test-base.ro test-base
createsv test-base.rw test-base.ro
createvlun test-base.rw auto <test-server>
removevv test-base.rw
!! This will fail as it has an active VLUN.
removevv test-base.ro
!! This will fail, as it has a descendent volume.
removevv -cascade test-base.ro
!! This will fail, as the descendent volume has an active VLUN and therefore can't be deleted prior to the attempt on test-base.ro

Hope this helps


Note: While I am an HPE Employee, all of my comments (whether noted or not), are my own and are not any official representation of the company

Accept or Kudo