dd sucks when you have to create images of large drives, even when gzipped. No-one wants to store 40GB dump files. The only thing you can do to make such images smaller is to create a huge file on the disk, filled with zeroes, and then deleting it, so all the empty space can be compressed reasonably.
What you need is a freeware tool with filesystem knowledge, which only dumps clusters which are in use.
Enter PartImage, a kind of Norton/Symantec Ghost clone for Linux which looks really nice to me. The project's web site can be found at http://www.partimage.org . Check out the screenshots!!!
Partimage can read quite a few filesystems (ext2/ext3, reiser, xfs, jfs, hpfs, fat16/32 and even ntfs). It doesn't look at the file entries itself, it just checks which clusters are occupied, and dumps only these clusters into a relatively small gzipped file. gzip compression beats Ghosts's compression method. So the images are even smaller. And it's free
Each partition has to be backed up or restored separately. The partimage tool itself can be used interactively or in batch mode, so at my work I've written a small shell script to automate the dumping and restoring of an entire disk.
Partimage can be found on the Knoppix CD-ROM, which is very convenient as at least Knoppix 3.7 detects many SCSI adapters correctly (even the dreaded IBM ServeRaid adapters), as well as most network cards. (Which can be terribly hard to do right with a DOS-based Ghost boot floppy) In my opinion this approach is much more robust than plain old Ghost.
So what you do is the following:
- boot Knoppix
- mount an NFS or SMB/Windows share with a lot of free space, (and your partimage script if you write one)
- start backing up or restoring either interactively or in batch mode
After restoring a Linux host, you have to mount your / and /boot, chroot into it and run grub manually. For Win NT/2K/XP hosts, you run the XP recovery CD and fixboot + fixmbr. For DOS/Win9x, boot a dos floppy and run fdisk/mbr.
Small caveat: it appears that the NTFS support isn't complete, and you should defragment the filesystems first if you want to be 100% safe. To be 1000% safe you just boot from a bootable Windows CD (BartPE, reatogoXPE for example) and then defrag. But it's not really necessary, as you'll be warned when creating the dump file that an error occured. If there's no error, you'll be able to restore the NTFS partitions without problems.
I've used it extensively in the last few months and wouldn't dream of going back to Ghost.
The only downside is that source and destination disks have to be of the same size (Ghost can resize NTFS when necessary).