This is a guide on how to Backup/Clone a Linux system to a Bootable ISO file using the free Mondo Rescue Disaster Recovery Tool
Mondo Rescue is an open source, free disaster recovery and backup utility that allows you to easily create complete system (Linux or Windows) Clone/Backup ISO Images to CD, DVD,Tape, USB devices, Hard Disk, and NFS. And can be used to quickly restore or redeploy working image into other systems, in the event of data loss, you will be able to restore as much as entire system data from backup media.
Mondo program is available freely for download and released under GPL (GNU Public License) and has been tested on a large number of Linux distributions.
Installation of Mondo Rescue
Installing MondoRescue on RHEL / CentOS / Scientific Linux
The latest Mondo Rescue packages can be obtained from the “MondoRescue Repository“. Use “wget” command to download and add repository under your system. The Mondo repository will install suitable binary software packages such as afio, buffer, mindi, mindi-busybox, mondo and mondo-doc for your distribution, if they are available.
For RHEL/CentOS/SL 6,5,4 – 32-Bit
Download the MondoRescue repository under “/etc/yum.repos.d/” as file name “mondorescue.repo“. Please download correct repository for your Linux OS distribution version.
# cd /etc/yum.repos.d/
## On RHEL/CentOS/SL 6 – 32-Bit ##
# wget ftp://ftp.mondorescue.org/rhel/6/i386/mondorescue.repo
## On RHEL/CentOS/SL 5 – 32-Bit ##
# wget ftp://ftp.mondorescue.org/rhel/5/i386/mondorescue.repo
## On RHEL/CentOS/SL 4 – 32-Bit ##
# wget ftp://ftp.mondorescue.org/rhel/4/i386/mondorescue.repo
For RHEL/CentOS/SL 6,5,4 – 64-Bit
# cd /etc/yum.repos.d/
## On RHEL/CentOS/SL 6 – 64-Bit ##
# wget ftp://ftp.mondorescue.org/rhel/6/x86_64/mondorescue.repo
## On RHEL/CentOS/SL 5 – 64-Bit ##
# wget ftp://ftp.mondorescue.org/rhel/5/x86_64/mondorescue.repo
## On RHEL/CentOS/SL 4 – 64-Bit ##
# wget ftp://ftp.mondorescue.org/rhel/4/x86_64/mondorescue.repo
Once you successfully added repository, do “yum” to install latest Mondo tool.
# yum install mondo
Installing MondoRescue on Debian / Ubuntu / Linux Mint
Debian user’s can do “wget” to grab the MondoRescue repository for Debain 6 and 5 distributions. Run the following command to add “mondorescue.sources.list” to “/etc/apt/sources.list” file to install Mondo packages.
On Debian
## On Debian 6 ##
# wget ftp://ftp.mondorescue.org/debian/6/mondorescue.sources.list
# sh -c “cat mondorescue.sources.list >> /etc/apt/sources.list”
# apt-get update
# apt-get install mondo
## On Debian 5 ##
# wget ftp://ftp.mondorescue.org/debian/5/mondorescue.sources.list
# sh -c “cat mondorescue.sources.list >> /etc/apt/sources.list”
# apt-get update
# apt-get install mondo
On Ubuntu/Linux Mint
To install Mondo Rescue in Ubuntu 12.10, 12.04, 11.10, 11.04, 10.10 and 10.04 or Linux Mint 13, open the terminal and add the MondoRescue repository in “/etc/apt/sources.list” file. Run these following commands to install Mondo Resuce packages.
# wget ftp://ftp.mondorescue.org/ubuntu/`lsb_release -r|awk ‘{print $2}’`/mondorescue.sources.list
# sh -c “cat mondorescue.sources.list >> /etc/apt/sources.list”
# apt-get update
# apt-get install mondo
Creating Cloning or Backup ISO Image of System/Server
There are two ways to create a Backup/Clone ISO. Interactive and command line.
Interactive Bacup/Clone ISO Image
After installing Mondo, Run “mondoarchive” command as “root” user. Then follow screenshots that shows how to create an ISO based backup media of your full system.
If you’ve selected default backup path, you will see an ISO image under “/var/cache/mondo/“, that you can burnt into a CD/DVD for later restore.
Command Line Bacup/Clone ISO Image
To create a one line full backup ISO with name “mybackup”v run:
mondoarchive -O -p mybackup -i -d /var/cache/mondo -s 4480m
this will create a file named “mybackup-1.iso” at the path “/var/cache/mondo”
Shedule a daily backup (CRON JOB)
1. Use ‘at’ to run your usual mondoarchive command
# at now + 5 min
# mondoarchive -O -p mybackup -i -d /var/cache/mondo -s 4480m
# <CTRL>-d
2. Grab the script generated by ‘at’ and make a copy of it
grep mondo /var/spool/at/* cp /var/spool/at/<file-from-grep> /root/mondo-cronscript
3. Edit that script to use ‘<your mondoarchive command>’
# vi /root/mondo-cronscript
4. at the end of the script add a new line with the mondoarchive command:
mondoarchive -O -p mybackup -i -d /var/cache/mondo -s 4480m
5. Run that script from your crontab (the egample is a "working" daily task, monday to friday at 00:00)
# crontab -e
0 0 * * 1-5 /root/mondo-cronscript
Restore
To restore burn the ISO to a DVD (or mount it if using virtualization) and start the server. At the prompt write “nuke” and it will restore the whole disk (re-image).
If restoring to different machine/VM it will have different MAC address. It need to change the MAC address of the eth0 interface to the new one in order the interface to be enabled.
MAC address change after restore
ifconfig -a (check the MAC address)
vi /etc/sysconfig/network-scripts/ifcfg-eth0 (edit the MAC address adding the new one)
service network stop
service network start
ifconfig -a (check it eth0 is up)
if not then try “ifup eth0”
Pantelis Apostolidis is a Sr. Specialist, Azure at Microsoft and a former Microsoft Azure MVP. For the last 20 years, Pantelis has been involved to major cloud projects in Greece and abroad, helping companies to adopt and deploy cloud technologies, driving business value. He is entitled to a lot of Microsoft Expert Certifications, demonstrating his proven experience in delivering high quality solutions. He is an author, blogger and he is acting as a spokesperson for conferences, workshops and webinars. He is also an active member of several communities as a moderator in azureheads.gr and autoexec.gr. Follow him on Twitter @papostolidis.