Wie erstelle/stelle ich unter Linux einen Image-Snapshot meines gesamten Laufwerks wieder her?

Ich bin zu verwöhnt von Windows-Dienstprogrammen, die einen digitalen Schnappschuss Ihres gesamten Laufwerks erstellen, von dem Sie im Falle eines Laufwerksabsturzes wiederherstellen können. (z.B. wie Time Machine für Mac OS X).

Gibt es eine ähnliche Möglichkeit, dies unter Linux zu tun?

Author: user35997, 2008-12-13

9 answers

Das gewünschte Werkzeug (das Time Machine am ähnlichsten ist) heißt rsnapshot. Im Gegensatz zu normalen Backup-Tools kopiert es nur Dinge, die sich geändert haben, und es ermöglicht Ihnen, leicht zu vielen Punkten in der Zeit zu reisen. Sie können ihm sagen, wie viel Speicherplatz es haben darf, und es passt die Anzahl der Schnappschüsse an, um innerhalb dieser Grenze zu bleiben. Ein sehr schönes Werkzeug.

 14
Author: Norman Ramsey,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2008-12-13 01:51:31

PartImage wird über die Befehlszeile oder als Text-GUI ausgeführt. Es hat einen wichtigen Vorteil gegenüber dd:

Partimage kopiert nur Daten aus den verwendeten Partitionsteilen. Aus Gründen der Geschwindigkeit und Effizienz werden keine freien Blöcke in die Bilddatei geschrieben. Dies ist anders als der Befehl 'dd', der auch leere Blöcke kopiert.

 6
Author: StuffMaster,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2008-12-13 01:38:51

Sie können einfach "dd if=/dev/sda of=/path/to/target/backup " tun, wenn Sie wissen, dass Sie den Raum haben, wo Sie versuchen, es zu setzen. Sie können auch "dd if=/dev/sda | bzip2 > /path/to/target/backup " tun, um on-the-fly zu komprimieren. Dies könnte jedoch einige Zeit dauern.

Oder Sie können "tar --preserve-permissions -cjf backup.tar.bz2 /what/to/backup" als Benutzer ausführen, der über alle erforderlichen Leseberechtigungen verfügt. Nimm deine Wahl.

Nachtrag: Ich habe kürzlich einen neuen Laptop gekauft, der mit Vista vorinstalliert ist. Ich dachte, ich wollte Vista irgendwo behalten, falls ich es irgendwann ausprobieren wollte, also habe ich das erste Mal gebootet der Computer (mit einer Linux Livecd), ich habe das gemacht:

dd if=/dev/sda | ssh 10.0.0.1 "bzip2 > ~/vistadrive.bz2"

Dies war natürlich in einem schnellen lokalen Netzwerk. Andernfalls wäre es vorsichtiger gewesen, vor der Übertragung zu komprimieren:

dd if=/dev/sda | bzip2 | ssh 10.0.0.1 "cat > ~/vistadrive.bz2"

Hoffe, Sie finden einige davon nützlich.

Bearbeiten: Hoppla. Geändert bb zu dd...

 6
Author: Pianosaurus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2008-12-13 01:00:28

Ich verwende eine zweifache Strategie: #1 ist LVM-Snapshots und Nummer zwei ist rsnapshot, mit dem ich Punkt-in-Zeit-Backups auf einer dedizierten externen Festplatte mache. Die externe Festplatte ist so platziert, dass ich sie auf meinem Weg aus der Tür leicht zerreißen kann, falls etwas Schlimmes passieren sollte. Ich verwende (noch) keinen anderen Off-Site-Mechanismus als das regelmäßige Brennen eines Schnappschusses auf eine Reihe verschlüsselter DVDs und das Versenden an den Ort eines Freundes in einer anderen Stadt für Storage.

Ich empfehle rsnapshot dringend, da es die Schnappschüsse ausführt und harte Links für Dinge verwendet, die sich nicht geändert haben. Wenn Ihr Home-Verzeichnis bonkers geht, können Sie einfach eine rsnapshot Kopie nehmen und tarpipe oder rsync es zurück zu Ihrer neuen Home-Partition nach der Neuinstallation oder Wiederherstellung von Laufwerksfehler.

 4
Author: Michael Trausch,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2009-06-13 06:37:49

