Things have been getting pretty geeky in Gav’s tech ninja dojo of late. I’m really excited about my upcoming move to 10Gigabit Ethernet for my NAS to PC communications! The main answer to the question, “why?” is “because I can!” I also like spend money on tech I don’t really need but will (a) allow me to learn something new; (b) entertain me; (c) impress my mates; (d) give me something to blog about; and (e) provide at least some performance benefit… all basically in that order. 🙂
Ok so here’s the basic setup. You may or may not know it but I take pretty pictures (mostly of the Australian landscape) and upload them to the Internet here. I also have a (much neglected) photography website here, which basically pulls my better shots from Flickr using a nifty WordPress plugin. So yeah – tech geek *and* photo geek.
The problem I’m facing is that I have a growing collection of photographic “raw” files – not as big as some but substantial enough to manage, at about 500 Gigabytes (half a Terabyte). What I’ve been doing is storing all the files on a single 2TB HDD (my Windows ‘D’ drive), and syncing them to the cloud with CrashPlan. I also run the very user-friendly and reasonably priced Acronis backup software (and no they didn’t pay me for that – I pimp whatever I like!)
This is a poor strategy. On the face of it you might think it’s OK right? They say in the photo world that “your photos aren’t safe unless they exist in three places” and my stuff IS in 3 places – one of which is offsite… so what’s the problem?
Problems with Current Setup
I’ll number ’em…
- Well firstly my data exists in 3 places, but not one of them is archival in nature. If some files got deleted from my PC and I didn’t notice, then the deletion would sync to the cloud, and Acronis would also backup only the existing files. After a week when my backup schedule rolls over then *poof* – those deleted files are gone forever! What would be ideal is a secondary “archival” backup where I can take monthly snapshots in addition to the daily backups, and then be able to delve right back into the files at least a year into the past. More on this later.
- The primary location for the files doesn’t have physical redundancy – i.e. no RAID. They are just sitting on a single drive. Sooner or later that drive is going to fail. That is a certainty – it’s just a question of when. If I had some sort of +1 drive redundancy I could just swap the drive out and continue on without having to restore from backups. I could buy another drive for my main PC and RAID it up in a “mirror” with my current drive, but I already have a Redundant Array of Independent Drives (RAID)… my NAS… hmmm.
- Having all the files on my PC to backup to the cloud means I have to leave my PC on in order to back them up. When I’m backing up to the cloud, it could be many gigs of data to sync at a time, and since my upstream bandwidth is a paltry 800kbps at best (ADSL2+) then it’s going to take a very long time AND choke my upstream TCP acks, meaning my web browsing experience is bad (and yes I need to “priority queue” my TCP acks!) This means leaving my computer on when I’m not using it, which basically means leaving it on 24×7 in order to get the files to CrashPlan ASAP. My CrashPlan backup schedule is 9am-5am weekdays and 2am-8am weekends. Having my PC on 24×7 is a bit of power drain, and my quarterly power bill is fairly nasty. My NAS is always on 24×7, making it a good candidate to backup to the cloud from… hmmm again…
- My nightly Acronis backups of files on my D: drive to my NAS seems to play havoc with my CrashPlan cloud backups – touching the same files at the same time with file locks perhaps? Admittedly I could just change the scheduling of my Acronis backups and my CrashPlan backups so they don’t clash, but if I moved the RAW files *TO THE NAS* then I wouldn’t have to think about this issue as the problem would be avoided.
Well it was becoming abundantly clear that the NAS might just be a good spot to stick the RAW files, and work on them from there.
Pros for Moving the RAW Files to the NAS
Well I’ve touched on 3 benefits already (which I’ll repeat below). What else? Here’s a fairly comprehensive list:
- RAID speed / redundancy.
- Always-on NAS great for cloud backups.
- Eliminate backup conflicts.
- My NAS already has a UPS attached to it for smooth power delivery and safe shut down in event of expended power failure (I get about an hour uptime from my 1500VA UPS). Sure I could add a UPS to my PC but this is an added expense to have a UPS on both.
- The NAS uses the enterprise-hardened ZFS file system which regularly “scrubs” the data for errors, and employs copy-on-write for file safety, even if the power failed and the NAS didn’t shut down properly. It’s arguably superior to Windows NTFS for file integrity (although NTFS is much better than the old FAT32).
- Having less spinning disks near my workspace (and my head) means more peace and quiet when I’m at the PC. Sure I could add more SSDs to my workstation but… cost… and I already have that space on my NAS so it makes sense to use it.
There’s only two I can think of right now:
- The extra tech work of getting CrashPlan setup on my NAS. For a geek like me this is no trouble, and in fact I enjoy the challenge (a blog post to follow when I set it up 😉
- The speed of Network Attached Storage (NAS) vs Directly Attached Storage (DAS). This is the the main issue – the curse of the “slow” network.
Speeding up the Network
There are ways to to boost the network in order to make the NAS feel like DAS:
- Move to 10Gig Ethernet.
- Use a dedicated Storage Area Network (SAN), or point-to-point link between PC and NAS, and enable 9k jumbo frames.
- Use the latest vendor-supplied drivers.
- Tweak card buffers, motherboard, and filesystem settings for optimal performance.
To wit I have ordered 10Gig optical Ethernet cards for my NAS and PC (Intel X520), along with 10Gig SFP+ transceivers, a 10m fibre patch lead and some fibre cleaning equipment. The installation and optimisation of this setup will be the subject of a later blog post. My gear should arrive all within the next couple of weeks. Stay tuned!! One more thing though…
I did mention I was going to revisit this. I’ve been told that you can set CrashPlan to store all your changes, including deletions, so like a TimeMachine for your backed up data. This is like an Apple TimeMachine in the cloud for your data. I on the other hand like to keep things local, and only use CrashPlan as the “backup of last restort”. FreeNAS provides great tools for doing backups in the form of rsync and ZFS snapshots, and I’ll be exploring this in another blog post, where I’ll setup my own “TimeMachine” of sorts to a separate Lacie 12 TB USB3.0 HDD that I’ll have plugged in to the back of the NAS B-)