[KLUG Members] "Mondo Rescue": The ultimate CD/tape backup/restore program

Bryan-TheBS-Smith members@kalamazoolinux.org
Thu, 06 Dec 2001 03:29:18 -0500


Although I haven't fully evaluated this program yet, I've pretty much
had my _socks_blown_off_ by it!

I don't know where to begin here.  Although it does not do things they
way I want (e.g., the CD isn't directly browsable), it does some many
things "oh-so-nicely."  For _most_of_you_, this will be the
_only_program_ you'll need to use!  I don't know where to begin, so I
guess I'll just start listing some details.

THE TWO PARTS TO MONDO ...

- Mindi Linux

Creates a mini-Linux distro created from your system's kernel, modules,
libs and other binaries that fits the "boot" disk a 1.44, 1.72, or
2.88MB floppy (depending on size).  It also adds a couple, additional
"data" disks of 1.44MB each that contain busybox (a statically-linked
"mega-binary" set of basic UNIX programs) and other software.  It can
also make a bootable CD isos from these disk images, and is used by the
Mondo Rescue program.

- Mondo Rescue

A backup and restore program to/from multiple CDs (mondo-archive) or
tapes (mondo-tarme) with various features (see below), including some
ncurses (using slang/newt from what I can tell) intefaces for status
updates, prompts and even interactive partitioning and restores.  Using
Mindi Linux, a bootable floppy set or CD is made for restoring using
your existing kernel (or an included "generic" one).

WHAT MAKES THE MONDO RESCUE / MINDI LINUX COMBO UNIQUE?

Although there are some "rough edges," it is a very professional system
that not only works, but has a fairly sound implementation as well.

- Afio/bzip2 used for storage on both CD and tape

Afio is a cpio program that does per-file compression (normally with
GZip).  Mondo creates Afio archives of multiple 25MB archives.  [ Side
note:  I cannot tell if it is using BZip2 to do per file compression
inside the archive, or if the archives are just compressed whole -- I
assume the former, being that afio _does_ take options to use an
external program for compression.  The archives are listed as
"blah.afio.bz2" on the CD, but that could just be his naming scheme. ]

- Extensive automation, both during backup and restore

Everything is done for you.  It builds your boot disks and images
(including handling all the module dependencies -- it even grabbed
everything for my wicked hardware setup!  3Ware ATA RAID, Advansys SCSI,
etc...!), masters them to CD, captures your various config files, like
/etc/fstab for partitioning, etc...  During the lengthy CD creation
process, an ncurses interfaces pops-up and gives you a status on CD
creation.  When you restore, you are given ncurses prompts, like to
re-create your partition table, or change it, etc...

[ Side note:  Be careful!  In my testing, I accidently hit enter too
quickly, and it started re-creating my partition table, and formatting
my partitions starting with /dev/sda1, my XP volume.  Luckly, it *DID*
prompt me at every step, so I "caught it" before it started formatting,
although it did require me to re-create my partition table because I did
hit enter one too many times (and it wiped it, and created partition
1).  But that's why the "expert" mode exists -- see below.  ;-PPP ]

- Various ways to backup to CD, options in rescue-archive

You can just master (i.e. create) the ISOs, master and burn the ISOs
(default), or burn while mastering (faster, but possibly incur a buffer
underrun).

You can opt for differerent levels of verification (0-3) -- e.g.,
MD5SUMs on the afio archives, or even individual files inside them.

Different CD sizes (650MB default) whether to rewrite to CD-RW (packet
write UDF, no buffer underrun issues ;-) or burn to CD-R (master+burn
ISO9660).

Use streaming LZO (similar algorithm to GZip/PKZip, but faster with
afio) instead of BZip2 for performance (at some recovery expense).

- Extensive capabilities, full fs support including Windows too!

It grabs your /etc/fstab and understands different partition types --
including all the JFS' (assuming your kernel supports them),
VFAT/HPFS/NTFS (your kernel will need R/W enabled on HPFS and NTFS to
restore them though ;-), etc...  So if you dual-boot, you can backup
your Windows system in Linux with Mondo!

The backup program even knows to capture the "bootstrap" (i.e. the first
few sectors of a booting partition) so you don't have use a Windows
recovery disk to get them booting again!  This is in addition to your
MBR (master boot record) at the beginning of the disk.

- Mindi Linux system is quite complete

First off, it boots your kernel, then loads the data images that have
busybox and just about everything else you need.  On floppies, this will
require 3-4 disks -- on CD, it handles adding them to the image
automatically (very sweet!).  On boot, it even launches 8 virtual
terminals for you!  And if you don't like your kernel, you can use its
included one (just use the option "--my-kernel SUCKS" when running mondo
;-).

You also get 4 different boot modes during restore:
   expert (just give me a damn shell ;-)
   compare (compare CD data to hard drive)
   interactive (pull up the ncurses part/format/restore program)
   nuke (auto-repartition/format my drive, restore everything)

The entire Mindi part is actually a big bash script.  The Mondo
"front-end" is also a bash script, but all the programs (mondo-archive,
-tarme, -verify, restore programs, etc...) are binaries.

[ Side note:  Although the raw "Mindi" program on its own (like the docs
told me to try) failed to create a completely bootable diskset/CD with
my complex setup, when I did a sample Mondo backup -- it created a Mindi
set that figured out all the kernel modules I needed -- including the
ones I normally have to load in an initrd (for my booting 3Ware card). 
It says it will get SCSI adapter/drivers for SCSI CD-ROMs as well. ]

A FEW "MINOR" ISSUES, RESERVATIONS

When I did my "test archive" to CD, the ncurses status page "hung" my
terminal.  It was done mastering, and I was able to master the CD
without issue (I just closed the terminal window in X).  I used the
"--isodir" option which tells it to just output ISOs, instead of burning
them.  I guess the ncurses status program got confused (?) because it
was expecting the burn process to start (???).  Mindi actually produced
a few error messages during the boot image creation part, but all was
well with even my funky hardware setup when I booted the CD (it got
everything -- I'm totally impressed!).

The other thing is that the CDs aren't directly accessable.  I sure wish
I could access the files on the CD directly, but I'm probably hoping for
too much.  The afio archive format is just legacy cpio, and that puts my
fears at rest.  Using a blocking compression implementation like BZip2
also makes me feel better -- especially if it is per-file compression,
which afio does do by default (unless he's calling BZip2 outside of Afio
-- which I cannot seem to find in the source, so I don't think so).

But I'm thoroughly impressed with the system overall.  He's thought of
things and capabilities I never even considered, and they are well
implemented.  Mondo is definately something I'm going to start picking
apart in my spare time -- possibly to see if I can modify it to store
the data in a directly accessable mode on the CD (there might be an
unforseen issue I haven't considered there, maybe with non-Linux
data?).  I guess I'm still impressed that the system handles even my
odd-ball hardware configuration totally correct.

LINKS TO MORE INFORMATION ...

Homepage:
  http://www.microwerks.net/~hugo/

Download page -- which includes _excellent_ per-distro
verification/testing, as well as links to RPMfind to get necessary
support programs (e.g., afio, newt, etc...):
  http://www.microwerks.net/~hugo/download.html

Manual (a little dated, v1.1, v1.2 [stable] and v1.3 [beta] are out -- I
used v1.2)
  http://www.microwerks.net/~hugo/download/mondo-manual.html

README -- which includes a solid FAQ:
  http://www.microwerks.net/~hugo/download/README

-- TheBS

-- 
Bryan "TheBS" Smith    mailto:b.j.smith@ieee.org   chat:thebs413
Engineer  AbsoluteValue Systems, Inc.  http://www.linux-wlan.org
President    SmithConcepts, Inc.    http://www.SmithConcepts.com
----------------------------------------------------------------
"in a situation where you have someone against you ... an ac-
 cusation ... can lead to time in jail.  This fear can be more
 effective in controlling a group of people than the enforcement
 of the law as is. -- Joao Miguel Neves on the US DMCA and EU CD