How to manage storage snapshots for databases

how to manage storage snapshots for databases

The wonderful thing about time travel in movies and TV – is that time travel does not need explaining.   Once we accept that it’s possible, the rules that govern our lives no longer apply, which is pretty liberating. My favourite Star Trek shows always involved time travel, my absolute favourite being the movie Star Trek IV.  Whether it was Mr Scott talking to a computer mouse (“Hello Computer!!”) or Checkov asking “Show me the nuclear vessels!”  or Kirk explaining Spock’s headwear (to hide his ears) by saying: “he did a little too much LDS in the 60s” (apologies to those who have never seen the movie). 

Now while I may be torturing an analogy, storage snapshot technology is kind of like a form of time travel (in my defense, some vendors do use the word ‘Time’ in their snapshot product names).  Lets face it, snapshots can do things that we don’t think are normally possible.   By creating a snapshot of a storage volume, we can transport our production systems (or our development systems) back in time.   And while clearly they cannot take us forward in time, what they can do is help us determine the future: letting us practice upgrades and changes by testing on a copy of data that is identical to production (but ISN’T production). 

There is a whole debate around snapshots and backup.   Snapshots on their own cannot be a backup, because they don’t fulfil the 3,2,1 requirements of a genuine backup system (three copies, on two mediums, with one copy offsite).  But they can be part of your backup solution and they can provide a very high level of business resilience.  

When storage snapshot technology was still young (I am talking the 90s and early 2000s),  most storage vendors offered them as a licensed feature – it certainly didn’t come for free.  But as time moved on,  the ability to create snapshots has become a generic feature.   If a new storage company emerged today which didn’t offer snapshots, their product would be considered functionally incomplete.   But while the snapshot feature is now viewed as almost homogenous,  there are four functions of snapshots where delivery is still highly variable:

  1. Application consistency integration:  Not all storage vendors offer an easy-to-deploy library of software to handle this, and this is a key differentiator.    If the source volume is inconsistent because applications are writing to it while the snapshot is being created,  then the snapshot is also inconsistent.  Now it may be usable;  it may need some form of recovery (think FSCK); or it may actually be corrupt because open files are literally half way between two states (with some old data and some new data mixed together).   
  2. Snapshot management:   Not all storage platforms offer the ability to view existing snapshots like a library that we can work with.   Backup products offer catalogues of backups, so being able to view snapshots in a kind of catalogue is very useful
  3. Snapshot scheduling:   In addition to being able to view a library of snapshots, we ideally want snapshots to be created and expired automatically based on a policy schedule, something again, that not all storage platforms offer.
  4. Snapshot transportability:   A snapshot is always a child of the source volumes.   Which means anyone using that snapshot, is using the same blocks that the production application is using.  You may want to split this into two copies, preferably on different hardware (so production I/O and non-production I/O are not hitting the same storage controller).   Plus what if we want to turn a snapshot into a backup? We need to copy it, ideally in an efficient manner and ideally to a variety of targets including dedup appliances and pools, other storage platforms, other sites and to object storage.

So while storage vendors are offering snapshots as a standard feature,  these four extra functions are not necessarily always offered or even available. Storage vendors are more  focused on fixing storage problems, not snapshot usability problems.

This is one of the reasons why Actifio has invested heavily in something we call external snapshot management.   This allows us to create and manage storage snapshots on devices as varied as Dell Unity,  IBM Storwize (or IBM SVC)  and Pure Storage.

What this delivers to our customers is the ability for Actifio’s Virtual Data Pipeline (VDP) software to work with external storage products and bring those four features in a consistent manner.  What this means for databases is that you can achieve  the following:

  • Application consistent database snapshots:   Actifio has been developing software to create application consistent snapshots for the last 11 years.   Doing this is in our DNA, it is one of our core competencies.   Our connector software will ensure that your  production applications are in a consistent state before the storage snapshot is run.
  • Storage management:   Just as we create a library of points in time for VMs, applications, and databases, we can add storage snapshots into that library, giving them the same look and feel.  This means your backup and development administrators only need to use one platform to manage all their application images.
  • Snapshot management:   This is a key function.   The Actifio software will manage the snapshot library on the storage controller, meaning that you won’t get orphan snapshots living well past their due date.  Expiration will be done on schedule and by policy.   
  • Transportability:   This is what takes things to a new level.   After the snapshot is created, the storage controller can present that snap to the Actifio software, which can then incrementally replicate that snapshot into locations as varied as a local dedup pool, an object storage pool or a remote Actifio destination.   We can also push it into EMC Data Domain.  And the really neat trick here is that the second copy that is created does not have to be on matching hardware.   We can take a snapshot of storage vendor A and literally transport it to storage vendor B or cloud vendor C and do that in a space efficient incremental-forever fashion!
  • Scalability:  Your test and dev copies are being presented directly from your own storage, providing the same high availability, scalability and performance as your production storage arrays (with the same MPIO software), combined with all of the agility benefits that Actifio software delivers.

If this sounds useful to you, then please reach out.  We can arrange a demo, talk about Star Trek or even just ponder the paradoxes of time travel!

Recent Posts