Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I'll start by saying what we have in place currently:

  • On site file server (Mac OS X Server) that is used by GFX designers and they have a working 1TB of data.
  • Offsite server with 2TB available storage (Centos 6)
  • Mac OS X server rsync data to offsite server every 6 hours (rsync -avz --delete --progress -e ssh ...)
  • Mac OS X server does full data backup to LTO 4 tape on a 10 day recycle (Mon-Fri for 2 weeks)
  • rsync pushes about 60GB of file changes a day.

The problem:

  • The onsite tape backup is failing as 1TB of graphics files don't compress well to fit onto a 800GB LTO4 tape.
  • Backup is incredibly slow doing a full backup.
  • Pain in the backside getting people to remember to change the tape. Often gets forgotten
  • etc

The quick solution:

  • Buy LTO5 Drive and tapes. However this has been turned down because of the cost...

What I would like:

  • Something that works in the same way rysnc works. Only changed data is sent over the wire and can be scheduled to run multiple times during the day. Data that is sent is compressed and sent over SSH.
  • Something that keeps a 14day retention but doesn't keep duplicate data
  • So as an example if I have 1TB of working data and 60GB of changes are made each day then I expect around 1.84TB of data to be stored on the offsite server.
  • To work with the Mac OS X server and Centos 6 server.
  • Not cost an arm and a leg. Must be a cheaper solution than buying an LTO5 drive with tapes (around £1500).
  • Be able to be setup to run autonomously.
  • Have some sort of control panel that will allow an admin to easily restore a file/folder.

Any recommendations?

share|improve this question
    
Maybe you can configure sparkleshare.org to do exactly what you want. But I don't know it well enough. –  Raffael Luthiger Jan 5 '12 at 13:00
    
I've had to deal with convincing management on purchasing a new backup system. The key is to not focus on the cost of the new system. Instead, focus on the efficiency and reliability. These are the critical aspects when determining a data restoration system. The more complicated the process, the more prone to have bad backups to restore from. –  Justin Jan 5 '12 at 21:34

5 Answers 5

Try rsnapshot (rsnapshot.org). It does exactly what you're after: it's in the RPMForge yum repos (so is packaged for CentOS), operates over rsync via SSH, and keeps a configurable number of incremental backups.

edit: You could implement a recovery front end by exporting the rsnapshot datastore over NFS or Samba (or a webserver/anything else) and let users pick up old copies of their files themselves.

share|improve this answer
    
I like this. Only thing its missing is the GUI for easy restoration. If anything else doesn't come up then I'll definitely test this out. –  Brady Jan 5 '12 at 13:17

I use rsnapshot to handle approximately the same data volumes you're talking about and it works quite nicely. As has already been pointed out it doesn't have a fancy front-end but it does a great job at snapshot retention and minimizing file storage space.

For GUI-based tools, consider looking into CrashPlan at http://www.crashplan.com. There are several cost levels (Home, Pro, etc.), one of which may suit your needs. I believe it's Java-based but IIRC it came with its own JRE. I use it for home backups, and I briefly tested the Pro (server-based) version but other things distracted me from giving it a full evaluation. But it looked promising.

One thing to watch out for regardless of which solution you use is handling (or ignoring) of resource fork data. Your OSX server deals with resource forks transparently, but you may lose the resource forks if you are using applications and/or filesystems that are not aware of them and thus would discard them. Maybe it doesn't matter in your environment, but it's worth pointing out that the data can get dropped pretty easily and without warning.

share|improve this answer
    
Nice catch on the resource fork thing! I never realised this and just checked my backups to find any files using resource fork data are 0kb files. Luckily they are only font files so not end of the world. Looking at crash plan now. –  Brady Jan 5 '12 at 18:06
    
whoopis.com/howtos/rsync-hfs-howto nice article getting rsync to work with resource forks. Maybe there is a rsnapshot version too –  Brady Jan 5 '12 at 18:15
    
