Companies looking for a highly-available, scalable, cheap data storage and backup solution don’t have to look farther than their old servers and scripting skills.

Over the past year, we overhauled our Corporate and Development IT infrastructure. As part of that journey, a new data backup solution was needed; one that wouldn’t “break the bank.” We sought out solutions from the usual suspects, including Backup Exec and Veritas. We explored free options from Zmanda, Bacula, and Veeam. All had their strengths and weaknesses, but, ultimately, we decided on one that was a little unconventional.

Because our environment is based on VMware, we decided to focus our efforts on Veeam’s Backup and Replication free edition. This allowed us to back up our VMs effectively with Veeam’s industry proven technologies. However, to overcome some of the limitations of the free edition, we used some PowerShell scripting to produce the scheduling capabilities and reporting functions that we wanted. Now that we had a backup solution, we needed storage to retain our backups.

Our primary enterprise storage back-end is built on a NetApp appliance. NetApp has excellent features and scalability, but they come at a premium. Instead of adding to the NetApp controllers and disk shelves to enhance our enterprise solution, we looked to our old hardware to build a scale-up/scale-out storage infrastructure. After exploring simple CIFS/NFS on Ubuntu and GlusterFS on RedHat, we came upon FreeNAS. It became immediately apparent that this speedy and customizable fork of FreeBSD would allow us to get a level of storage and workload out of legacy recovered hardware that we did not expect. All with no real expense!!

We reclaimed three older servers, filled their drive bays with old 1TB and 2TB drives, and created a storage pool that provided approximately 20TB of storage. FreeNAS utilizes OpenZFS as its base filesystem. This provides the power of ZFS software RAID for ensuring disk fault tolerance on each server even if the server doesn’t have a hardware RAID HBA. Because of the aging disks, we chose a RAID-Z2, which allows for 2 disk failures before action is necessary. This gave us a little less space but more stability and security. FreeNAS also supports features like snapshots, deduplication, and ZFS replication for backing up data between servers, which we leveraged for offsite backups. Backups to your backups are a good thing!

Data Backup Architecture

Data Backup Architecture

Although FreeNAS provides some excellent features through its GUI, we still wanted additional controls for our snapshots, replication, and disk maintenance scheme. We dusted off and polished up our bash scripting skills and created scheduled tasks and menu driven scripts that allowed us to run and keep watch over our processes. Granted, an “enterprise scale” solution would have had a lot more bells and whistles, with integrated GUIs, reports, and dashboards, but our solution gives us the stability and scalability we need without the cost of those other products while allowing us to continue to leverage what we’ve spent money on for both hardware and people skills.

So while new toys can be exciting and innovation is awesome; practical IT can be creative and rewarding too! Let us know if you have any successes like this and share your ideas down below.