— Update 2016-01-03 read about my new approach to backup —
Acronis is a full featured backup application. Because it can do almost anything it is very difficult to configure. As is often the case, the first thing to work out is what you want to accomplish.
I have a laptop and travel for work. The laptop is used for both general administration and software development. To support software development I have several virtual machines running in VirtualBox.
I have about 100 GB of data and I expect this to increased by 100 GB/year. I have a home server with 2TB raid storage that is available for backup.
I want to be able to recover from,
- Hard disk failure
- Accidental deletion of files
- Virus infection
Note that source code is protected by source control software which allows me to push the source to a remote repository and restore it very easily. In addition to this protection my IDE (IntelliJ) tracks changes to files as I use it and provides a substantial recovery capability in the case of human error.
Recovery Point Objectives
My laptop has only a single hard disk which has both the operating system and the data on it. One day the hard drive will fail and when it does,
- I want my time to recovery to be less than eight hours
- I want to restore my system and files to their state at the end of the previous working day
To protect against accidental deletion and viruses I want to be able to recover to any time in the past 3 months.
In a previous post I have given details of how to recover from a hard disk failure. In this post I discuss how Acronis can be configured to facilitate this.
Using Acronis non-stop
If the hard drive is still working but the laptop is unusable because of data corruption such as bad video drivers then it is possible to restore from a backup data set on the drive itself. This is great for laptop users who may not have access to the data sets stored on external media.
Acronis has a feature called “non-stop” which will backup file changes to a hidden partition on your hard drive every five minutes. This seems to work well and when used in conjunction with the Acronis boot loader it should be possible to make a hard drive bootable again by pressing F11 at start-up and restoring from the hidden partition (Acronis Secure Zone). If F11 does not work I can use the Acronis recovery media that I have created to find the hidden partition and do a restore.
This offers me a potential recovery time of a few minutes and the possibility of losing no data at all.
Restoring a disk from external media
If the drive is badly damaged or needs to be replaced then the only option is to restore from backup sets stored on external media.
Creating backup sets of a disk to external media
In theory, creating backup sets should be simple but in practice, real world limitations on time, bandwidth, and storage make it much more complicated. To cope with these issues we have to choose from one of three possible backup schemes.
Ideally we would make a complete copy of the hard drive every time we backup and keep it forever. The benefits of this are,
- Restore operations will be very reliable
- Restore operations will be very fast
- We can restore to any point in time
The disadvantages of this are,
- To backup 100 GB will take about four hours (not impossible if I do it overnight)
- I will have to add an additional Terabyte of disk storage to my home server after every 10 backups!
In practice it is not possible do a full backup every time.
A differential scheme reduces storage requirements and the time to make a backup by only backing up changes since the last full backup. To restore to any point in time only the original full backup and the selected nightly backup are required.
- Restore operations only require two files and should be reliable
- Restore operations will be reasonably quick
- Backups should be faster because only changes are being stored
- Backup sets will be smaller; the first backup will be ~100 GB but after that each daily backup should only reflect the changes on the disc.
- If there are major changes to the disc structure such as defragmenting then differential backups can actually be the same size as full backups.
- It can be seen over time the size of differential backups will increase as a system gets further and further away the starting position. For this reason it is common practice to “consolidate” backups by making another full backup after every X differential backups.
An incremental backup scheme has the lowest storage requirements and is the quickest to execute when making a backup. Each incremental backup file contains only the changes from the previous incremental backup therefore to restore to any point in time requires the original backup and all the previous backups.
- It does not take long to make a backup and this is good if you need to make backups during the working day
- It uses the least amount of storage
- This is the least reliable restore option because so many files are involved
- This is the longest restore option
The best backup scheme for disks
The reason that we backup is so that we can restore. I cannot choose the best restore scheme, full backups, because I have insufficient storage. Therefore I will choose the second best restore scheme “differential backups” which is both reliable and fast.
Backup frequency and retention for discs
My recovery point objectives require nightly backups and 3 month retention. Although I could implement separate file and disk backups with different frequencies I will keep it simple and have a single backup task.
I am willing to allocate 500 GB to backups. Each full backup is 100 GB so if I make a full backup once per month I will use 300 GB which leaves me with 200 GB or ~ 70 GB per month for the differential backups.
I will try this scheme,
- Full backup after every 30 differential
- Retain 3 full version chains (ie, monthly backup sets)
I will need to keep an eye on the size differential backups.
— Update 2014-03-10 —