Snapshots are a standard feature of most storage systems today. They offer a remarkable ability to save a file at specific points in time without actually making a copy of it; in fact, they’re also referred to as “point in time copies”. This makes snapshots ideal for many data handling processes, including backup. But while the concept is simple, using snapshots for protecting data on a primary storage system can present some problems.
Register for the on demand webinar “How Snapshots CAN be Backups”
How snapshots work
Basically, snapshotting keeps track of changes made to a base copy of a file and then applies those changes in the order they were captured, to recreate that file as it looked at the desired time. They do this by using metadata pointers, essentially the addresses of data blocks that comprise these time-based changes to a file, instead of creating fresh copies of the entire file each time a recovery point is established.
One popular technique is to copy these changes to a separate storage area each time a write operation occurs. Called “copy on write”, this process can create a lot of CPU overhead as more snapshots are taken of the same files. Another method called “redirect on write” changes a file pointer to the most current data block as it’s updated with each successive snapshot, instead of copying those data blocks. This is more efficient than the copy-on-write process, but can still bottleneck performance when a system accumulates hundreds of snapshots, as often happens in the backup process.
How snapshots can fail
Since they leverage pointers to data blocks and don’t actually copy data to another storage location, there’s an element of risk associated with using snapshots for data protection. If a data block is corrupted, the file copy associated with that point in time may not be recoverable. And if the metadata is corrupted (the information that controls how files are reassembled from snapshots) or the entire storage system goes down, then all bets are off. The data captured as snapshots may be unusable, making the backups unrecoverable. For these reasons, using snapshots alone as a data protection process isn’t the best idea.
What you can do about it
There are ways to leverage the power of snapshots while still maintaining the reliability that’s essential in a data protection solution. A simple but powerful method is to use snapshots and replication together. This way, snapshots can provide the near real-time state capture of the data set being backed up but then use replication to send that data to another storage system for protection against a failure on the primary system. Once on the secondary storage area, other processes can be employed to actually recreate the files being backed up so that ‘real’ copies exist and the data protection process isn’t reliant on the multitude of changed blocks and metadata that the snapshot process generated.
Unfortunately, this requires two storage systems, and the secondary system must be compatible with the primary system, which can make the whole solution prohibitively expensive. There are some technologies out there that provide alternatives by enabling the use of commodity hardware and a software defined storage solution to manage the snapshot and replication processes.
For more information about how snapshots can be used successfully for backups, DR and other processes, tune in to this webinar from Storage Switzerland, “How Snapshots CAN be Backups”.