MondoRescue'> mondorescue mailing list'> ]> MondoRescue HOWTO Utilisation and Configuration of Mondo and Mindi under Linux (Version &curver;) in its latest version the &curdate; This document describes the use of mondo and mindi tools to realize disaster recovery backup of your systems. It provides information on installation, backup and restore modes, hardware and software requirements, and answers to some frequently asked questions. The goals are to offer a general view of the functions and their best usages. Mondo Rescue is a Disaster Recovery Solution which allows you to effortlessly backup and interactively restore Linux, Windows and other supported filesystem partitions to/from CD/DVD-+R/RW media, tape, NFS, ... and Mindi Linux provides the bootable emergency restore media which Mondo uses at boot-time. Bruno Cornec MondoRescue Project
bruno@mondorescue.org
Conor Daly MondoRescue Project
conor.daly_at_met.ie
2000-2006 Bruno Cornec License This HOWTO is a free documentation. you may copy, redistribute and/or modify it under the terms of the GNU Free Documentation License, Version 1.1 . or any later version published by the Free Software Foundation; with no Invariant Sections, Front-Cover Texts or Back-Cover Texts. This document is distributed hoping it will be useful, but without any guaranty; you're completely responsible of its use, and coulnd't complain in case it doesn't work, or even if it breaks the hardware. All the software included in it, if not already copyrighted is released under the GPL. 2.0.7 2006-05-16 Bruno Cornec Integration of a chapter on HOWTO run mondo interactively using cron written by Conor Daly 2.06 2006-01-16 Bruno Cornec First SGML version publically available, remade from the HTML docs of the project.
About this Guide Purpose / Scope of this Guide This HOWTO serves to help people get started with using mondo/mindi as way to backup/restore their system. This is a work constantly evolving. It was started by Hugo Rabson and has since been worked upon by a number of people. See the 'About' web page for a list of members of the development team. There are many ways to contribute to the Linux movement without actually writing code. One of the most important is writing documentation, allowing each person to share their knowledge with thousands of others around the world. This HOWTO is designed to help you get familiar with how Mondo/Mindi works. Opinions expressed here are those of the authors. Informations are provided in the aim to be useful to the readers. However, there can't be, through this document, any warranty of any kind on the way it works on your systems, nor the author could be responsible for any problem caused by the use of these informations. However, software editors don't garantee you a lot either (re-read the contracts). New versions of this document The newest version of this document can always be found on MondoRescue's homepage &WWW;. If you make a translation of this document into another language, please let meknow so that I can include a reference to it here. Suggestions / Feedback I rely on you, the reader, to make this HOWTO useful. THis HOWTO is probably incomplete even if it tries to be accurate to the best of our knowledge. If you have any suggestions, corrections, recommandations or congratulations :-) don't hesitate to send them to me bruno@mondorescue.org, and I will try to incorporate them in a next revision or to the &ML;; e-mail the list at mondo-devel@lists.sourceforge.net; tell us what is wrong and how it should be fixed. Include the section title and recommended changes. Whenever possible, include the exact, spell-checked, grammar-checked text that you think would improve the document. See Mondo's Support page for more information. Please note that we do our best to help everyone but it is difficult for us to help you if you do not attach a log file to your e-mail. Let me say that again - attach your log file to your e-mail! Thank you. Without it we can't offer any tangible help because you aren't either. That's what the log file is for. It is located at /var/log/mondoarchive.log; and /var/log/mindi.log (if called alone) or at /var/log/mondorestore.log This document was originaly written by native english speakers, but is maintained by a non-native english speaker so help me correct mistaques (sic) instead of rumbling that I've done one :-) I am also willing to answer general questions on MondoRescue, the best I can. Before doing so, please read all of the information in this HOWTO, and then send me detailed information about the problem, especially including the logs generated by the tools, or traces obtained (Did I say that already :-]. If you publish this document on a CD-ROM or in hardcopy form, a complimentary copy would be appreciated; mail me for my postal address. Also consider making a donation to the Linux Documentation Project to help support free documentation for Linux. Contact the Linux HOWTO coordinator, Guylhem AZNAR guylhem@rrremovethis.oeil.qc.ca. Aknowledgements Thanks goes to these people for helping and adding to this HOWTO. Document maintainer: Bruno Cornec Original Design Assistance by: Xion Network.com Original Document Assistance by: Cafeole Troff Randy Delfs Mikael Hultgren Original LinuxDoc and LaTeX Reformat by: Bryan J. Smith Original DocBook Reformat by: Mikael Hultgren Original author; 1.6x material: Hugo Rabson QuickStart We recommend that you read this complete HOWTO. However, if you are too busy or impatient, then please use this QuickStart guide to stay out of trouble. Install the tarball, RPM, or DEB mindi and mondo packages. (see Installation for more details) Execute as root (type 'su -' to become root if you are not logged in as root) bash# mondoarchive Choose from the list of supported backup media types. The media you will use most often are CD/DVD-+R, CD/DVD-+RW, tape, NFS and hard disk. If you want to backup/restore over a network, choose 'NFS'. If you want to backup/restore to/from a local partition or if you simply want to store the ISO images in a local directory until you have time or facilities to burn them to CD's, choose 'hard disk'. If you choose 'CD/DVD-+R[W]' or 'tape' then in general your hardware will be detected and configured for you. If you are backing up to CD/DVD-+R[W] then Mondo will ask you if your CD burner has BurnProof technology, is inside a laptop, or is otherwise eccentric. If you are backing up to a tape streamer then you will not see this message. How much compression do you want? None, if your tape streamer has built-in hardware compression. Maximum, if your CPU is blazingly fast. Average should do just fine for most situations. If you want to backup the whole computer (excluding /sys, /run and /proc, naturally as well as /tmp) then leave this as / which is the default. Otherwise, specify subsets, (e.g. /usr/local /home ) being sure to put a space in between each path. If you are backing up your whole computer then you might want to exclude certain directories, e.g. /shared/MP3. Please specify them in the 'exclude directories' dialog box. Please put a space in between each path, e.g. /shared/private /scratch /nfs /windows Is your kernel sane? Red Hat, Mandrake, SuSE, Debian and Slackware users should in general say 'yes' because these vendors are good at producing reliable kernels. If you are using Gentoo or LFS then your kernel might be non-standard, in which case say 'no' to use Mondo's failsafe kernel (provided separately). If you want to verify the archives after writing them to media, say 'yes' here. If you have absolute faith in your hardware and your Linux distribution, say 'no'... and a little prayer. If you are sure you want to go ahead, say 'yes' and find something else to do while Mondo backs up your computer. If you say 'no' then you will be unceremoniously dumped at the shell prompt. :-) The backup process will now commence. There are some pre-backup tasks to be carried out first but the backup is essentially underway. To simplify the backup process, you were asked a series of questions. Next time, if you like, you could call mondoarchive with various command-line switches to control its behavior, instead of answering a series of questions. See the man page for details. Mondo will make a catalog of all files to be backed up. This may take up to five minutes. The list of files will be divided into sets, approximately 4 MB (before compression) of files per set. This typically takes one minute. Mondo calls Mindi. Mindi generates bootable media image and auxiliary data disk images which are based on your existing Linux distribution and filesystem. That way, you can be sure Mondo's tools will be compatible with your existing filesystems and binaries: Mondo's tools are your tools. Mindi takes up to five minutes to run. Finally, Mondo begins backing up your computer. This process may take a few minutes or a few hours, depending on how much data you are archiving, how fast your CPU is, how much RAM you have, and so on. It will backup your regular files and then your large files (files larger than approximately 32MB). If you have opted to verify your backups, Mondo will do that too. Try to boot from the first media of the backup. Choose 'Compare Mode' by typing compare at the boot screen. If you can boot, fine. If not, make a Mindi "Test" CD to checkout the compatibility of your system. (see Testing Mindi for more details). Remove the media; boot your computer as usual; execute as root bash# mindi bash# cd /var/cache/mindi (for CD-R) bash# cdrecord dev=0,0,0 speed=4 -eject -v mindi.iso bash# wodim dev=0,0,0 speed=4 -eject -v mindi.iso (for CD-RW) bash# cdrecord dev=0,0,0 speed=4 blank=fast -eject -v mindi.iso bash# wodim dev=0,0,0 speed=4 blank=fast -eject -v mindi.iso Reboot your system with the created Mindi CD, with the BIOS set to boot from CD. If the result is a command line in 'Expert' mode, your system checks out. Remove the CD and reboot your system. If you still cannot boot from Mindi's CD then please e-mail the &ML; for help. When making a backup on a live system, there will always be processes running that will write out data on the system after you have made the backup and before you have made the compare, this will result in difference showing up when comparing your backup. For a full explanation and what can be done to avoid this, please read this section. This QuickStart covers the ideal case. Upon receiving any system feedback/errors, read each related HOWTO section. Example 2-1. A test backup of your /home directory to CD-Rs using the command line bash# mondoarchive -OVc 4 -I /home -gF The 'c' means you must be writing to CD-Rs, not CD-RWs (the latter would require 'w' instead of 'c'). The '4' is the speed of your CD writer. The string after -I is the path to be backed up. The '-gF' means you are going to see the pretty yellow-on-blue screen instead of the boring white-on-black screen. :) It also means Mondo will not offer to create physical boot media for you. It is assumed that you are able to boot from the CD which Mondo has generated. Example 2-2. A backup of your whole filesystem to NFS using the command line bash# mkdir -p /mnt/nfs bash# mount nfs://192.168.1.28:/home/nfs /mnt/nfs bash# mondoarchive -OVn nfs://192.168.1.28:/home/nfs -gF[...] bash# umount /mnt/nfs bash# cdrecord dev=0,0,0 speed=4 -eject -v /var/cache/mindi/mindi.iso Note that you have to mount the NFS partition, backup to it, unmount it, and create a boot CD to allow you to restore from scratch if necessary. To reassure yourself that you will be able to restore from the NFS share even if your PC is wiped, please boot from the Mindi CD and type 'compare'. The on-screen instructions from that point on should be sufficient. Example 2-3. A backup of your whole filesystem to tape using the command line bash# mondoarchive -OVt -d /dev/st0 -9 -L -g In this case, we assume Syslinux is incompatible with your boot media. For some reason, some BIOSes just don't like Syslinux. If you find this to be the case for your computer, please use '-L' to force Mondo to use LILO instead of Syslinux as the boot loader for its media. (NB: This has nothing to do with which boot loader your hard drive uses.) Also, it is a good habit to specify your tape streamer with '-d <device>'. You don't usually need to but it's good to be on the safe side. Some computers call your tape streamer /dev/osst0, some call it /dev/ftape, ... Also, depending on the tape streamer model, a tape should be inserted in the tape drive before starting mondoarchive, otherwise it may not recognize the drive. Overview Mondo Rescue Mondo Rescue backs up your file system to CD, tape, NFS (archives stored remotely) or ISO's (archives stored locally). Mondo uses afio as the backup engine; afio is a well-respected replacement for tar. In the event of catastrophic data loss, you may restore some or all of your system, even if your hard drives are now blank. Mondo Rescue can do a lot of other cool things: You can use Mondo to clone an installation of Linux. Just backup the crucial stuff and exclude /home, /var/log, etc. You can backup a non-RAID file system and restore it as RAID including the root partition (if your kernel supports that). You can backup a system running on one format and restore as another format. You can restructure your partitions, e.g. shrink/enlarge, reassign devices, add hard drives, etc, before you partition and format your drives. Mondo will restore your data and amend /etc/lilo.conf and /etc/fstab accordingly. You can backup Linux/Windows systems, including the boot sectors. Mondo will make everything right at restore-time. (However, do run "Scandisk" when you first boot into Windows, just in case.) You can use your Mondo backup CD to verify the integrity of your computer. Mondo's principal virtue is that it protects you from the problems that can arise when you reinstall completely from scratch. If you want to wipe and restore your system every year just as a matter of 'good practice', Mondo is not for you. However, if you want to get up and running again in a hurry after someone breaks into your computer and wipes it (or if you accidentally wipe it yourself) then Mondo is definitely for you. It will permit you to roll back to a known-good installation in a very short period of time, sometimes as little as twenty minutes. Even if you backup large amounts of data to tape daily and do not want to add yet another backup regime, please consider backing up the core filesystem (i.e. everything but the directories containing your huge database and your prizewinning novel) every month or so, just in case. You will be glad you did. What is Mondo not? Mondo is not an everyday backup program. It is not designed to replace tar, afio, kbackup, etc. Mondo is designed to make it possible to recover from scratch if necessary. Tar and afio offer a quick, convenient way to backup small sets of files, sometimes to removable media. Mindi Mindi Linux creates a set of boot/root media images that will let you perform basic system maintenance on your Linux distro. The principal virtues of Mindi's boot disks are the fact that they contain your kernel, modules, tools and libraries. You can ask for additional binaries (or other files) to be included on the kit. The libraries will be added for you. Whichever modules were loaded at backup-time, they are reloaded at boot-time. So, in theory, you will boot into almost the same environment as you were in when you backed up. If you want to add files to your Mindi boot disks, edit '<INSTALLPATH OF MINDI>/mindi/deplist.txt' and add the files to that list. The added files and dependencies, will be spread across the data disks at run-time. Mindi makes sure that Mondo has all the tools it needs at boot-time. Mondo uses fdisk, mkfs, cat, less, more, afio, gzip, bzip2, your keyboard configuration, your glibc libraries, your other libraries, your kernel, your modules, ... which is a lot of tools! Mindi takes care of all that, so that Mondo can get on with the job of backing up or restoring your data. Mindi is also handy for making boot CDs/disks which stand on their own. You do not need Mondo. Indeed, if you like, you could use another backup/restore program with Mindi. Just add it to Mindi's dependency list (type 'locate deplist.txt' to find it). Mindi will include your software on its boot CD/disks the next time you run mindi. Linux Backup Mondo Rescue and Mindi Linux are used primarily as Linux backup and cloning tools. The fall in prices of CD-RW drives and writable discs will allow current users to keep good backups and future users to leverage the cloning capability. Tape drives are more likely to suit your needs if you run a larger installation (or have lots of MP3's). Warning! OnStream drives do not play well with Mondo. I do not know why. It is, in my opinion, something which OnStream should look into. Mondo uses fopen(), fread(), fwrite() and fclose() to interact with tape drives. That works for most drives but some drives just don't like that. Also, depending on the tape streamer model, a tape should be inserted in the tape drive before starting mondoarchive, otherwise it may not recognize the drive. Mondo Rescue has been tested thousands of times on various computers. It has worked for them. Thousands of users testify to Mondo's stability and its ease of use. However, please test it on your own system before you rely on it. In fact, do not rely on any software until you have tested it to see if it performs as expected. To establish that Mondo will behave well in an emergency, please be prepared. Run a test backup as follows:- Run mondoarchive without any command-line options. Backup a subset of files - e.g. /usr/local - to CD or tape. Say 'yes' when asked if you want to verify them. If you are not backing up to CD, please create boot media when prompted. Next, restore archives to your live filesystem. When mondoarchive terminates, run mondorestore without any command-line options. Insert the media when prompted. Press <Enter>. Wait a moment. Select a subset of files to restore, e.g. /usr/local/man and /usr/local/bin. Hit OK. Restore files to /tmp or /root/RESTORED or something similar. When mondorestore terminates, compare the restored files to the originals using cmp or diff. Finally, simulate an emergency restore. Boot from media. Select 'Interactive Mode' at boot-time. (Type 'interactive' and hit <Enter>.) Hit OK when shown the mountlist. Say 'yes' when asked if you accept the mountlist. Select files to restore, e.g. /usr/local/man and /usr/local/bin. Hit OK. Restore files to /tmp or /root/RESTORED or something similar. When mondorestore terminates, please reboot and compare the restored files to the originals. FYI, the subroutines to repartition and reformat your drives are very stable. If you are a RAID or LVM user, you might encounter some difficulties when wiping and restoring from scratch because of the sheer range of filesystem layouts and the impossibility of testing Mondo on every single one. If you have trouble, just drop to the command-line and partition/format manually. Then, call mondorestore, select Interactive Mode, and say 'no' when asked if you want Mondo to partition or format your drives for you. You see, even if you have trouble, you still have two hands and most of the tools you need - lvchange, pvcreate, fdisk, mkraid, etc. - to do it manually. After you have prepped and formatted your drives manually (if you have to), just run mondorestore again and say 'no' when asked if you want to prep or format your drives. What could be easier? Windows Backup Backing up windows partitions. Windows ME/95/98 Verify that the partition is listed in /etc/fstab and is mounted (e.g. /dev/hda1). Mondo will take care of everything else. The files will be archived just like all other files in the live file system. At restore-time, Mondo will take care of the boot sector of /dev/hda1 prior to the restore. Note: if Windows ME/95/98 is not located on /dev/hda1 or /dev/sda1, then Mondo will not take care of the boot sector of /dev/hda1. The user will have to boot from a DOS floppy and run SYS C: to correct the Windows boot sector. Windows NT4/2K/XP Windows NT4/2K/XP typically use the NTFS file system, not VFAT.. The user should use '-x /dev/hda1' (or whichever device the Windows partition resides). Mondo will treat the partition as a biggiefile. Mondo will also add an entry to the mountlist to reflect the size and type of the partition. The user may not edit that partition's size at restore-time (for obvious reasons). Please bear in mind that Mondo was written for Linux users. If Mondo does not backup or restore your Windows system well, you might want to consider reporting it to the &ML; Mondo Rescue and Mindi Linux History Mondo Rescue was created in December 1999 by Hugo Rabson as a utility to clone Linux/Windows installations. Norton Ghost would not do the job, and his boss wanted to jump on the Linux bandwagon. So, he wrote a few scripts and shoehorned them into the latest Linux-Mandrake CD. Since that time, Mondo grew into a disaster recovery suite for Linux and Windows. Mondo forced him to learn about the kernel, its initrd initial ramdisk, modules, library dependencies, disk partitioning, and the myriad differences between the Top 10 Linux distributions. The first formal release was made on February 18th, 2000. Mondo is currently one of the top five Linux backup/restore programs. Mondo has been compared favorably to ArcServe, Arkeia and BRU. Although Mondo lacks the more advanced, enterprise-level features of ArcServe and Arkeia, for workstations and small- to medium-size servers it is ideal because it is small, fast, efficient, stable, comes with source code, and is being actively developed and supported. Since November 2005, Hugo Rabson has tranfered the maintenance of the Mondo Rescue suite to Andree Leidenfrost and Bruno Cornec, both previous developers and packagers of the tool since nearly the begining. System Requirements Hardware Requirements Your computer must have: Intel(R)-compatible CPU (ia32, x86_64/amd64 or ia64) 64MB of RAM (128MB recommended) 800MB of hard disk space free CD writer, tape streamer, NFS share or some way to backup the backups :) It is recommended that your computer have very good airflow. The backup with Mondo Rescue and Mindi Linux will utilize your CPU, CD drive and fixed disk(s) like very few other applications. With a few hours of system backup activity, computers without sufficient airflow may show symptoms such as not burning full CD discs. The solution is a $20 or less additional fan at your local electronics discount store. Kernel Requirements Your kernel must have: stable loopfs support, which means it really needs to be 2.2.19 or 2.4.7 (or later) CD-ROM device support ISO9660 file system support initrd ramdisk support (built-in) Virtual memory file system support (built-in) ext2 file system support (built-in) Support for the backup media (Tape, CD-RW, NFS, Hard disk) If the backup media is CD-RW then you need SCSI emulation also vfat support in the active kernel - mindi needs this when creating syslinux boot media Please note that the stock kernels of Red Hat/RHEL/Fedora, Mandrake/Mandriva, SuSE/SLES/OpenSuSE, Debian and Slackware all meet Mondo's requirements. If your kernel does not meet Mondo's requirements then there is something wrong with it. Mondo's demands are not unreasonable. Mondo (specifically Mindi) does not require any specific module. It does require that your kernel support the initrd initial ramdisk facility. Typically this is supported by the Linux kernel. Modules used are needed to support the CD, hard disks, etc. If the support is modular, then the modules will be incorporated in a boot disk by Mindi. If the support is built-in (static), then it will be available at boot-time by default. Software Requirements See Mondo's Download page for details. Mondo requires afio, bzip2, cdrtools/cdrecord/growisofs (may be part of the dvd+rw-tools package), ncurses, newt, isolinux/syslinux, lzo (optional), lzop (optional), mkisofs/genisoimage, slang, and a few other packages. Good Linux distributions provide all these packages. If yours does not then please go to the aforementioned Download page or surf the Net, preferably the website of the distribution you are using. Mondo's expectations are not unreasonable, either of your Linux distribution or of your kernel. However, if your distribution fails to meet its expectations and you cannot find out how to resolve them, please feel free to e-mail the &ML; Installation Mindi Installation If you are installing from a tarball then copy it to wherever you have enough space, for example /tmp and type: bash# cd /tmp bash# tar -zxvf mindi-1.x.tgz bash# cd mindi-1.x bash# ./install.sh This installs mindi additional files into /usr/local/lib/mindi and the program into /usr/local/sbin Or, if you are installing from an RPM/deb then copy it to wherever you have enough space, for example /tmp and type: bash# rpm -Uvh /tmp/mindi-1.x-x.i386.rpm or bash# dpkg -i /tmp/mindi-1.x-x.deb This installs mindi additional files into /usr/lib/mindi and the program into /usr/sbin. Mindi Busybox Installation If you are installing from a tarball then copy it to wherever you have enough space, for example /tmp and type: bash# cd /tmp bash# tar -zxvf mindi-busybox-1.x.tgz bash# cd mindi-busybox-1.x bash# make oldconfig bash# make busybox bash# make install This installs busybox files and symlinks into /usr/local/lib/mindi/rootfs Or, if you are installing from an RPM/deb then copy it to wherever you have enough space, for example /tmp and type: bash# rpm -Uvh /tmp/mindi-busybox-1.x-x.i386.rpm or bash# dpkg -i /tmp/mindi-busybox-1.x-x.deb This installs busybix files and symlinks into /usr/lib/mindi/rootfs Mondo Installation If you are installing from a tarball then copy it to wherever you have enough space, for example /tmp and type: bash# cd /tmp bash# tar -zxvf mondo-2.xx.tgz bash# cd mondo-2.xx bash# ./configure bash# make && make install This installs mondo into /usr/local/lib/mondo and installs the programs into /usr/local/sbin Or, if you are installing from an RPM/deb then copy it to copy it to wherever you have enough space, for example /tmp and type: bash# rpm -Uvh /tmp/mondo-2.x-x.i386.rpm or bash# dpkg -i /tmp/mondo-2.x-x.deb This installs mondo into /usr/lib/mondo and installs the programs into /usr/sbin RPM verifications For RPM based distributions (Fedora, OpenSuSE, Mandriva, ...), you may want to do this post-install in order to check the validity of your installation: bash# rpm -Va mindi mondo mindi-busybox This gives some truly obtuse output. Basically it will list all files that do NOT pass the verify tests (done on size, MD5 signature, etc). Please read rpm man page to discover the meaning of the output. Tests Testing Mindi Mindi is a vital part of the backup procedure. If you have used Mondo before or if you are in a hurry, skip steps 6.2 and 6.3; go straight to QuickStart. However, if you have time or if you have been having trouble getting Mondo to work, I would recommend trying out Mindi directly (rather than via Mondo) to see if it can produce a bootable CD on your system. Make sure you are root while doing this, otherwise mindi will fail, now do this. If you have any problems, please:- less /var/log/mindi.log feel free to edit mindi (it's a shell script, btw) to try to fix the problem yourself contact the &ML; if you get stuck. Type:- bash# mindi Example screen output, selecting to use your own kernel, to create boot disks, and to create a bootable CD image: # mindi Mindi Linux mini-distro generator v1.09-r762 Latest Mindi is available from http://www.mondorescueg BusyBox sources are available from http://www.busybox.net ------------------------------------------------------------------------------ Do you want to use your own kernel to build the boot disk (y/n) ?y Would you like to use LILO (instead of syslinux) for your boot media (y/n) ?n Analyzing dependency requirements Done. Making complete dependency list Done. Analyzing your keyboard's configuration. Adding the following keyboard mapping tables: us-latin1 Done. Assembling dependency files................................................................... Done. The files have been subdivided into 5 directories. Your mountlist will look like this:- Finding all volume groups No volume groups found No volume groups found No volume groups found No volume groups found DEVICE MOUNTPOINT FORMAT SIZE (MB) /dev/hda1 / ext3 399 /dev/hda9 /home ext3 48478 /dev/hda6 /usr ext3 4999 /dev/hda7 /var ext3 1000 /dev/hda5 swap swap 349 /dev/hda8 swap swap 2003 Finding all volume groups No volume groups found No volume groups found No volume groups found No volume groups found Tarring and zipping the groups.................. Done. Creating data disk #1...#2...#3...#4...#5... Done. Making 1722KB boot disk...........................1440+0 enregistrements lus. 1440+0 enregistrements écrits. mke2fs 1.38 (30-Jun-2005) Failed to copy /boot/vmlinuz-2.6.12-15mdk-i686-up-4GB to ramdisk Making 2880KB boot disk...........................mkfs.vfat 2.10 (22 Sep 2003) ... 2880 KB boot disks were created OK Done. In the directory '/var/cache/mindi' you will find the images:- mindi-data-1.img mindi-data-2.img mindi-data-3.img mindi-data-4.img mindi-data-5.img mindi-root.1440.img Shall I make a bootable CD image? (y/n) y NB: Mindi's bootable CD always uses isolinux. For a bootable CD w/LILO, please use Mondo. Finished. Boot and data disk images were created. # If your kernel is too large (more than about 900KB) then you cannot make boot media, although you can still make a bootable CD image. The easiest way to test Mindi in either case is to say 'n' to its first question and 'y' to its second, then use the separate application cdrecord or wodim to make a bootable CD-R or CD-RW. Use the cdrecord or wodim application to write the CD image: bash# cd /var/cache/mindi bash# cdrecord -scanbus bash# wodim --devices The output of the above call will tell you your CD writer's node. It is usually '0,0,0'. Choose one of the following calls to write the CD, depending on whether the disk in the drive is a CD-R or a CD-RW. Please replace 'x,x,x' with your writer's node. For further information, type 'man cdrecord" from a Linux command line. If writing to a CD-RW Drive/Disc: bash# cdrecord -v blank=fast dev=x,x,x speed=4 mindi.iso (for CD-RW) bash# wodim -v blank=fast dev=/dev/xxx speed=4 mindi.iso (for CD-RW) If writing to a CD-R Drive/Disc: bash# cdrecord -v dev=x,x,x speed=4 mindi.iso (for CD-R) bash# wodim -v dev=/dev/xxx speed=4 mindi.iso (for CD-R) Backup Recommendations Shut down all possible applications (this minimizes any compare differences following the backup). Especially shutdown properly any running database on your system, as the recovery may lead to corrupted data. Or if applicable, boot to single user mode. Type: bash# mondoarchive For most users, that should be enough. :-) Mondoarchive will usually autodetect your hardware and configure it for you. If you are a power user (or you like to control every detail of how Mondo runs) then you may want to look at the command-line switches. For example:- bash# mondoarchive -Ow9 -gF -I /home cdrecord or wodim will tell you where your CD recorder lives, in SCSI terms, which looks like '0,0,0'. The previous call to mondoarchive tells Mondo to backup everything to a 4x CD-RW drive that has a CD-RW disk in it. (Use -Oc instead of -Ow if you are using CD-R.) Please put the first CD-R(W) in the drive now. You will be prompted to insert CD #2 but you will not be prompted to insert the first disk. However, if you forget, do not worry: if Mondo fails to write the first (or any) disk, it will offer to retry, abort or fail. Find the speed/compression compromise that best suits your needs. Here maximum (-9) compression level is used. If you are using cron then please consult the chapter that Conor Daly has dedicated to that topic Backup Commands and Options Backup Command: mondoarchive <-option1> <-option2> ... <-optionN> E.g., bash# mondoarchive -E "/mnt/dos|/mnt/cdrom" -9 -Oc 8 Would create backup CD to a CD-R disc at the highest compression level, writing at speed 8 and ignoring the /mnt/dos and /mnt/cdrom directories. To see a detailed list of switches and their meaning, see the HTML man page on the website or type 'man mondoarchive' at the console. Standard Example With CD-R bash# mondoarchive -Oc 2 -g Replace '2' in '-Oc 2' with the writer's speed. If mondoarchive cannot find your CD-R then please add '-d 0,0,0' (or whatever your CD writer's SCSI node is; usually, it is 0,0,0) to the call. Please insert the first disk in the writer while the PC is chugging away. If Mondo needs additional CD-R(W) then it will ask for them. Standard Example With CD-RW bash# mondoarchive -Ow 2 -g Replace '2' in '-Ow 2' with the writer's speed. Standard Example With Tape bash# mondoarchive -Ot -d /dev/st0 -g Standard Example With Failsafe kernel bash# mondoarchive -k FAILSAFE -Ow 2 If you have problems during the restore phase, due to your kernel (which may be the case on some distributions), you may want to explore the Failsafe approach, In order for this option to work you'll have to get the mindi-kernel tarball or package for your distribution. Standard Example With Network Backup bash# mount nfs://192.168.1.3:/home/nfs -t nfs /mnt/nfs bash# mondoarchive -OVn nfs://192.168.1.3:/home/nfs -g -s 200m bash# umount /mnt/nfs The resultant ISO's can be burned to CD's if you want (which isn't a good idea unless you're a Mondo expert because they'll try to restore over a network by default, which is silly because the archives are on the CD's). Or, you can boot from the Mindi media (or mondorescue.iso) and hit ENTER a few times to restore. Those ISO images can also be used for a PXE restore. For this to work, please refer to the file README.pxe provided with your mindi package. HOWTO run mondo interactively using cron Overview Mondoarchive is designed to run interactively (at least where media changes are necessary). Cron does not allow user interaction with a job. This section addresses the problem by using screen as a wrapper for mondo. This section is Copyright 2003 Conor Daly. Introduction Mondoarchive is designed to run interactively. That's not strictly true, if you run mondoarchive without the '-g' switch, it will just run. However, there is a problem where media changes are necessary. The user must change the media and tell mondoarchive that the change has been done. The problem lies in the fact that cron does not allow user interaction with a job. If you schedule a mondoarchive job via cron, you better be sure it needs only one media. In practical terms, this means using tapes or ISOs (if CD-R(W) is your backup medium). However, for tape users, there's always the possibility that the backup will overflow the tape while for CD-R(W) users, there is the added hassle of burning the ISOs in the morning. If your CD_R(W) backup routinely occupies more than one media, this is not for you (use the ISO option and burn the CDs in the morning). This HOWTO addresses the problem by using screen as a wrapper for mondo. Who should read this? Insurance Mondo users who wish to automate the backup and whose backups routinely occupy close to one media are the best audience. If you backup to tape, the occasion will arise when the backup will overflow your tape. In this instance, mondoarchive will ask for another tape. If you're using cron to start the backup, you won't be able to tell mondo that the new tape is mounted and the backup will fail. If you backup to CD-R(W), the same situation will arise but sooner. Efficiency If your backup already occupies two media, this method will allow as much of the backup as possible to proceed during quiet periods. Time the backup to start with enough time to complete the first media shortly before the operator arrives for work. The next media can be mounted and the backup completed asap and minimises the time for which users are inconvenienced by the backup (eg. database locked...). The Problem Cron's environment When a user submits a job with cron, their environment is not preserved. This is reasonable since cron jobs are typically ongoing and may be adversely affected if the user's environment changes subsequent to the cron submission. Thus, a cron job should call a script that set's up the correct environment before starting the user's desired program. The 'at' command does this nicely. Interactivity When a job is started with cron, it runs as a background process. No interaction with the program is possible (unless it is capable of interacting via a FIFO or some such) except termination via its pid. The only program that I know of that allows such interaction and serves as a wrapper for other processes is 'screen' Screen There's one little problem with screen though. It expects to attach to a terminal when it first starts. This won't happen under cron so screen will fail. Fortunately, screen comes with a "start detached" (-d) option. The Solution Briefly Use 'at' to run your usual mondoarchive command Grab the script generated by 'at' and make a copy of it Edit that script to use 'screen -m -d <your mondoarchive command>' Run that script from your crontab Use 'screen -r' to attach to the mondo screen to change CDs Use '<CTRL>-a d' to detach the screen again In Detail at Use the 'at' command to submit your usual mondoarchive command. My mondoarchive command is: # mondoarchive -D -Ow 10 -S /home/mondo/ -T /home/mondo/ -g \ -E "/home/cdaly/GIS/W2K|/home/mondo" -9 To submit the mondoarchive command with 'at' do: # at now + 5 min mondoarchive -D -Ow 10 -S /home/mondo/ -T /home/mondo/ -g \ -E "/home/cdaly/GIS/W2K|/home/mondo" -9 <CTRL>-d This generates a script in /var/spool/at/ which sets up your environment and runs your command. Grab this script to become your cron job. Grab the 'at' script Make a copy of the script generated by the 'at' command to use as the basis for your cron job. grep mondo /var/spool/at/* cp /var/spool/at/<file-from-grep> /root/mondo-cronscript You'll need to edit this. Edit mondo-cronscript To use screen, you'll need to edit the cronscript and add the screen command. My mondo-cronscript looks like: #!/bin/sh # atrun uid=0 gid=0 # mail cdaly 0 umask 22 PWD=/root; export PWD XAUTHORITY=/root/.xauthyOrD4f; export XAUTHORITY HOSTNAME=bofh.irmet.ie; export HOSTNAME PVM_RSH=/usr/bin/rsh; export PVM_RSH QTDIR=/usr/lib/qt-2.3.1; export QTDIR LESSOPEN=\|/usr/bin/lesspipe.sh\ %s; export LESSOPEN XPVM_ROOT=/usr/share/pvm3/xpvm; export XPVM_ROOT KDEDIR=/usr; export KDEDIR USER=root; export USER LS_COLORS=no=00:fi=00:di=01\;34:ln=01\;36:pi=40\;33:so=01\;35:bd=40\;33\;01:cd=40\;33\;01:or=01\;05\;37\;41:mi=01\;05\;37\;41:ex=01\;32:\*.cmd=01\;32:\*.exe=01\;32:\*.com=01\;32:\*.btm=01\;32:\*.bat=01\;32:\*.sh=01\;32:\*.csh=01\;32:\*.tar=01\;31:\*.tgz=01\;31:\*.arj=01\;31:\*.taz=01\;31:\*.lzh=01\;31:\*.zip=01\;31:\*.z=01\;31:\*.Z=01\;31:\*.gz=01\;31:\*.bz2=01\;31:\*.bz=01\;31:\*.tz=01\;31:\*.rpm=01\;31:\*.cpio=01\;31:\*.jpg=01\;35:\*.gif=01\;35:\*.bmp=01\;35:\*.xbm=01\;35:\*.xpm=01\;35:\*.png=01\;35:\*.tif=01\;35:; export LS_COLORS MACHTYPE=i386-redhat-linux-gnu; export MACHTYPE MAIL=/var/spool/mail/root; export MAIL INPUTRC=/etc/inputrc; export INPUTRC BASH_ENV=/root/.bashrc; export BASH_ENV LANG=en_US; export LANG LOGNAME=root; export LOGNAME SHLVL=1; export SHLVL II_SYSTEM=/usr/local/ingres; export II_SYSTEM USERNAME=root; export USERNAME HOSTTYPE=i386; export HOSTTYPE OSTYPE=linux-gnu; export OSTYPE HISTSIZE=1000; export HISTSIZE LAMHELPFILE=/etc/lam/lam-helpfile; export LAMHELPFILE PVM_ROOT=/usr/share/pvm3; export PVM_ROOT HOME=/root; export HOME SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass; export SSH_ASKPASS PATH=/usr/local/ingres/ingres/bin:/usr/local/ingres/ingres/utility:/usr/kerberos/sbin:/usr/kerberos/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin:/root/bin; export PATH cd /root || { echo 'Execution directory inaccessible' >&2 exit 1 } screen -m -d mondoarchive -D -Ow 10 -S /home/mondo/ \ -T /home/mondo/ -g -E "/home/cdaly/GIS/W2K|/home/mondo" -9 #done The crucial line is this one: screen -m -d mondoarchive -D -Ow 10 -S /home/mondo/ -T /home/mondo/ -g -E "/home/cdaly/GIS/W2K|/home/mondo" -9 This uses 'screen -m -d' to -m -d Start screen in "detached" mode. This creates a new session but doesn't attach to it. This is useful for system startup scripts. (From 'man screen') When screen starts, it will be in the background and "detached". Run the thing with cron To get the whole thing running, do: crontab -e and add the following lines: # run mondoarchive at 23:59 weekdays 59 23 * * 1-5 /root/mondo-cronscript Your mondoarchive job will run at 23:59 monday-friday. DON'T FORGET TO CHANGE TAPES! Getting at it... Once your cron job is running regularly, you'll want to get to it to change tapes and check status etc. screen -r attaches to the running screen where you can change CDs etc <CTRL>-a d detaches the running screen again. Caveat The script generated by 'at' is unique to the user/machine combination. You MUST regenerate it on each machine where it will be used. Using the one above will NOT work for you. MAKE YOUR OWN! Compare Before you trust your backup CD, make sure your BIOS can boot CD (and that it is configured to do so). Boot from the first CD. Type: LILO: compare Follow the on-screen instructions. This will compare your backup against your original file system. FYI, no bad archives have been created since May 2000. Having said that, I would still encourage you to run Compare before trusting the backups. To view the file differences, look at the file '/tmp/changed.txt'. Normal differences include logs and other dynamic system files that changed during the time of the backup process. If only a few files differ - e.g. files in /var, files ending in '&#732;', logs, temporary files, /etc/mtab, /etc/adjtimex - then you know the archives are good. Your logs will change over time, too. Bear in mind that a difference between the backup and the live copy does not indicate a flaw in Mondo. It indicates that you or your filesystem changed the files, so the backup is no longer 100% up to date. However, that is inevitable, as your filesystem changes from moment to moment (which is why you back it up regularly). Restore Overview I hope you don't have to restore from scratch very often. It's nerve-wracking until you realize that Mondo's restore engine is very reliable. If you find that you cannot make your PC boot from the CD, take heart: the first backup media of each set contains disk images to give you the same functionality as this media (minus the archives, of course) on other boot media. Remember, your Mondo CD is a fully functional CD-based mini-distribution as well as a recovery CD. You can choose from the following modes: Interactive Restore step-by-step, or restore a subset of the archives. This is the method you should mainly use for your recovery needs. Nuke Wipe your drives and restore everything, automatically and unattended. Warning: This does exactly what is says, so be careful using it. Expert Boot to a shell prompt. If you want to do anything creative, you should boot into Expert Mode. It's called expert, I think that says it all. If the CD is not found during the initial restore CD boot attempt, reboot the PC a second time prior to reporting failure. Occasional timing errors and hardware/software/system conflicts do occur. Tips and Tricks Ideally, restore your system to a spare hard drive to test the integrity and reliability of your disks. To do that, either edit your mountlist to make the devices point to your spare hard drive, or swap your hard drive cables between boots. At a bare minimum, compare your CD against your file system before you decide whether to trust them. To test Mondo's ability to handle your LILO or GRUB boot loader and accompanying configuration file: Boot from the backup CD into Expert Mode Type: bash# mondorestore -Z mbr To fix any mess it made (not that it should) type: bash# mount-me bash# chroot /mnt/RESTORING bash# lilo OR grub-install '(hd0)' bash# exit bash# unmount-me If it did not work then please copy /tmp/mondorestore.log to to your hard disk, USB key, ..., gzip it and e-mail it to the &ML;. Barebones (Nuke) Restore Imagine that your hard drives happen to be wiped, deliberately or accidentally. Or, imagine that you want to clone your existing operating system. In either case, you want to run in Nuke Mode. If you want to wipe everything and restore your whole system from CD, please: Use the -H option when invoking mondoarchive Boot from the first Mondo CD Press RESTORE<enter> Insert the subsequent CD when asked Watch the screen for errors That's it. The restoration process for tape or NFS users is similarly easy: just boot, answer the on-screen prompts, and wait. Now, should something go wrong, you will be able to examine /tmp/mondorestore.log to see what happened. All is not lost. You can fdisk and format the partitions yourself, using the tools that come with the CD. You can then run mondorestore in Interactive Mode and say 'no' when asked if you want Mondo to partition/format your drives. If you want to see exactly what Mondo is doing while it is restoring, press <Alt><left cursor> to view its logfile, in a virtual console, scrolling past. Interactive Restore Interactive Mode is for people who have lost a subset of data from their live file system, or perhaps who have lost some data from their latest backup and want to restore a subset of data from an earlier backup. If you want to restore only some files or if you do not want to prep/format your drives, then you should boot into Interactive Mode. The interactive mode will provide an 'Editing mountlist screen' that allows you to setup a different disk geometry. To move up and down between partitions in the 'Editing mountlist screen', use the Up and Down arrows. To move between the main window and the buttons at the bottom, use the Left and Right cursor keys. TAB shifts focus from one screen item to the other in a haphazard fashion, owing to the complexities of the Newt library. If you want to restore selectively, just press <enter> and follow the on-screen instructions. You will be asked to say yes/no to a range of questions. If you are planning to modify your partition table, you would do well to read up on the partition layout and the use of fdisk, it gives you some pointers on how to best lay out partitions. You can find a good guide at the Partition HOWTO If you want to restore a subset of the backup then: Boot from the CD Type: bash# interactive Then, after booting, answer the questions as follows: Do you want to partition your devices? no Do you want to format them? no Do you want to restore everything? no Do you want to restore something? yes Which path do you want to restore? /mydata [e.g.] Do you want to run LILO to setup your boot sectors? Yes Expert Restore If you are planning to modify your partition table, you would do well to read up on the partition layout and the use of fdisk, it gives you some could pointers on how to best lay out partitions. You can find good a guide at the Partition HOWTO To restore manually, please: Boot from the first CD, then type: bash# expert Then do whatever you like. :) You may type the following, of course: bash# mondorestore Modified partitions - Restore to a different disk geometry One of the nice things about Mondo is that it lets you wipe your existing system and restore it in any layout you like (within reason). You can move from non-RAID to RAID,install and utilize additional drives, move from ext2 to ReiserFS, etc., all without risking the loss of data. If the user excluded a particular partition from backup and specifically excluded it from the mountlist itself using -E then Mondo will insert a small (32MB) partition at restore-time, in order to avoid having to re-jig fstab, the partition table, etc. To do this: Boot into Expert Mode, then type: bash# mondorestore (edit the mountlist using the on-screen editor) If you want to move from ext2 to ReiserFS, you can do it here (so long as your kernel supports ReiserFS). Ditto for XFS, JFS or ext3, ext4. Mondorestore will try to modify your /etc/fstab to reflect changes you have made to the mountlist. If you are not using LILO, you can still create your own /mnt/RESTORING/etc/lilo.conf and run lilo -r /mnt/RESTORING to configure your boot sectors and Master Boot Record. Mondo (technically, Mindi on behalf of Mondo) creates a file called a mountlist. This can be found on the ramdisk at /tmp/mountlist.txt; it looks something like this: /dev/hda1 /mnt/windows vfat 4096000 /dev/hda5 / reiserfs 6023000 /dev/hda6 /tmp xfs 955000 /dev/hda7 /usr ext3 4096000 It is fairly easy to understand the list. Each line refers to a single device/partition. The line format is: <device> <partition> <format> <Kilobytes> If you have added a hard drive and want to take advantage of the additional space, you could amend the above mountlist to read: /dev/hda1 /mnt/windows vfat 6096000 /dev/hda5 / reiserfs 9123000 /dev/hda6 /tmp xfs 955000 /dev/hdb1 /usr ext3 8192000 /dev/hdb2 /home xfs 8192000 This assumes that your old hard drive is /dev/hda and the new hard drive is /dev/hdb. Or, if you want to add RAID support, create a new /etc/raidtab on the ramdisk (which is beyond the scope of this HOWTO) and then write a mountlist like this: /dev/hda1 /mnt/windows vfat 6096000 /dev/md0 / reiserfs 9123000 /dev/md1 /tmp xfs 955000 /dev/md2 /usr ext3 8192000 /dev/md3 /home xfs 8192000 So long as your /etc/raidtab file is sane, Mondo can automatically partition and format your disks for you, including the RAID devices. Once you have finished editing /tmp/mountlist.txt using mondorestore's built-in editor then you may choose 'OK'. Please note that this will not write anything to your hard disk. You will only reformat or repartition your disks if you say 'Yes' when asked if you want to do those things. Advanced It is now possible to restore to a live filesystem using Mondo. In other words, you do not have to boot your PC from your media in order to restore files. Mondo was originally designed for disaster recovery - situations in which you cannot boot your PC. If you can boot your PC, it is not really a disaster, is it? :) Well, if you have wiped out your priceless collection of "MTV's Bjork Unplugged" MP3's, perhaps it is. Anyway, just type this as root bash# mondorestore Choose your type of backup media. The live restoration process is very similar to what you'll experience if you type mondorestore with no parameters after booting from a Mondo media. Hit 'OK' when you have inserted the tape/CD. If you generated a tape backup, the tape itself should be enough. If you generated a CD backup, the first CD should be enough. Otherwise, you may need the boot media. Flag the files and directories you wish to restore. Use the 'More' and 'Less' buttons to open and close subdirectories. Specify the location to restore the files to. In general, '/' is appropriate. If you do not want to overwrite newer versions of the files you are restoring then specify /tmp/BKP or similar as the restore path. Mondorestore will retrieve configuration information from the media. (The sample screen is for tape users. CD users will see something different.) Data will be restored to the hard disk - first the regular files, then any big (32MB or greater) files in the restore set. I hope this manual was useful for you. FAQ Overview Are the errors from Mindi or Mondo? Look at /var/log/mondoarchive.log or /var/log/mindi.log (if run alone). Pipe screen errors which relate to the creation of boot disk(s) and or data disk(s) to a text file. See the &WWW; for details. If you are going to e-mail &ML; then please attach that text file (zipped!) and give : Your kernel version (uname -a) Your Linux distro's name and version (/etc/distro-release) Whether your kernel supports initrd and loopfs; it should! (grep -E '^CONFIG_BLK_DEV_LOOP|^CONFIG_BLK_DEV_INITRD' /usr/src/linux/.config What sort of PC you are using, including hard disk configurations (results of dmidecode, lshw, fdisk -l are useful here) Mondo is freely available under the GPL and you are given it for no charge. When you e-mail the &ML;, please bear that in mind. General Questions Q: What is "Mindi"? A: Mindi, a.k.a. Mindi-Linux, makes a mini-distribution from your kernel, modules, modules, tools and libraries. It can also generate an El Torito 2.88/5.76MB boot disk image. Mondo uses Mindi to create a mini-distro, then boots from it and runs on it. Q: Why is it called "Mondo"? A: The Teenage Mutant Ninja Turtles described cool things as 'mondo'. Hugo Rabson wasn't sure what to call this project. 'Faust' was one idea he had, partly as a dig at his former boss who practically owned him because of his legal status at the time. In the end, he chose something short and distinctive. Q: Mondo does not work on my system. It keels over and dies. What's wrong? A: It works on Red Hat 7.x/8/9, RHEL 2.1/3/4, Mandrakelinux 8.x/9.x/10.x/200x, Fedora 4/5/6, Debian 3.x, most flavors of SuSE/SLES, some flavors of Slackware, etc. The more distributions we support, the more moving targets we have to hit. Please bear this in mind when e-mailing the list. :) If you would like to help us by beta-testing Mondo (or Mindi) on your PC then we would be very interested in working with you to work around the eccentricities of your Linux distro. However, rest assured, 90% of the bugs reported are actually symptoms of FooLinux X.Y's unique way of doing things. Please send a copy of /var/log/mondoarchive.log to the &ML; along with a description of your distro, your kernel, etc. Oh, and before sending it, please try to read it. Q: What if the error is in Mindi? A: Please send a copy of /var/log/mindi.log to the &ML; along with a description of your distro, your kernel, etc. Oh, and before sending it, please read it as it is much easier to understand it. Q: Can I trust Mondo? A: Mondo has generated reliable archives since May 2000. Lost data occured by using bad CD-R disks and not verifying their contents. Some users have not tried booting from their CD until crunch time. Remember to boot into Compare Mode to verify the backup before you trust it. If Mondo did not work, you would not be reading this. If it does not work for you, your kernel is usually the culprit. Check Linux Kernel support to see what your kernel should support. Please e-mail the list if you need some help with this. Q: How do I report a bug? A: E-mail the bug report (mondo.err.xxxxx.tgz) to the &ML;. Ok you've read it already but it's really important if you want help. If you don't send a logfile then there isn't a lot that we can do for you, so PLEASE include a logfile at the very least. Q: I think Mondo should (...insert suggestion here...) and I have rewritten it accordingly. Would you like to see my patch? A: Absolutely! :-) The best way for you to make Mondo do what you want is to modify it and then send the patch. That way, we can all benefit. Q: I think Mondo should (...insert suggestion here...); will you incorporate this feature for me, please? A: Please enter the suggestion in our feature system at &WWW; Q: Mondo says, "XXX is missing," and then terminates. What's wrong? A: A good Linux distribution should contain XXX but the designers, in their infinite wisdom, decided not to include that particular tool. Check Related Linux Packages and install the missing package. If that fails, contact the vendor/distributor/manufacturer/designer of your distro. Q: Can Mondo handle multi-CD backups and restores? A: Yes, up to twenty CD per set. This 20-CD limit results from laziness on mondorescue's part. I'll be removed in the future. However, if your system occupies more than 20 CD, may it's time for another type of media ? Q: Can Mondo handle Linux/Windows dual-boot systems? A: Yes. If your system currently boots into Linux or Windows via LILO, you can backup and restore both OSes at the same time using Mondo. If you are using NTFS then add the switch, '-x <device>'. Q: Can Mondo backup Windows-only systems? A: Not at the moment. Q: Does Mondo support LVM? A: Mondo supports LVM v1 and v2. Mondo backs up and restores your existing setup but it does not make it easy for you to change your LVM configuration, at the moment. You have to edit /tmp/i-want-my-lvm at boot-time to do that. Q: What if I don't use LILO? What if I use GRUB? A: GRUB is supported by Mondo. Q: I get the error, 'Cannot find /tmp/dev.0' or 'Cannot mount device 0x0701'; what do I do? A: Please free up /dev/loop0 using 'losetup /dev/loop0 -d' to unmount that loop device. If your OS will not let you do that, contact your local support group or Linux vendor. Q: Can I create a Mondo CD and then use it to create an archive of any OS on any PC? A: Not yet. You can use Mondo to backup Linux or Linux/Windows dual boot. One day, Mondo will let you backup partitions it can't read or write, by treating each partition as one long file to be backed up. This file will be chopped, compressed and archived like any other big file. Q: Why do you insist on putting media disk images on Mondo CD? They waste space and I never use them. The CD works just fine, so why keep the media disk images? A: Because. It helped us in the past. If you really, truly want them gone then please submit a patch to make them optional. Q: Why doesn't the Mondo project have a cool-looking animal logo? A: Excellent question! Please submit graphics of candidate animal logos! Q: Is there a Mondo user 'Code of Conduct? A: Yes. Read the HOWTO. Submit patches. Recommend realistic improvements. Be courteous to other users on the discussion list. Do not whine. Booting and Kernel related Questions Q: When I try to boot from the Mondo CD, it says, "VFS: Unable to mount root fs." I am using an old Debian distro. What do I do? A: Ask Debian's designers why they, unlike every other distro I can find, have included cramfs and other 'goodies' with their kernel. In the meantime, please use '-k FAILSAFE' in your command line when calling Mondo. A: From Sarge onwards, all stock Debian 2.6 kernels should work fine. If you are still using stock Debian 2.4 kernels, FAILSAFE is the way to go. Of course, if you have compiled your own kernel and experience problems, FAILSAFE is the way to go as well, but this is not really Debian-specific. Q: When I try to boot from the Mondo CD, it says, "Cannot mount root fs - kernel panic," or something similar. What do I do? A: Recompile your kernel (or use '-k FAILSAFE'). Take a look at Linux Kernel support to see what your kernel must support. Q: When I try to boot from the Mondo CD, it says, "UPGRADE YOUR RAM". What does that mean? A: Recompile your kernel and add Virtual memory file system support. Take a look at Linux Kernel support to see what your kernel must support. (Of course, if your PC has less than 64MB of RAM, you could always... what's the phrase? I know, upgrade your RAM!) Q: When I try to boot from the Mondo CD, it says something about not finding my CD-ROM drive and then it blames the kernel. What does that mean? A: Your kernel must support initrd, loopfs, IDE|SCSI|USB CD-ROM's, and ramdisks. Take a look at Linux Kernel support to see what your kernel must support. If your kernel does not support these things, Mondo will not boot from your CD. However, when running Mindi, you may choose to use _its_ kernel instead of your own. Q: The LILO Mondo media takes ages to boot. How can I speed it up? A: Edit mindi (it's a shell script, btw) and change LILO_OPTIONS="" to LILO_OPTIONS="-c". This enables map compaction in lilo and speeds up booting, for more info see the lilo man page. Q: I made a Mondo CD using the failsafe kernel (i.e. I said 'no' when Mondo asked if I wanted to use my own kernel). It still doesn't boot. Help! A: OK, now that is a bug. :-) I included a kernel with Mondo (technically, with Mindi, which Mondo uses) to make sure that users could use Mondo despite flaws in their own kernels. If you are using Mondo/Mindi's kernel but still cannot boot from your Mondo CD then please e-mail the &ML;. Q: Why won't Mondo boot from my CD? It says my kernel is flawed/outdated/ whatever, and when I wrote to the ML, they told me the same thing... but I still don't get it. I mean, my kernel works for everything else. Why not Mondo? A: Because Mondo makes a boot disk using your kernel. I bet your other software doesn't do that. Also, not all kernels are suitable for boot disks. I'm sorry but that's Life. Upgrade your kernel and/or recompile it. Take a look at Linux Kernel support to see what your kernel must support. Q: Why do I only need a boot disk if I'm using a tape drive? Where are the data disks? A: On the tape. :-) The first 32MB of the tape will be set aside for a large tarball containing the data disks, a list of all files backed up, and other sundries. If Mondo and Mindi do their respective jobs then you won't need additional media, just the boot media and the tape(s). As of 2.2.6 mondorescue does support OBDR for tapes. So if you have a tape supporting that protocol such as HP tape readers, you may directly boot from the tape as well. Q: Why does it say, "Process accounting FAILED" when I reboot? A: You were using Process Accounting. Red Hat (or whichever distro you are using) does not provide a startup/shutdown script yet. So, when you try to backup the process log, it just grows and grows as Mondo tries to back it up. Mondo doesn't back it up anymore and that's why. The unfortunate side-effect is... well, what you see on your screen. Type 'touch /var/log/pacct' and then 'paccton' to fix the error message. Q: Why does it say, &#8220;request_module[block-major-1]: Root fs not mounted VFS: Cannot open root device "100" or 01:00 Please append a correct "root=" boot option kernel panic: VFS: Unable to mount root fs on 01:00&#8221; when i boot from the CD? A: Recompile your kernel and add initrd support. Take a look at Linux Kernel support to see what your kernel must support. Q: My tape drive doesn't play nicely with Mondo at boot-time. What do I do? A: Play with the 'mt' command (package mt-st). Use its setblksize and defblksize switches to reconfigure your tape drive if necessary. Some tape drives just are painful. If yours is one of them then God help you. Mondo can handle any tape drive whose drive and firmware can handle fopen(), fwrite(), fread() and fclose(). Mondo uses standard C libraries to talk to your tape streamer. If your tape streamer can't handle that then you had better call a priest. Either that or ask for a refund. Installation related Questions Q: Why do I get, "newt.h not found," or "popt.h not found," several times when I try to install Mondo? A: You have not installed libnewt and/or libnewt-devel. Please do so. Check Related Linux Packages to see what Mondo requires and where you can get tarballs and RPM's. Make sure you are using the right version of newt/libnewt. Read the error messages carefully. Q: Newt won't compile when I try. What's the problem? A: You are probably missing popt.h, which newt needs to compile, it can be found in the 'popt' package. Check your distribution and see if they have popt, if not check Related Linux Packages to see where you can get it. Q: I've just used up 6 CD-R, only to find that Mondo won't boot! A: You should have used CD-RW. ;) In the HOWTO, it gives instructions on how to create a test CD (one, not six). Q: Lots of packages, required by Mondo, are missing from my system. What do I do? A: Install them. :) If you are using RPM or deb then you'll be told which packages you need. Mondo offers a lot of those packages on its Download web page. Hardware related Questions Q: Can Mondo handle CD-RW? A: Yes. Use '-Ow <speed> <device>' to make it work. Q: Does Mondo support tape drives? A: Yes. See above. Of course, mondo will relay on the kernel to support your tape drive. So you should first check that your kernel found it correctly. Use for example one of the following commands: bash# dmesg | grep tape bash# cat /proc/scsi/scsi bash# mt -f /dev/st0 status Q: Does Mondo support my tape drive? A: If your tape drive and its firmware and the kernel-level driver support fopen(), fread(), fwrite() and fclose() - standard C library calls - then yes, Mondo should support it. If not, well, you need a refund. :) Mondo plays nicely with any sane, sensible drives. That's most of them, by the way. :) If your drive doesn't play nicely with Mondo then you may try tinkering with setblksize and defblksize using 'mt', or tweaking Mondo's block size by recompiling it with make INTTAPE=4096 or INTTAPE=8192 or something. Other than that, you need a priest or a refund. Also, depending on the tape streamer model, a tape should be inserted in the tape drive before starting mondoarchive, otherwise it may not recognize the drive. Q: Sometimes, my laptop won't mount Mondo CD properly, or something. Umm... A: Please insert the CD, close the CD-ROM tray, wait a few seconds and then press Enter to acknowledge insertion of the next CD. Your laptop is on crack and is sucking a little too hard on the pipe. Q: Does Mondo support Hardware RAID? A: Yes. You may backup and restore RAID systems. You may also backup a non-RAID system and restore as RAID (or vice versa) by using the mountlist editor to edit your RAID and non-RAID partitions and their settings. Mondo will do the partitioning and formatting for you. Tested Raid controllers includes all those showing only classical devices such as /dev/sdx, and SmartArray cciss controllers. Q: Where is my CD burner, in SCSI terms? A: Type: bash# cdrecord -scanbus bash# wodim --devices or for ATAPI type of devices on older kernel versions: bash# cdrecord -scanbus dev=ATAPI you may replace ATAPI by ATA in the previous line with certain cdrecord versions and hadrware configurations Find your CD burner's device# (e.g. '0,0,0'). Call Mondo with the switch '-Oc <speed>' -d '<device>'. Or, if you feel lucky, just use '-Oc 2'; Mondo will (a) assume you want to write at 4x to a CD-R and (b) will do its best to find your CD burner. Q: Can Mondo handle SCSI devices? A: Mondo should be able to handle almost any hardware. So long as your kernel and modules support it, Mindi will support it and therefore so will Mondo. Q: Why doesn't cdrecord -scanbus work ? A: If you have a 2.4.x kernel (typical example are fedora legacy kernels for redhat 7.X/8/9) and an IDE CDRW device, and the drive is not listed when you run bash# cdrecord -scanbus try adding the following kernel option to your boot script to enable SCSI emulation: hdx=ide-scsi, where "hdx" should be replaced with the appropriate drive letter of the CDRW device, e.g., "hdc". (Answer provided by Christopher Moriarity cdm7_at_cdc.gov) Backup related Questions Q: Mondo says, 'Cannot run mindi --makemountlist' and aborts. What do I do? A: Look at /var/log/mindi.log and see what it says. Also, try typing 'mindi --makemountlist /tmp/mountlist.txt' to see what Mindi says. Send the log to the &ML; if you get stuck. Q: Can Mondo burn CD as they are created? A: Yes. Use the '-Oc <speed>' switch. Use a negative number for a dummy burn. Q: Mondo failed to burn my CD. It said something like, "Error CDB A1 01 02 53 ..." and so on. What does that mean? A: Cdrecord reported some serious errors while trying to burn your CD. Check your CD burner, your CD-R and your kernel. Q: May I backup my system with one partition layout and restore with another? A: Yes. Boot in Interactive Mode and edit the mountlist using the snazzy new mountlist editor. Mondo can now edit your RAID partitions for you. Just open /dev/md0 (or whatever) and select "RAID.." to start. Or, to add a RAID device: Add two or more partitions, of type and mountpoint 'raid' Add device '/dev/md0' and click OK Follow the prompts and your own common-sense :) Q: Why does Mondo need so much free disk space? A: Because it need space to create the archive files with afio, then again space to create the ISO images that you'll be able to burn. Q: I am trying to do something clever, e.g. write my ISO's to an NFS mount, and I get some weird error messages. What do I do? A: Well, (a) use '-T /tmp' or '-T /home' or something in your call to Mondo. Oh, and (b) check the /etc/exports file on your NFS server and verify the exported filesystem is writable for the client, and relaunch exportfs -a. Q: Can Mondo backup to data files on another partition, e.g. an NFS mount? A: Yes. Just backup as usual but add '-d /mnt/nfs' or wherever your partition is mounted; don't use '-Oc' or '-Ot' at all; just '-Oi -d /root'. Then, after booting from the media which Mondo generates, you need to type 'ISO' at the console. Q: Can Mondo backup _to_ an NFS partition, i.e. backup over a network? How about restoring? A: Yes. Use '-On <mount> <directory>'. Example: bash# mondoarchive -On nfs://192.168.1.3:/home/nfs Q: Does Mondo handle System or Hidden attributes when archiving Dos/Win files? A: No. It probably never will, either. Sorry. Compare related Questions Q: When I compare my archives to my file system, Mondo tells me there are differences or errors. Are the archives bad? A: Look at /tmp/changed.files; if the files are logfiles, temp files or files which you think you may have changed recently then the archives are simply out of date, albeit only by a few minutes. Not a problem. However, if lots of files in /usr have changed or if you get lots of errors then perhaps your CD, your tapes or even your hardware could be to blame. Check your CD writer or tape streamer. Also, don't forget to review /var/log/mondoarchive.log for more information. Restore related Questions Q: Can Mondo help me move/resize/re-allocate my partitions? A: Yes. Just backup your system in Interactive Mode using Mondo. Edit the mountlist when prompted. Q: My zip drive is a SCSI drive. When I restore, Mondo craps out, saying it can't mount the drive (because there is no disk in it). What do I do? A: Restore in Interactive Mode. Delete the SCSI drive from the mountlist before you restore. Then Mondo won't try to partition or format it. Next time you backup, use -E /dev/sdd (or whatever your zip drive is). The /dev entry will be excluded from the mountlist but not from the filelist. So, when you restore, you won't accidentally reformat your zip disk. However, after restoring, you will find that /dev/sdd (the _file_) will still be present in your /dev directory. Cool, eh? Q: I received a message like, 'Fileset NNN failed' during restore. What does it mean. A: It usually means either you had a very large (>2GB) file which was not archived owing to a flaw in your distro or your filesystem has changed in relation to the backup. Q: Why does my ext3 partition have less space free than when I backed it up? A: Mondo creates a 10MB journal file area. Your journal was probably smaller than that, hence the difference. Q: When I restore after booting from the media, I sometimes get errors like, "Running out of memory" or "Segmentation fault". What is going on? A: It sounds as if you are running out of disk space, probably ram disk space. Type 'df -m' to see which partitions are running low on space. Please send as much information as you can to the &ML;. This problem is believed to have been fixed in 1.63 and 1.71. Q: I can't nuke-restore my LVM or RAID or LVM-on-RAID setup. I have to do it manually. What now? A: You said it yourself. You have to do it manually. :) Sorry but that's about it. At least you have all the tools to do it. I assume you know how. If you don't, look at i-want-my-lvm (a script on the ramdisk) if you're using LVM. It should give you a few clues. RAID is harder but in general Mondo's RAID support is good. After you've prepped and formatted your drives, run mondorestore again but say 'no' when asked if you want Mondo to prep or format your drives. &gfdl;