Great Article on File vs Block Level Back Ups

Click here to read the article or read below: http://blog.inetu.net/2011/03/file-vs-block-level-backups/

File vs Block Level Backups

Every IT professional should be familiar with backups. Be it a simple file copy for safe keeping or a complex backup system for a multi-server environment.  Regardless of which method your employ, it is important to simply have a backup plan in place.  There is a myriad of options available for performing system backups, but they can be split into major camps based on the methods they use to perform the backup; file-level and block-level.  For those that need to know the difference, this article will help shed some light on the difference between the two.

File-Level Backups

This is the most common method used by most basic backup software which makes it quite basic to understand.  Software which employs file-level backups crawls the file system and makes a copy of each file and folder to a different destination.  Popular software which employs file-level backups by default include Symantec Backup Exec, NTBackup (from Windows Server 2003 and below), and Bacula.  Some systems copy the files into a container file; others simply move the files to a separate folder structure.

While this method does perform the primary task of “backups,” there are drawbacks.  For instance, if a large file is changed or modified between backup intervals, the entire file will be backed up again the next time it’s noticed.  This can inflate the amount of storage you’d need to back up your entire file system.  Additionally, there needs to be some kind of a method in place for getting a “clean” copy of a file that is currently in use, and sometimes this can be an additional charge on top of the basic backup software.

Block-Level Backups

“Block-level backup” is not a new concept, but it is not as common as file-level backups.  Block- and file-level differ because the software that performs block-level backups goes “deeper” than just the files and folders. Instead it backs up the underlying file system, or the actual “blocks” on the disk.  It has also been referred to as “continuous data protection” or “image-based backups.”

Different software vendors may perform the task differently, but they all manage to perform the same basic task.  Some examples of block-level backup software are Windows Server Backups (Windows Server 2008 and up), Backup Exec (with the use of an extra software “agent” or plug-in), and Syncsort Backup Express (or BEX for short).

The main benefit to using block-level backups over file-level is that it can save space and time when backing up and restoring files and even entire servers.  INetU has recently started using Syncsort’s BEX product, so I’ll use their method for an example.

  1. The first time a backup for a system is performed, it grabs the entire selection list, or whatever list of system volumes you choose for a given system.  This is known as the “base” backup.
  2. The next scheduled backup looks for differences in the file system and only backs up the changes.  This is also known as the “incremental” backup.
  3. It can then combine the two backups into one backup set.  This process is known as the “condense” job and creates a “synthetic full” backup.

There is a lot more detail to the actual inner workings of this, but these are the basic points.  The benefits of this method include the fact that only the changed blocks are backed up, which saves space, and full-server restorations are quicker and easier since it only has to write blocks back to the disk rather than individual files and folders.

The method is not without its drawbacks, however.  Since it backs up any changes to the underlying file system, anything which affects the file system (such as a defragmentation) can cause data to be unnecessarily backed up.  Also, since it relies upon all previous backups for the synthetic full to be usable, any problems with one of the incremental backups can “break the chain,” so to speak, and cause the full be unusable.

Wrap Up

Now, I’m not trying to say that one method is better or worse than another.  You may have a dataset which lends itself much better to using a file-level backup system and doesn’t require backing up the entire file system.  Regardless of which method you employ, the most important idea here is that backups are important.  Which backup method to you use?

One thought on “Great Article on File vs Block Level Back Ups

Leave a comment