Comment Solaris + ZFS + rsync + a bunch of hard drives (Score 0) 272
Before reading please note:
1. I've been up for over 24 hours, my brain may not be operating at its best.
2. I personally have not attempted anything like this, but I think I know enough that it should be do-able.
If I make any glaring mistakes please feel free to point them out and make fun of it whole heartedly.
I'm going to assume the following:
1. Recovery time isn't a huge concern.
2. You or someone that works for you is willing and capable to build it.
3. You want, or would like, point-in-time recovery abilities.
4. You don't have a lot of money to spend.
Buy a case that can fit as many hard drives as possible. For example, this case can take up to twelve 3.5" drives (I do not work for Newegg):
http://www.newegg.com/Product/Product.aspx?Item=N82E16811103029
Get a lot of large hard drives, preferable SATA. If you get a case that can take ten to twelve drives, get 1.5TB (~14TB usable space) or 2TB drives (~18TB usable space).
If you have to use a smaller case you'll need to build more than one system.
Get everything else to fill up your case: (motherboard, CPU(s), SATA cards, lots of RAM, gig-e network card, and a power supply).
Install Solaris and give all of the disks to ZFS.
Use rsync to copy the data to your newly built box to create your initial back up, then create a snapshot using ZFS.
For each subsequent back up use the --delete option when running rsync then create a snapshot using ZFS. (ta-da, you have point-in-time recovery capability!)
Depending on how thrifty you can be, and not considering the labour to build and test it, this setup could cost you as little as $4k USD at current prices.
If Solaris x86 supports it, I recommend getting a motherboard or SATA cards that support hot swapping and a case with front loading bays. Being able to replace failed drives (which will happen) is a nice thing.
Beyond this, when your storage requirements go beyond this first build you can just build another box or throw in some eSATA cards and connect some external drives to expand your ZFS pool(s).