Mondo und Mindi
Mondo ist ein professionelles Backup Tool zur Erstellung eines BMR (Bare Metal Restore) Backups. Es kann sowohl einzelne Daten/Ordner als auch komplette Partitionen sichern. Ein Full Backup kann als BMR verwendet werden, um bei Totalausfall der Hardware den Server auf einer genügend ähnlichen Hardware schnellstmöglich wieder aufzubauen.
Installation
Die Mondo-Pakete sind in den rpmforge-Repositorys enthalten. Um diese verwenden zu können muss die neueste Datei rpmforge-release*.el6.rf.i686.rpm (für 32 Bit)von http://pkgs.repoforge.org/rpmforge-release/ geladen und installiet werden. Die 64 Bit Pakete enden auf *64.rpm.
Hier für das Beispiel rpmforge-release-0.5.2-2.el6.rf.i686.rpm:
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm rpm -i rpmforge-release-0.5.2-2.el6.rf.i686.rpm rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txtHier zum laden über das Wiki:rpmforge-release-0.5.2-2.el6.rf.i686.rpm und rpm-gpg-key.dag.txt
Tipp: auf der Webseite http://packages.sw.be/rpmforge-release/ nachschauen ob es eine neuere Version gibt, und dementsprechend die Installationsanweisung anpassen.
Danach kann installiert werden:
yum install mondo
Konfiguration
Eine Konfiguration des Dienstes ist nicht nötig
Full Backup erstellen
mondoarchive
Es startet eine einfache GUI mit den wichtigsten Auswahlfenstern um ein beliebiges Backup zu erstellen. Ein backup kann auch nur mit der Shell erstellt werden
Backup to | Hard Disk | Wohin soll das Archiv geschrieben werden |
Kompression | Average | Wie stark soll komprimiert werden |
ISO Size | 4300 | max. Größe der *.iso Dateien (von Medium abhängig) |
Prefix | srv | Name der iso Dateien |
Backup Path | / | was soll archiviert werden |
Exclude Path | was soll nicht archiviert werden | |
Alert | yes (3X) | iso prüfen Standartkernel proceed |
mondoarchive -Oi -d /tmp/iso -s 650m -9 -H -E /proc -E "/tmp|/home"
Die Parameter bedeuten:
Parameter | Bedeutung |
---|---|
O | Ausgabeziel. Siehe dazu Tabelle „Ausgabeziele“. |
d | Gerät oder Verzeichnis für die Ausgabe. |
s | Kapazität des Datenträgers oder der zu erstellenden Datei. |
9 | Kompressionsgrad von 0 (keine) bis 9 (maximale Kompression). |
E | Verzeichnisse, die übersprungen werden |
V | Überprüfen der Sicherung auf Vollständigkeit |
p | Dateiname |
g | Text-GUI |
D | Nur geänderte Daten schreiben |
I | Startverzeichnis |
H | Bei der Wiederherstellung wird die Festplatte partitioniert, formatiert und der Bootloader installiert. |
l | eingesetzter Bootmanager, etwa Grub |
f | Festplatte, die den Bootmanager enthält, etwa /dev/hda |
Die weiteren Parameter können in der mondo Manpage nachgelesen werden.
Einzelne Daten wiederhersteleln
mondorestore
Bare Metal Restore
Vorbereitung (Vor dem Crash)
- Ein Full Backup erstellen
BMR
- Die neuesten *.iso Dateien auf cd oder DVD brennen
- Am neuen Server die erste CD /DVD einlegen und davon booten
- mit der Eingabe von nuke wird das Einspielen des Backup eingeleitet.
Ein automatisches Backupscript für mondo
Damit mondo automatisch Backups erzeugt kann diese Datei nach /etc/cron.weekly/autobackup kopiert werden. Danach als root das Script ausführbar machen:
chmod +x /etc/cron.weekly/autobackup
Hier das Script
#! /bin/bash # Dieses Script sichert alle unter TOBACK angegebenen Daten nach TOSAFE, # loescht veraltete Dateien und sendet eine Mail # Version 1.6 vom 20.05.2011 # Andre Creutz # ---------------------------- # --- Hier koennen Aenderungen vorgenommen werden --- TOBACK=/ # Was wird gesichert TOSAFE=/mnt/Backup/ # wohin wird gesichert TOTEMP=/mnt/Backup/ # Temporaerer Backupordner NOSAFE="/home /mnt/Backup" # Was wird NICHT gesichert TONAME="SRV-`date -I`" # Name des Backups TOMAIL=admin@homelinux.net # wer wird benachrichtigt TOHEAD="Mondo-Backup $TONAME" # Header der Mail DAYS=30 # Alte Daten nach X Tagen loeschen # --- ab hier nichts mehr aendern --- { time { echo "Datum: `/bin/date` " echo "Servername: `/bin/uname -n` " echo "Es wurde gesichert: $TOBACK " echo "NICHT gesichert: $NOSAFE " echo "Name des Backups: $TOSAFE/$TONAME-*.iso " echo "============================================" echo echo "Output Log: " echo "--------------------------------------------" echo "Beginne Backup auf USB-Device $TOSAFE zu kopieren" mount /dev/sda1 $TOSAFE > /dev/null 2>&1 if [ ! -d $TOSAFE/test ] then echo "Das USB Device $TOSAFE ist nicht erreichbar" else /usr/sbin/mondoarchive -OV -p $TONAME -i -9 -I $TOBACK -E "$NOSAFE" -s 4300m -G -N -K 0 -d $TOTEMP echo "--------------------------------------------" echo "Output Log end " echo echo "Das Backup ist abgeschlossen. Wenn bei der Erstellung keine Fehler gemeldet wurden, steht das Backup unter $TOSAFE zur Verfuegung" echo "Benutzter Speicher: `df -h|grep sda1 |cut -d G -f4`" fi echo "Veraltete Backups wurden geloescht: `find $TOSAFE -mtime +$DAYS -user root `" find $TOSAFE -mtime +$DAYS -user root -exec rm {} \; echo "Time elapsed:" echo } 2>&1; } 2>&1 | grep -v evalcall | grep -v progress-form | mail -s "$TOHEAD" $TOMAIL # Ende
Weitere Infos
Deutsch:
Das Mondo Handbuch
http://www.linux-community.de/Internal/Artikel/Print-Artikel/LinuxUser/2007/02/Alle-meine-Klone
http://suse-linux-faq.koehntopp.de/q/q-backup-mondo.html
Englisch:
http://www.mondorescue.org/docs/mondorescue-howto.html
mondo automatisieren: http://cod.homelinux.org/C/documentation/mondo-with-cron/mondo-with-cron.html