@Brady: Before you decide that missing or zero-size resource forks are a non-issue for fonts, you might want to do a test restore and see if the font is still usable. Fonts are notorious for storing data that's more critical than you might expect in the resource forks. I've had many fonts become un-usable after being handled by utilities that were not resource-fork-aware (e.g. scp, rsync, etc.) Good luck! –  jon Jan 6 '12 at 14:56

Would just buying a bunch of cheapo =>1TB USB hard disks and treating them like tapes, but with the ability to rsync to/from them, do what you need?

share|improve this answer
    
With regards to this, you could also look into Virtual Tape Library technology. –  Dan Jan 5 '12 at 13:00
    
Not ideal really. Although I say 1TB that does often reach 1.2TB until some archiving is done. The cost of HDDs are very expensive ATM and buying 10 1.5TB external HDDs isn't cheap. Plus backing up to HDD's over USB2 is going to be slower than out tape setup. This solution doesn't tick many boxes. I know there are better solutions out there. –  Brady Jan 5 '12 at 13:05
    
Well, you're going to need the space somewhere no matter what and it doesn't get much cheaper than consumer hard drives per GB –  Dan Jan 5 '12 at 13:07
    
@Dan maybe so but to me its a solution that comes at an additional cost. A cost that's not needed when we have 2TB of offsite backup already paid for. –  Brady Jan 5 '12 at 13:13
1  
Ya canna' change the laws of physics...you either buy more hardware to accommodate the storage and speed requirements, or make due with kludges. If the data were important, you spend the extra money and amortize the cost over the expected lifespan of the equipment. –  Bart Silverstrim Jan 5 '12 at 13:27

Another option is Bacula. It's free, works on both CentOS (found in yum) and OS X (build from source) and it's a full client-server backup suite. It, however, does not use SSH to transfer but I do believe that encryption methods are available. You can control how long items are kept, when backups run, what is backed up, etc. There is a GUI for it if you install Webmin on the CentOS server and add the Bacula plugins. The GUI allows you to restore how many files you need to and it gives you a directory tree view to select your files.

It's kind of a pain to set up, though. I was really hoping that I could "learn as I go" when I set it up, but that wasn't the case. I actually had to RTFM (I know, right?)

share|improve this answer

Assuming you would like to keep a full backup of the data on each backup device you may want to consider LBackup, which features an extendable pre / post scripting sub system which allows you to handle bakcups to disk images and even removable media such as an external hard drives / memory sticks.

This page from the LBackup developer section provides a means to detect an attached disk and then mount that disk. By modifying the fstab you may prevent devices from mounting automatically.

Essentially, this setup will allow you to have a number of removable drives which may be rotated and which will automatically be unmounted from the system once the backup finishes. You could even add a post action script to notify you (via email, txt, call, beep, speak etc.) that the backup has completed successfully and that the disk is ready to be taken off site.

Finally, if you are using 3.5" hard disks you could reduce the cost of removable drive enclosures by using something like the RTX110-3Q and protective drive cases from WiebeTech. With that kind of system in place you could just rotate the bare drives which could save you some cash on enclosures (you mentioned you wanted to keep the price down).

Just some thoughts which may be helpful. I initially, wrote the script (listed above) for detecting drives connected via USB. This was because I arranged a backup a friends system which had no internet connection. The backup was performed to a set of rotated USB flash drives. The data was then encrypted using software encryption to the USB sticks should they be lost in transit.

Using the scripting sub system you could add additional checks such as file system integrity checks prior to backup, media integrity checks and even checksums for the snap shots.

Finally, with regards encryption, WiebeTech offers drive enclosures which support hardware encryption.

Disclaimer : I am involved with the development of the free as in free LBackup project.

share|improve this answer
    
If you haven't already, you might want to check out the FAQ, particularly the part about being here for the wrong reasons. –  Bryan Sep 6 '12 at 23:17

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.