It’s easy, common even, to push off implementing that backup workflow you have always been talking about. Your data is fine and you have more important matters to take care of first, like finishing that project you are on deadline for…. until you don’t. Backing up your data, mission critical client data, at a minimum, is no laughing matter and really should not be put off.
Yet, sometimes it takes a catastrophe or near miss to remind you of that importance. This past week I was faced with a near miss that had me completely rethinking my data backup and redundancy system, so today I wanted to highlight what the issue was, how I fixed it, and the steps I have taken to ensure I don’t have to email people to let them know there will be a delay on promised work because of a preventable mini-disaster on my part ever again.
I awoke Tuesday morning business as usual, which for me is making some coffee, jumping in the shower, making breakfast for my kids, and starting to search the web for topics to potentially write about. I usually turn on a movie for my youngest son when my oldest goes to school, so he can be distracted while I get my work done. These movies are streamed from a Plex server running on my desktop PC.
A few moments after sitting down to my desk my son comes running in to let me know that his movie was not working. My wife confirmed, letting me know that the server was saying the file was not accessible. The files were stored on an external RAID-1 array (Two, three TB drives mirrored), along with almost my entire photo catalog from the last year. This RAID array was my mass/long term storage. I checked the unit, and the lights were on, but for some reason my PC was not recognizing the array. This is when the panic began to set in, not about the movies, but the images, which were not backed up anywhere else but that raid array.
You see, the whole reason I even had that RAID enclosure was because of a drive failure I had about 9 months ago that resulted in loosing a couple years worth of personal images and data. Nothing super important, but a stinging loss none the less. I had set out to make sure that I always had data redundancy. I reconfigured my PC with a RAID-10 array with my OS for primary storage, and purchased this RAID unit, with two, three TB drives to act as my backup for important data on the primary drive. Had I stuck to that plan, I would have had no need to flip out when the backup unit was not registering with the system.
Unfortunately, I had gotten lazy and started utilizing the ‘backup’ drive as mass storage to save space on my primary array. So a vast majority of the data on that backup RAID-1 array was actually only there… meaning it wasn’t really a backup at all.
Long story short, after a ton of investigating and some software downloads, I was able to confirm that my RAID-1 drives were still good and the data was fine. The enclosure just happened to crap out on me. So, my data was safe, I just couldn’t access it in its current state.
How I Fixed It
By all accounts, all I really needed to do was buy or get a replacement RAID enclosure of the same model and my RAID should have rebuilt itself and all would have been fine. But money is tight and a warranty replacement could take up to 4-6 weeks, so I opted to scrap the RAID and use some software to grab the data I needed off it (mainly my photos and movies). I transferred the data onto two extra external drives I had lying around, a process that took something like six to eight hours.
So I had my data, I could access it… crisis averted (sorta). But my RAID enclosure was fried and I needed to reevaluate my backup/redundancy system so that major downtime like this doesn’t happen again. So I set out to develop a system that worked for me, that I could implement (mostly) with drives I already had.
I wrote out the goals that I had for my new data system:
- Data Redundancy
- Internal, Easily Accessible Backup
- Local, External ‘Secondary’ Backup
- Offsite, External ‘Worst Case’ Backup
- Easy Expansion
- Fast File Access
At my disposal I had four 500GB SSDs, one 240GB SSD, one 120GB SSD, three 3TB HDDs, one external 500GB USB 2.0 HDD, and one external 1TB USB 3.0 HDD. I decided to completely scrap my current system, totally starting from scratch to build out my data storage with my new system in mind.
My New Data Storage & Backup Solution
My new system consists of a 500GB OS drive, which will be run in a RAID 1 mirror via my motherboard (not as ideal as buying a hardware RAID card, but again, money is tight) and comprised of two of my 500GB SSDs. Following that my data goes into one of two places, my internal mass storage (comprised of 1 3TB HDD), or my ‘working storage’ (comprised of one of my remaining 500GD SSDs). The majority of my data will live in one of those two places.
The ‘Working Drive’ will be where I import my new client work to, and where I will run my Lightroom catalog from. Once I am done with a project and have delivered the client their images, I move that project (its RAW files, jpegs, etc) over to the mass storage drive with the rest of the data that doesn’t need to be accessed super quickly or regularly. This 500GB working drive is first backed up hourly, through Window’s built in ‘File History’ feature, to the external USB 2.0 500GB HDD (I specified settings so that this drive is the only one that Windows saves file history for). It’s slow, but it is external and allows me to have really recent backups of my most important files. The working drive is also backed up to my primary internal backup array, but more on that below.
My ‘Internal Mass Storage’, currently comprised of one 3TB drive, will house the majority of my internal data. This includes images from the last six months or so, my movie collection, and any other data that doesn’t need to live on my primary OS drive.This drive is then backed up to my primary internal backup array, along with the working drive mentioned above, on a daily basis (right now the backup is scheduled for midnight).
The ‘Internal Backup Array’ is comprised of the two remaining 3TB HHD’s combined into a ReFS file system using Windows 10’s Storage Spaces feature (as an alternative to setting up another MoBo or Software RAID). This allows me to easily expand this backup array as my other internal storage increases as well as provides mirrored redundancy in case of a single drive failure. (I also plan on switching the Internal Mass Storage array over to another Storage Space once I start running out of room)
According to my plan, this internal backup array would itself be backed up to an external array on a daily basis, but I am waiting on my warranty replacement for my RAID enclosure before setting up that local (meaning in my home) external backup location.
I did, however, set up my external offsite backup, utilizing the cloud service BackBlaze. This service monitors all of my attached drives and backs those up to the cloud (albeit fairly slowly on this initial run, which is still running and will continue to do so for many more days). So I have cloud backups up my primary drives, as well as my backup drives, meaning my external backup contains backups of my backups. It’s redundant, yes, but that is sort of the point.
The idea is that my data is secured through multiple redundant copies of the majority of my files. So if, for example, an external enclosure crapped out on me again. I wouldn’t have to freak out about not being able to access the data that was on it because I would be able to easily access that data from another location while I worked to fix/replace the problem array.
I am sure some of you data nuts out there can probably still spot some holes in my new setup. No system is perfect, but this, in my opinion, should be a vast improvement over my previous one. I just hope the day comes that I never really need to put it to the test.
I know this was a big chunk of content to chew through, so kudos to those of you who made it all the way through.
What are you all doing for your data storage and security? How much backup and redundancy do you have built into your system? I would love to hear a little about what some of you have implemented in the comments below.