A few months ago I read the article Backup and Archive Solutions for Musicians and it got me thinking of how I could potentially use local network storage to hold my projects and libraries in one location instead of spreading it out among my Mac, PC, and Mac Laptop. This turned into a rather large but fun distraction for a few weekends and then a pretty big distraction when I started building it.
My desire is to have a networked storage setup that will help grease the wheels of inspiration so that no matter what machine I am on in my home, or even where I am at in my house; I can quickly start working on a project without the hassle of remembering which machine it was on or if the machine I am currently on has all the right data and plugins to run what I need to run.
This article is by no means comprehensive, objective, or educated enough to tell anyone what they should and shouldn’t do when it comes to setting up backup, archive, or network storage solutions. Since I have a fulltime job with an office in downtown Raleigh, NC; this setup is for me to use only when I am working from home on weekends, snow days, or on small side projects. Since I am not currently freelance working from my home office: I dont have to worry about this setup being 100% fool-proof in all situations but ideally it will be as close as possible. This article is to help others learn from my own experiences and folleys, if and when they themselves want to wrangle the beast that is spending too much money on NewEgg.
Looking into the world of NAS (Network Attached Storage) I figured this would be the best way to have a single location for all of my data and easiest to set up. Looking deeper I also decided I wanted to build a machine myself rather than buy a Drobo or ready-made NAS solution. I decided this for two reasons: 1) Building it myself would be cheaper, which turned out to be rather debatable and 2) Building it would be more fun as well as more versatile.
Building a PC rather than using a ready-made NAS gives me a lot more flexibility. Depending on the PC case I chose I would immediately have more hard drive slots than a reasonably priced Drobo. I could expand the number of hard drive slots with SATA cards as well as use external enclosures. The PC could also in the future be repurposed for a multimedia PC, simple home server, or a low perf gaming machine. A ready made NAS wouldnt have these options while still being close to the same price. However, a prebuilt NAS like a Drobo would come with custom software, customer support, NAS specific features, and probably idiot proof solutions. All of which cannot be discounted and I would heavily consider next time I go down this road.
So as I did with the only other PC I built: I went on NewEgg and had a bit of a spree:
I made sure to get a PC case that had 6 SATA slots so I’d be good to go with a lot of storage off the bat. Though I would suggest finding a case that lets you easily slide the drives in/out for hot swapping (instead of having to unscrew/unplug them like I have to). I didnt bother with a video card since the motherboard’s onboard graphics would be more than enough for a PC I would hardly ever have a monitor plugged into. I got 8GB of RAM because RAM is cheap and some NAS operating systems like FreeNAS recommend 16 but can deal with 8 GB. Everything I bought I tried to save a bit of money on by getting well reviewed but not cutting edge/ high performance parts. The hard drives I wanted at least 4 TB each to have as much space as possible and made sure to get quality. I also chose NAS-ready hard drives as that made sense. A lot of the eventual $1k+ price tag came from the 6 hard drives.
The specific hardware choices are a bit inconsequential if you already have an old PC lying around. Mileage may vary but; having an old PC you can spruce up and throw some new drives in will save a bunch of money and hopefully a little bit of time. Since I am a Mac user mostly, I didn’t have an old Gateway to poke at but if I did I might have still made a new PC just for funsies.
I goofed and didn’t make sure to get a motherboard with hardware RAID capabilities. I wasn’t too concerned at the time, since when I bought all this I was going to use FreeNAS and it’s software setup would have handled any RAID situation for me. My eventual solution does too and possibly in a more user friendly way. But if you’re getting a motherboard for storage, it is probably wise to make sure it can do hardware RAID.
Doing a NAS yourself typically means you will be using something like FreeNAS, which is an operating system made specifically for machines dedicated to being a NAS. There are quite a few options, open source and paid. I’d recommend researching them thoroughly before choosing. I chose FreeNAS as it seemed like the most popular and versatile of the open-source NAS operating systems.
Installing FreeNAS was a bit more than I could handle, however. Turns out that although I like building a PC myself; dealing with Terminals and consoles and bash scripts and very technical hoops *just to install the operating system* meant I quickly lost my resolve and decided that using an open source or low cost solution wasn’t going to work for me. I am an OS X user after all; I expect the computer to “just work”. (Even at the expense of constant forced updates and reminders for that free upgrade to El Capitan.) The thought of being neck deep in a deadline, things hitting the fan, and then having to hack out some command line Linux junk just to get at my project files did not sound like a enjoyable use of my life.
When I mentioned my worries to my co-worker and commander of all things IT at Boss Key Productions John Long; he recommended I look into a simple SMB share for the PC. Which turned out to be super effective and way easier than anything FreeNAS was trying to make me do.
SMB Share is simply letting a computer connect to another one and view/edit files on that computer. Interestingly SMB Share doesn’t care about format type, so my Mac can easily read and write files to my PC’s drives and my PC can still read those files itself. Weird!
The SMB share was as easy as installing Windows on the machine, hooking it to the network, then telling my OS X machine to connect to it using the PC’s login credentials and I was good to go. An extra step was involved in telling the OS X machine to always connect on start up and I was good to go. Joh recommended Windows 7 but I went with Windows 10 because it was prettier and a bit more user-friendly.
So far in my tests: SMB is working fairly well with occasional hitches. Sometimes the connection seems to get slow or stop and I have to reconnect. Saving and transferring files seems as fast as working between local drives so I have no complaints there. Reaper’s Media Explorer previews SFX files on the networked drives with no delay or hitches. Though Basehead 3 takes a long time to load up search results and Audiofinder works fairly well though I have had probably unrelated database building issues. Dragging files from a database/media explorer into a project doesn’t take any longer than copying from one drive to another. Some wav files that originated in my OSX drive were over the 4GB limit of the Windows FAT drive formatting limit so that is indeed an issue.
Since my motherboard didnt have RAID controllers: I used a neat feature in Windows called “Storage Spaces“. This allows me to do the same sort of mirroring or parity data setup so that my files are a bit more safe from drive failure.
You can do Simple, Mirrored or Parity in Storage Spaces. Mirrored or Parity are the reasons to use Storage spaces IMO though Simple has its uses. Explanation from Microsofts documentation:
–Parity. Writes data in a stripe across physical disks while also writing one or two copies of parity information. Use the parity layout for archival and streaming media workloads, or other workloads where you want to maximize capacity and you’re OK with lower write performance.
-Mirror. Writes data in a stripe across multiple disks while also writing one or two extra copies of the data. Use the mirror layout for most workloads – it helps protect your data from disk failures and provides great performance, especially when you add some SSDs to your storage pool and use storage tiers.
I used the Parity which allows for me to bundle multiple drives for increased storage but with some redundancy so that even if one of the above drives fails; all the data will be safe and I can just swap in a new drive. Storage spaces is also pretty rad in that I can increase the size of the data pool by adding more drives. As far as I understand; there are some space and performance hits for using Storage Spaces over a true RAID setup, but for me this is enough.
Right now I am just using 4 drives for the Parity “Media Drive” and 1 drive for the operating system. I need some molex adapters for the power supply to add any more internal drives and a SATA card for any more drives beyond 6. Once I feel safe in using this PC for actual work (which I am 95% of the way there) the current external drives my Mac Pro uses for work will be repurposed into this PC as extra drives or probably as backup drives.
I still haven’t decided on an incremental backup solution a la Time Machine for the PC. Many people have suggested Crashplan as the closest I’ll get.
One advantage to this setup versus using a Drobo or even using FreeNAS is I can use my Backblaze cloud backup subscription with it. Backblaze doesn’t support NAS setups but they will support a Windows PC chocked full of dozens of drives. I have been using my Backblaze for my Mac Pro which had its 4 internal plus 3 external drives which has given me piece of mind. Once I know the Storage PC I have set up is going to work, I will move my Backblaze there and feel a bit safer knowing that while I have my data in a single location; that it is also backed up to the cloud. Then hopefully if Crashplan does well with local backups I can switch from Backblaze cloud backups to Crashplan when my Backblaze sub runs out in 2017.
Doing it all again I might look long and hard at an actual NAS like a Drobo as I know many people in our industry seem to like them. I might have also looked into just getting a used Mac Mini to handle SMB Share with some external drive enclosures. (However I think building my own solution is probably saves more space and power consumption than a Mac and extra enclosures would require).
Here are a bunch of links I found and saved in Evernote when researching building a NAS that might be useful to others:
And a bunch of links about SMB Share and how to set it up:
Feel free in the comments, Facebook, or Twitter to let us know your home networked storage solutions. But please keep the tech shaming to a minimum!