Könnte es möglich sein, eine heiße Kopie eines Systems zu erstellen?

10

Ich möchte mein System sichern, ohne es auszuschalten. Der Systemklon sollte auch auf einem anderen Computer ausgeführt werden können.

Ich habe versucht, die gesamte Systempartition auf einer anderen Festplatte zu "dd". Danach habe ich sichergestellt, dass keine Verwaltungsaufgaben gestartet wurden. Ich glaube, ich musste dem Grub sagen, dass er auf dieser Festplatte booten soll, also habe ich den folgenden Befehl ausgeführt:

grub-install  /dev/sdc1 

aber ich habe diesen Fehler bekommen:

The file /boot/grub/stage1 not read correctly.

Ich weiß, dass ich es tue, ist nicht sehr sauber. Haben Sie also eine gute Lösung, um meine Ziele zu erreichen, oder eine Idee, um das Madenproblem zu lösen?

Gael
quelle
Wenn Sie es am Laufen halten müssen, bedeutet dies, dass es tatsächlich etwas tut. Wenn dies der Fall ist, ist es fast sicher, dass sich der Inhalt Ihres Systems während der Sicherung ändert. Dies macht die Ergebnisse etwas unvorhersehbar - testen Sie viel, bevor Sie es in der Produktion verwenden.
Joe

Antworten:

8

Es gibt mehrere Optionen, die jeweils Kompromisse aufweisen. Sie können ddein Dateisystem nicht zum Klonen verwenden, während es im Lese- / Schreibmodus bereitgestellt ist. Andernfalls wird der Klon beschädigt, da die Quelle während des Kopierens geändert wird, sodass das Ziel teilweise veraltet ist und teilweise nicht. Wenn Sie wirklich in der Lage sein möchten, ddeine Partition im laufenden Betrieb zu kopieren, können Sie dies mit LVM- Snapshots tun . Dies setzt voraus, dass Sie das System zunächst mit LVM installiert haben. Anschließend können Sie jedoch jederzeit einen Snapshot erstellen. Da der Snapshot eingefroren und nicht bereitgestellt ist, können Sie ddden Snapshot sicher erstellen und dann den Snapshot entfernen. Der andere Nachteil bei der Verwendungddist, dass es Zeit verschwendet, den gesamten nicht verwendeten Speicherplatz auf dem Volume zu kopieren, und dass das Ziel mindestens genauso groß sein muss, selbst wenn der größte Teil der Quelle nicht verwendet wird.

Anstatt zu verwenden dd, können Sie einfach herkömmliche Sicherungswerkzeuge wie taroder dumpzum Sichern des Snapshots verwenden. Dies hat den Vorteil, dass keine Zeit mit dem Kopieren von freiem Speicherplatz verschwendet wird, und kann auf einer kleineren Partition wiederhergestellt werden, solange Speicherplatz für die Dateien vorhanden ist. Sie können auch nur einige der Dateien extrahieren, um eine teilweise Wiederherstellung durchzuführen. Sie müssen LVM auch nicht mit dieser Methode verwenden: Solange Sie hinreichend sicher sind, dass beim Erstellen der Sicherung keine Dateien geändert werden, ist dies auf einem bereitgestellten Dateisystem sicher. Das Schlimmste, was passieren kann, ist, dass eine einzelne Datei, die während der Sicherung geändert wird, beschädigt ist, anstatt dass die gesamte Sicherung beschädigt ist, wie dies bei möglich ist dd.

Wie Sie anscheinend bemerkt haben, müssen Sie nach dem Wiederherstellen des Dateisystems immer noch grub neu installieren, damit das System startet. Ich bin nicht sicher, warum Sie diesen Fehler erhalten haben, als Sie es versucht haben, aber es scheint, dass Sie grub-Legacy verwendet haben, da grub2 keine Stufe1 hat.

psusi
quelle
Ich habe kein LVM verwendet, aber ich könnte, ich suche nach einer dauerhaften Lösung. Ist es ausreichend, den gesamten Systembaum (außer proc) zu kopieren und dann den Grub zu ändern?
Gael
@Gael, es reicht aus, alle Dateien zu kopieren und grub neu zu installieren, ja. Möglicherweise müssen Sie auch die UUIDs in / etc / fstab aktualisieren. Beachten Sie, dass Sie bei Verwendung tarnicht nur / proc, sondern auch / dev, / sys und / run ausschließen oder den --one-file-systemSchalter verwenden möchten, um zu verhindern, dass es in andere Dateisysteme abfällt.
Psusi
Danke, ich werde es mit Teer versuchen. Diese Lösung ermöglicht möglicherweise eine vollständige Kontrolle über die Sicherung.
Gael
3

Die Verwendung von rsyncoder tarzum Kopieren der Partition ist möglicherweise einfacher. Ich würde die Partition wie /mntvor der Kopie auf einem zweiten Mount-Punkt mounten . Mit diesen Optionen können Sie auch die Partitionsgröße oder den Partitionstyp ändern. Möglicherweise haben Sie auch Strukturen auf zusätzlichen Partitionen. Ich habe oft separate Partitionen für /varund /usr. Diese müssen ebenfalls berücksichtigt werden.

Möglicherweise müssen Sie in der grubDokumentation nachsehen, wie die Festplatte und die Partition korrekt ausgerichtet werden. install-grubkann falsche Annahmen treffen, die nicht das tun, was Sie wollen.

Es gibt Tools wie diese, mit mondodenen Sie eine bootfähige Wiederherstellungs-CD erstellen können, auf der Ihr Betriebssystem installiert ist.

BillThor
quelle
Ich habe dd verwendet, weil ich mir gesagt habe, dass andere Dateikopierwerkzeuge nur Dateien kopieren, nicht mbr und die Partitionstabelle. Ich warf einen Blick auf Mondo und es könnte die einfachste Lösung sein. Vielen Dank
Gael
@Gael Wenn Sie nur SD1 klonen, erhalten Sie den MBR nicht. Es gibt eine Reihe von Tools, die den MBR bei Bedarf aktualisieren. Normalerweise verfügt es bereits über Code zum Suchen nach einem Startdatensatz.
BillThor
1

Ich denke, es gibt keine echte Option für eine zuverlässige Sicherung eines laufenden Systems auf Geräteebene: Ihr Dateisystem würde zu beschädigt, da Sie den aktuellen Status nicht einfrieren können und der Sicherungsvorgang viel Zeit in Anspruch nimmt.

Sie können jedoch folgende Optionen ausprobieren:

  1. Führen Sie das System innerhalb einer VM aus. Sie können einen Snapshot des Systems erstellen und anschließend eine Sicherungskopie dieses Snapshots erstellen. Wenn die Sicherung abgeschlossen ist, kann der Schnappschuss einfach verworfen werden. Dies löst die oben genannten Probleme.
  2. Führen Sie die Sicherung auf Dateisystemebene durch, nicht auf Geräteebene. Ich kann rsnapshot dafür empfehlen.
Vilmantas Baranauskas
quelle
Ich suche nach einer Lösung, mit der ein System gesichert werden kann, ohne es auszuschalten. Unabhängig von der verwendeten Methode muss das System ausgeführt werden. Wenn es ausreicht, nur das Dateisystem zu kopieren, um das System zu kopieren, erledigt rsync den Job. Was bringt rsnapshot?
Gael
rsnapshot bietet Ihnen so viele inkrementelle Mehrfachsicherungen, wie Sie benötigen (stündlich, täglich, wöchentlich, monatlich), und Sicherungen sind in einfacher Verzeichnisstruktur verfügbar, obwohl sie inkrementell sind.
Vilmantas Baranauskas