June 15, 2004

Mondo Rescue LiveCD backup: a nugget of gold

Author: Joe Barr

I received an email a few weeks ago following a column I wrote on backups. The reader said, "I'm looking for a way to back up (preferably image) my current Fedora install to CD-RW. Ideally, I guess what I'm looking for is 'bare-metal' disaster recovery -- i.e., boot up from CD, enter some command(s) and have my (mostly!) working Fedora install re-imaged back to my HD." I didn't, but I suspected I could find a LiveCD for this purpose. Sure enough, Mondo Rescue does everything the man asked for. The only drawback -- if there is one -- is that it's more geared for advanced users or system admins that it is for noobies.Mondo Rescue is available in binary RPM, source RPM, or Debian packages for a number of distributions. Included are Ark, Debian Fedora, Mandrake, Red Hat, SUSE, and Tawie Server. With a number of distribution-specific nuances to be negotiated, downloading the correct binary for your release is probably the best and easiest way to install.

Mondo Rescue is free software, by the way, licensed under the GPL. That has not stopped a number of large corporations from using it, however. Support for individuals and for business is available from the author for the very reasonable price of $30 for one-on-one support directly from the source for as long as you use Mondo Rescue.

Mondo Rescue is capable of a lot more than I need it for. Like the reader whose note started the search, I want to be able to recover from a catastrophic hard drive failure. I'd also like a simple way to upgrade my system to a new, larger hard drive without losing any data. Using the LiveCD backup functionality of Mondo Rescue is all I need. But others may want to use its NFS capability to back up over a LAN, or to tape, or to another hard drive.

Because it is so powerful, I recommend you RTFM. The manual spells out in a little more detail other things you can use Mondo Rescue to do, such as:

  • Clone an installation of Linux
  • Back up a non-RAID file system and restore it as RAID
  • Back up a system running on one format and restore as another
  • Restructure your partitions, e.g. shrink/enlarge, reassign devices, add hard drives, etc.
  • Back up mixed Linux/Windows systems, including the boot sectors
  • Verify the integrity of your computer


As long as the release of the distribution you're running is supported, installation is quick and painless. In addition to Mondo, you need Mindi, Newt, afio, and syslinux.

I'm running SUSE 9.1 on my desktop box and had no luck at all getting either the generic version or earlier versions for SUSE to run. Just as I was giving up on being able to test Mondo Rescue, I decided to ask Mike Roark, the SUSE package maintainer for Mondo and Mindi, if he knew of anyone successfully running it on 9.1. He pointed me to some beta packages he has been testing on his own Web site, including a replacement for the version of Newt distributed by SUSE, and I was home free.

Creating a backup

Once you have the software installed, you're ready to begin exploring Mondo's capabilities. Start by entering mondoarchive at the command line as root. After considering the lay of the land for a bit, Mondo opens a colored window for the backup dialog and begins by asking you to choose your backup medium: CD-R, CD-RW, DVD, tape drive, CD streamer, or NFS mount. Next, Mondo asks if your computer is a laptop or if the CD writer incorporates BurnProof Technology.

Click to enlarge

Next, Mondo asks how much compression to use: maximum, average, minimum, or none. Mondo Rescue spans CDs, so this is not as critical a choice as you might think. Mondo asks for the speed of your CD-R and the maximum amount of data each CD can store, then for the /dev entry the CD is known by. That was /dev/hdb for mine on SUSE 9.1.

Finally, Mondo ask for the backup path. The default is /, meaning everything will be backed up, but you can itemize specific paths that you want to exclude. Do you want to verify the backups after they are written? That's the next question, and I've always found it to be a wise thing to do when making backups.

Mondo-man speaks
I exchanged an email or two with Mondo's creator, Hugo Rabson. Because I saw some comments on Mondo's Web site that indicated Rabson had been vilified by a few for not making the source code more readily available, I asked if he were ever sorry for having used the GPL for Mondo Rescue in the first place. Rabson replied that he was not. "It was a necessary prerequisite to achieving a stable disaster recovery package."

When I mentioned the problems I had early on with SUSE 9.1 and the 2.6 kernel (and the change from ide-scsi to ATAPI that implies), he said:

Please use Mondo 1.7x and Mindi 0.9x; the 'stable' branch doesn't
support the 2.6 kernel. I'm about to rename 1.7x/0.9x and 2.0/1.0 so I need
all the feedback I can get. Also, as Mike will have told you, SUSE's newt
and slang libraries have been broken since 8.1 or so. Standard Red Hat or
Mandrake newt and slang libraries work as drop-in substitutes, but it's
better to recompile a standard newt library within the SUSE distro to match
its dependencies. That's what Mike has done, bless him.

As for dropping ide-scsi, I think it's a wonderful idea. There is of course
friction between Schilly and Linus and all the other developers, but friction
can be good. It's thanks to friction that I'm able to walk anywhere: the
friction of my feet against the ground gives me traction. I think it's the
same in OSS development. Technically the switch was long overdue. The only
obstacle is in people's minds. People don't like change.

In my opinion, he is dead right.

How about your kernel? Is it a "sane, sensible, standard" Linux kernel? Say no if you're running Gentoo prior to the 1.4 release or Debian prior to 3.0. Then -- finally -- Mondo asks if you want to proceed or abort. If you proceed, the backup job begins. Depending on how much data you're backing up and the speed of your CPU and CD-R, it could be an overnight task.

Restoring from backup

Once you have a good backup, you can test Mondo's restore capabilities. When you boot from the restore CD (the first CD in the backup set), you can enter nuke, interactive, or compare at the boot: prompt to tell Mondo Restore what you want to do. If you prefer a fancy window with buttons for those choices, simply press Enter at the prompt without typing a choice.

I tried two of the alternatives: compare and interactive. Compare was pretty straightforward and after a bit (it was a single home directory backup) I was told the backup was perfect. Interactive was more complicated, with an abundance of opportunities to mess things up. Know what you're doing, or you might end up with a lot less that you started with.

To interactively restore, Mondo Rescue took me through the following dialog:

  • Select "Read from" device
  • Edit mountlist?
  • Erase and partition hard drives?
  • Format hard drives?
  • Restore all data?
  • Restore some data?
  • Retrieve mount list?
  • Restore to where?
  • Rewrite boot loader?
  • Relabel partitions?

That dialog is fraught with peril for the unwary. After going through the restoration of "some data," I began to appreciate the cautionary quote attributed to Jesse Keating which appears as a footnote on the Mondo Rescue home page: "Mondo is aimed at skilled users, not the 3l33T3 war3z crowd. (1f U sp3ll l1k3 th1s, gu3ss wh1ch U R)."

In closing, I'll pass on two tips from Mike Roark:

Some hints. Run it from the command line. I don't mean just mondoarchive and fill in the blanks. Take a look at the man page and figure out exactly what you want to do. It doesn't look as pretty, but it sure works nicely.

For speed you can run it with lzop. bzip2 is nice, but lzo is much faster.

Mondo Rescue is a proven industrial-strength backup and restore utility. Home users like me can make use of it, and so can corporate admins working across the LAN. Kudos to creator Hugo Rabson and the entire project team for Mondo Rescue. This is another large nugget of gold for the free software world.

Click Here!