QR Code contains TinyURL of this article.Backups and Cold Storage

Introduction

My data, while most likely worthless to anyone else, is priceless to me. I have emails dating back to 1991; I have tens of thousands of photos; I have videos of my children growing up; I have countless essays; I have hundreds of megabytes of source code… I have tried to be paperless for at least the past decade, so I also have hundreds of PDF files of bills, pay-slips, bank statements and the other paperwork of life. I store this array of digital information on the solitary SSD in my MacBook.1

If I were to lose this data, say though the theft of my laptop or a hardware failure, I would be totally crushed. So reliable backups are an essential part of my digital life.

Primary Backup

I use Apple’s “Time Machine” to wirelessly backup to a NETGEAR ReadyNAS® 104. The 104 is a four-bay unit, fully loaded with four 2‍TB drives. It employs a RAID 1+02 configuration and thus can theoretically survive the failure of up to two drives and still provide for the safe recovery of all data. The array runs under the Btrfs3 so my data has the added protection of checksums4 and snapshots. In addition, Time Machine makes interim backups to the internal SSD when I’m away from my home network.

Time Machine is notable for its ease-of-use and non-intrusive operation. It performs backups every hour, in the background. It keeps hourly backups for the past 24 hours; daily backups for the past month and weekly backups for all previous months. It is easy to restore files from the backup. It is also easy to restore an entire system.5

Off-site Backup

I feel safe and secure with my primary backup: it works well; it doesn’t get in my way and, when I’ve needed to restore from it, the process has proven to be fast and reliable. It does have one significant flaw however: it’s vulnerable to theft, fire and natural disaster. If a bad guy breaks into my flat and steals my MacBook and my NAS then I would lose everything.

It is for reasons like this that best practice dictates that, along with a primary, we have at least one off-site backup system.

For my off-site backup, I have been periodically cloning my MacBook to a portable USB hard disk.6  I store that portable drive in a drawer at work. I’ve been making this backup every fortnight for years. But this has always struck me as being the least elegant component of my backup solution. I have long wanted to replace this with a cost-effective, off-site backup system that I could automate.

Cold Storage

I have recently started using Amazon’s Glacier service as an additional data store. Amazon describes Glacier as:

“a low-cost storage service that provides secure and durable storage for data archiving and backup … retaining data for long periods, whether measured in years or decades.”

By Eric E Castro from San Francisco ('John Muir Glacier' Uploaded by Aconcagua) [CC-BY-2.0 (http://creativecommons.org/licenses/by/2.0)], via Wikimedia Commons
Muir GlacierPhoto Credit: . License: CC BY 2.0

You should think of Glacier as cold storage (the clue’s in the name). That is, long-term storage with infrequent retrievals. One doesn’t use Glacier to restore a file that was inadvertently deleted yesterday, that’s Time Machine’s job. In my case, I would retrieve my data from Glacier only in the case of an event that would preclude a restoration from Time Machine and I’d more than likely restore the entire data set rather than individual files.

I use the Arq client to maintain my Glacier backups. Having completed the initial upload, I have scheduled Arq to perform incremental backups once per day to my Glacier vault.

I no longer need to manually clone my computer every two-weeks. I am comfortable relying on Glacier and Arq to provide for off-site storage of my valuable data.7  8

Exclusions

Whilst Time Machine backs-up my entire system, I don’t need to send all those gigabytes to Glacier. I can download my operating system and applications from their respective providers and reinstall them. I can download my purchased media — ~500 movies and TV series, ~10,000 audio tracks — via iTunes Match.9  So the only data I need to store on Glacier is that which I have created myself.

Don’t backup that which is unnecessary.

Testing

If you place any value on your data then you will maintain at least one backup system. If you follow best practice then you’ll have a minimum of both a primary and an off-site backup. But backup is only half of the story. The other half is the restore and it is here that it can all go horribly wrong. In my professional life I have personally experienced the following restore failures:

  • The backup-set didn’t include all the files it should;
  • A fresh installation of the backup software was incompatible with the data format of the backups created with an earlier version of the same software;
  • A corrupt backup tape made a restore impossible.

The lesson in this is obvious. Test, test and test again that you can restore from your backups. Test that you can restore individual files; a directory tree or two; a full system… and test that you can restore onto a different computer.10  Test often. Test before a disaster occurs so that you’re sure that a restore will be successful when a disaster occurs.

Do not blindly trust your backups!

I do a full restore onto a bootable, external hard disk every couple of months. Then I boot my computer from that disk and browse the file-system. I open a random selection of files and run a selection of “diff” and checksum tests on the directory tree. I verify as much as I can so that I can feel confident that I could recover from a data disaster.

Summary

We are creating ever-increasing11 amounts of data.12  Some, if not all of that data is valuable to us and often irreplaceable.

There are constant threats to our data:

We all need a solid, tiered back-up plan to mitigate these risks. We also need to verify the integrity of our backups with frequent testing.

There are no short-cuts.

Closing Thought

There is an old adage:

“A fool and his money are easily parted.”

So too is a fool and his data.

  1. Encrypted with Apple’s FileVault 2↩︎

  2. RAID 1+0 (also described as RAID 10) is a fault-tolerant and fast disk array. RAID 1+0 is expensive in terms of storage capacity — the 8TB in my NAS results in only 4TB of usable storage — but makes up for it with a high level of redundancy combined with fast read/write speeds. ↩︎

  3. I know it is somewhat paradoxical that I am using an experimental file-system for a backup drive. That’s what the NAS uses. My choice would be ZFS. However, it’s worth recording that the NAS has been 100% reliable to date. ↩︎

  4. Data integrity is just as important as data redundancy. ↩︎

  5. If you need to restore an entire system, I recommend that you connect your backup drive directly to your computer via USB or Ethernet as restoring a whole system wirelessly is a slow process. ↩︎

  6. I use Carbon Copy Cloner to produce a bootable clone of my MacBook’s drive for the purpose of emergency disaster recovery. ↩︎

  7. I store my Glacier vault in the AWS data-centre in Dublin, Ireland. You don’t get much more off-site than in another country! ↩︎

  8. Data storage on Glacier is cheap. I spend less than $10(US) per month to keep ~500GB archived. ↩︎

  9. iCloud ↩︎

  10. Because that’s what you’ll be doing if restoring after a computer theft. ↩︎

  11. The amount of digital information increases tenfold every five years. Source: The Economist↩︎

  12. 90% of world’s data generated over last two years. Source: Science Daily↩︎

  13. How long do disk drives last? ↩︎

  14. Bitrot and atomic COWs: Inside “next-gen” filesystems↩︎