First Production ZFS server today

I have plenty of small business clients and sooner or later they all face one big challenge. They all outgrow the initial 80GB tape drives that we put on their servers. The problem is that most of these are small businesses and most of them could just afford the initial network, and asking them to pony up $2000+ for a new tape drive or worse yet autoloader is out of the question.

Until recently we would try to switch them from full daily backups to full on Mondays and incremental the rest of the week. The problem with this is that this really only works up until about 120GB. After that you are looking at more than 2 tapes. If someone has to switch tapes on a Monday while users are changing files, it is very hard to get a consistent backup. This problem got me thinking, what is a relatively cheap way to get consistent backups of the server, retain more copies of the backups with less pace consumed, and be able to backup to more then two tapes without having backups run on data users are interacting with, which could stress the system, hurt performance, and cause inconsistent backups.

My solution was to purchase a low-end server like an HP ML-110. Put 2 500GB sata drives in the system, and 2 40GB drives with hardware raid 1 for the system OS files. I then installed Solaris 10 and made a ZFS pool with the two 500GB drives mirrored. I shared the ZFS pool with NFS and Samba (NFS for Unix and samba for windows 2003 servers). I have the servers do a full backup to the ZFS pool on Monday, which is about 200GB. The incremental backups the rest of the week is about 50GB total. I set the backups to overwrite the data each week, so as not to use up too much disk space. This brings full weeks backups to about 220GB with compression on the ZFS pool. I then take a snapshot of the entire pool on Saturday and keep that snapshot for 4 weeks. This means that even though I am overwriting the backup files each week. The snapshots only take up as much space as the differences, so for about 380GB of disk space I have 1TB worth of backups on this Solaris box. And it gets even better. I set the tape drive to backup from the Solaris box every day after the other servers dump their backups to it the previous night. Since the data is not live data the backups are consistent and also the backups can be done during the day so someone can insert tape after tape while people are in the building.

This is how ZFS has made life easier for me at one client site. This solution is scalable and priced at one-third the cost of a 400GB auto-loading tape drive. If this solution works out over the next couple of months I fully intend to make this my primary solution for those clients that can’t afford bigger tape drives.