Do Automated Cross-Platform Network Backups The Easy Way
Networked backup software can introduce a bewildering variety of licensing issues and costs. Some free and open source choices come to the rescue.
Computer stores are chock-full of all manner of backup software and network storage appliances of varying quality, usefulness, and ease of use. Do you really need some expensive commercial product? Probably not. Backing up Linux/UNIX systems is easy, and *nix comes with everything you need. Backing up Windows systems can get expensive, what with all those per-user and concurrent and per-machine blah blah licensing, and cross-platform backups can drive even strong admins to develop substance abuse habits. But don't run out and start one just yet, even though you'll be able to afford it, because this two-part series is going to show you how to perform the two primary types of backups the easy and cheap way: data files on a mixed LAN, and custom operating system images for fast bare-metal restores.
BackupPC is a great backup program that requires no client software, backs up Unix, Linux, Mac OS X, and Windows hosts, and is easy to set up and maintain. Take the money budgeted for backup software and put it into some good-quality backup server hardware instead. Then set up automated network backups on a central server, and put your feet up and relax. Except when people are looking — don't make it look too easy.
You can make bare-metal *nix restores with Knoppix, or any live-bootable Linux disk, and BackupPC. Windows bare-metal restores require some additional software, which we'll get to shortly.
BackupPC is yet another excellent program from the FOSS world that is efficient, sophisticated, and saves the bacons of Windows and *nix admins alike. Written in Perl, it makes clever use of existing programs like rsync, Samba, and tar, which is not novel, as most Linux-y backup programs do this. What sets it apart are these features:
- Excellent Web-based graphical administration interface
- Supports either command-line or graphical administration
- Performs bare-metal *nix restores
- Allows users to restore their own files
- Ease of use
- Stores identical files in common pools to save space
- No client-side software required
- Supports intermittently-connected clients, like laptops
- Supports DHCP
- Good documentation
BackupPC has some limitations on Windows backups. It performs data backups reliably, but it's not suitable for making Windows system restoration images.
BackupPC makes Windows file backups from Samba shares, so it suffers the same limitations as Samba- Windows file ACLs are different from Unix file attributes, and they are more complex and more difficult to understand. So you get the Samba translation instead of the original ACLs. It is not uncommon for them to be set incorrectly, which is not Samba's fault. Under ordinary circumstances this is not a problem. At worst you'll have the nuisance of manually correcting them after restoring from backup.
BackupPC will not backup files that are locked when they are open, such as the Windows Registry, Outlook's .pst, and database files. Most databases have their own backup utilities which you should use in any case, because backing up a database is a specialized operation. Outlook users should be running the Personal Folder backup utility, then BackupPC can copy the backup file. Because Outlook stores everything in a single monolithic .pst file, in a fragile, proprietary, binary file format, you want to take extra care to make sure it is being backed up regularly. Or switch to a mail client that is not such a headache.
What Really Needs to be Backed Up?
Backups can be divided into four categories: operating system, user data, databases, and network devices like routers, switches, and access points. For backing up non-Linux network devices, take a look at RANCID, which monitors and backs up a variety of different brands of routers and switches.
Do you need complete backups of every last bit on your network? To conserve storage space, consider trimming operating system backups, and just backup user data and system configuration files. Then create custom operating system images for fast restores. When would you need to perform a complete operating system restoration? Only after a hardware failure, a hardware upgrade, or after a malware infestation severe enough to render the entire system suspect. If you're cleaning up after a successful intrusion, you should consider your system backups unreliable as well, and do a clean reinstallation from known good sources.
I've never been a fan of restoring Windows from backup. An average Windows system accumulates a staggering amount of junk, no matter how careful you are, and performance degrades over time. So you might look at a bare-metal restore as an opportunity for a fresh start from clean media, rather than recycling the gormy old bits.
You're thinking about re-applying all those updates and service packs, and re-installing applications, and re-entering all those blimey registration codes and clicking all them silly EULAs which are bogus make-work designed to punish you for being their customer, and fighting back tears. (Actually EULAs are beyond silly- take the time to read them. You'll be amazed at what you are "agreeing" to.) Especially since Microsoft started making users jump through more hoops and requiring personal visits from the mother ship just to get updates and service packs. It's as though they don't want you to restore your system, but to dash out and buy a new one.
Weep not, for thanks to cloning software you can avoid that particular slough of despond. If you want to spend anywhere from $69 to thousands of dollars, depending on whether you are cloning workstations or servers, and how many, commercial Windows cloning programs like Acronis True Image or Symantec LiveState Recovery (which used to be Norton Ghost) work splendidly well, but dang they are expensive. You might as well just buy a new system. An excellent free alternative is g4u, or "ghost for UNIX." g4u will clone any partition containing any filesystem. It doesn't make silly artificial distinctions between servers and workstations. It is easy to use, but slow, because it relies on the dd command. But at least it's not hours of toil, it's just putting it to work and then finding something else to do until it's finished.
Next week we'll set up our excellent BackupPC server, and learn a couple of tips for getting the most out of g4u.