Mehrere. Es gibt die altmodische dd(1), welche Art von Arkane; es gibt dump(8) und restore(8); gibt es mehrere open-source-Produkte um, wie Amanda; und wenn Sie wollen, können Sie installieren ZFS und verwenden Sie einen cron-Skript zu nehmen, regelmäßig snapshots, geben Sie etwas quasi identisch mit der Zeit der Maschine (siehe Tim Foster ' s weblog.)

Wikipedia hat einen Artikel mit einer Liste von vielen Optionen.

 3
Author: Charlie Martin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2008-12-13 00:34:43

Wenn Sie eine Sicherung auf Dateiebene wie Time Machine wünschen, empfehle ich dringend rsnapshot als oder vorgeschlagen.

Wenn Sie eine vollständige Image-Sicherungs-und Wiederherstellungslösung wie Norton ghost wünschen, habe ich festgestellt, dass CloneZilla recht gut funktioniert. Ich starte die Live-CD und verwende dann einen anderen Computer als SSH-Server, um die Images auf/von zu sichern/wiederherzustellen.

(Ich habe es sogar geschafft, die Live-Version über PXE Boot für einen alten Tablet-Laptop zum Laufen zu bringen. hatte mit kein CD-Laufwerk und kein Booten von USB, aber es war eine Menge Fummeln.)

Und Sie können es auch für Windows-Computer verwenden.

 2
Author: Evan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-05-23 12:41:50

Ich habe mir immer Sorgen gemacht, dd zu verwenden, wenn die Laufwerke unterschiedlich groß waren. Oder hatte unterschiedliche Anzahl von Köpfen/Sektoren/Spuren / etc.

dd ist sehr nützlich, wenn Snapshotting und Reflashing das gleiche Laufwerk. Insbesondere USB-Laufwerke oder Windows-Partitionen. Aber wenn ich von einem 500Meg zu einem 1500Meg-Laufwerk gehe, mache ich mir Sorgen.

Außerdem möchte ich, wenn mein Laufwerk ausfällt, es als Entschuldigung für ein Upgrade auf ein neueres Betriebssystem verwenden können.


Allen, sagte, die gute alte tar macht einen guten Job! GNU-tar - schließt diff-tar-gegen-Dateien, nur-update-files-that-have-changed - und nur-Archiv-Dateien-neuer-als-date Optionen.

(sollte ich erwähnen: ich habe einen bug, den ein paar Jahre zurück, dass mir erforderlich, um downloaden und installieren Sie eine neuere version des GNU-tar - . (Etwas mit sehr langen Pfadnamen und mehreren Volumes zu tun.), Keine große Sache. Sei dir nur bewusst, dass das immer eine Option ist.)

Sie sollten wahrscheinlich ausschließen / proc, /sys und vielleicht / var / log / lastlog oder / mnt. (Ich in der Regel wieder auf ein externes Laufwerk montiert unter /mnt. Sichern der Sicherung - nicht so gut!)

Einschließlich / dev kann sich lohnen. gnu-tar behandelt Geräte ordnungsgemäß (mknod). Obwohl Sie wahrscheinlich das gesicherte /dev während einer Wiederherstellung nicht verwenden werden. (Gelegentlich ist es schön zu sehen, welche Berechtigungen oder Links Sie eingerichtet hatten vor.)

Außerdem möchten Sie möglicherweise fdisk ausgeben & rpm info vor Sichern. E. g.

/sbin/sfdisk -l /dev/sda > /....../info_sda
rpm -qa | sort > /...../info_rpms
rpm -qa --qf "%{ARCH} \t %{NAME}-%{VERSION}-%{RELEASE}\n" | sort -k2,2 > /........./info_rpms_arch

Sowie das Mounten beliebiger "optionaler" benutzergemounteter Dateisysteme.

 1
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2008-12-13 23:22:24

Hier sind die vollständigen Schritte für eine andere Methode, die zum Verschieben von einer Festplatte auf eine andere und sogar zum Klonen einer Maschine funktioniert, wenn die Hardware ähnlich ist.

Erstellen Sie zunächst ein Bild eines gut funktionierenden Systems. Tun Sie dies als Wurzel.

# cd / 
# tar cpzf hostname.tgz / --exclude=hostname.tgz --exclude=proc --exclude=lost+found --exclude=mnt --exclude=sys --exclude=home --exclude=usr/src

Sichern Sie die Kernel-Images

# mount /boot
# cd /boot
# tar cpzf boot.tgz *

Starten Sie den Computer, auf dem das Image bereitgestellt werden soll, mit einer Live-CD/Gentoo-CD. Mounten Sie diese Festplatte und partitionieren Sie sie entsprechend:

# fdisk /dev/hda
/dev/hda1  /boot
/dev/hda2  swap
/dev/hda3  /tmp
/dev/hda4  /

Dateisysteme hinzufügen

# mke2fs /dev/hda1
# mkswap /dev/hda2
# mke2fs -j /dev/hda3
# mke2fs -j /dev/hda4

Mount Laufwerke:

# mount /dev/hda4 /mnt/new_root
# mkdir /mnt/new_root/tmp
# mkdir /mnt/new_root/boot
# mkdir /mnt/new_root/proc
# mkdir /mnt/new_root/sys
# mount /dev/hda3 /mnt/new_root/tmp
# mount /dev/hda1 /mnt/new_root/boot
# swapon /dev/hda2
# mount -t proc proc /mnt/new_root/proc

Kopieren Sie den Hostnamen.tgz-Datei auf dieser Maschine.

Extrahieren Sie es in das Stammverzeichnis der neuen Maschine / mnt / new_root

# tar -xzf hostname.tgz

Chroot " in die neue Umgebung.

# chroot /mnt/new_root /bin/bash
# env-update && source /etc/profile

Überprüfen Sie /boot/grub / grub.conf und /etc/fstab

Grub auf der Festplatte einrichten:

# grep -v rootfs /proc/mounts > /etc/mtab
# grub-install /dev/hda

Beenden und umount Laufwerke, starten Sie die Maschine neu.

 1
Author: deepwell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2009-06-13 05:56:56

Sie können Snapshots unter Linux mit LVM, dem Logical Volume Manager, erstellen.

 0
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2009-01-26 06:50:40