Ist es möglich, die aktuelle Festplatte, von der Sie gebootet haben, zu kopieren?

23

Ich habe eine Kopie von FreeNAS, die von einer Live-USB-Festplatte ausgeführt wird. Und ich möchte ein Backup davon machen.

Wäre ich in der Lage, ddbei laufendem Betriebssystem auf die Festplatte zuzugreifen, um ein fehlerfrei funktionierendes System nicht zu beschädigen?

Oder müsste ich die Maschine ddausschalten und eine andere Maschine ausschalten?

stuartc
quelle

Antworten:

16

Sie können ddauf der laufenden Festplatte ausgeführt werden. Dies sollte vermieden werden, wenn die Festplattenstruktur stark verändert wird. Außerdem sollten Sie fschkdas Ziel angeben, sobald Sie fertig sind. Je leiser das System während des Backups ist, desto besser.

Das Ausführen eines Cold-Backups (Dateisystem nicht gemountet) ist die beste Option, wenn Sie `dd 'verwenden möchten.

Es gibt bessere Möglichkeiten, ein laufendes System zu sichern.

  • taroder cpioliest die Dateien und geht einigermaßen gut mit offenen Dateien um. Sie werden wahrscheinlich einige der Änderungen, die während der Sicherung auftreten, verpassen.
  • rsyncVerhalten tarin Bezug auf geöffnete Dateien und fehlende Änderungen während der Sicherung. Es kann verwendet werden, um die erste Sicherung durchzuführen, und führt sehr gut inkrementelle Sicherungen durch. Beim Ausführen einer Teilsicherung kann das Kopieren unveränderter Teile der Datei übersprungen werden.

Wenn Sie ein Dateisystem mit Datenbankdatendateien sichern, prüfen Sie die Unterstützung für Hot-Backups.

BillThor
quelle
Gute Punkte über die Verwendung höherer Ebene Tools - tar, cpiound rsyncalle Arbeiten im Dateisystem , so dass dies angemessen ist. dd, OTOH, arbeitet direkt mit Plattenblöcken unter Umgehung des FS.
Piskvor
16

Es ist technisch möglich (wie bei "Sich selbst in den Fuß schießen"), jedoch äußerst ungünstig, insbesondere wenn eine der Partitionen der Festplatte beschreibbar ist.

Stellen Sie sich dieses Szenario vor:

  • dd Beginnt am Anfang, die CD zu lesen, und macht sich lustig auf den Weg zum Ende.
  • Auf halber Strecke schreibt das Betriebssystem eine Datei auf die Festplatte. Die Datei ist jedoch etwas fragmentiert - ein Teil befindet sich physisch am Anfang der Festplatte und ein anderer Teil am Ende.
  • Für das Betriebssystem kein Problem - die Datei wird einwandfrei geschrieben und aus den Schreibcaches entfernt. es ist jetzt korrekt auf die Platte geschrieben.
  • Das Problem liegt bei Ihrer Sicherung: ddDer erste Teil der Datei wurde bereits kopiert, sodass beim zweiten Teil ein inkonsistenter Status erfasst wird - jeder Teil stammt aus einer anderen Version!

Wenn Sie in der Lage sind, alle Partitionen auf dem USB-Datenträger schreibgeschützt erneut bereitzustellen, sollte dieses Problem nicht auftreten (Betonung auf " sollte nicht"). Dies erfordert jedoch /umfangreiche Vorbereitungen für die Installation / Offline-Installation und das Einrichten der Startzeit für die Partition. Ich glaube, Sie können /R / O normalerweise nicht on-the-fly erneut einbinden Zugriff.

Wenn Sie die Kopie ausführen, wird das ausgeführte System wahrscheinlich nicht beschädigt, Sie erhalten jedoch keine funktionsfähige Sicherung , sodass die Aufgabe nicht mehr ausgeführt werden kann. Ich empfehle dringend, die Kopie offline zu erstellen - dies würde das Herunterfahren des Computers erfordern.

Piskvor
quelle
1
Vielen Dank für eine großartige Antwort, ich hatte auf einen einfachen Ausweg gehofft, aber Sie haben Recht, ich kann mir kein gutes Szenario vorstellen, das sich aus dem ergibt, was Sie angesprochen haben.
Stuart
1
@stuartc: Der FS-Treiber müsste in großem Umfang zusammenarbeiten , um den Kopierprozess über alle Änderungen zu informieren, die seit dem Start des Kopiervorgangs vorgenommen wurden, und ob er einen konsistenten Zustand erreicht. Wenn dies ein schwerwiegendes Problem darstellt, suchen Sie nach Dateisystemen, die Snapshots unterstützen, z btrfs.
Piskvor
4

Sie sollten niemals ein Image einer gemounteten Partition erstellen. Egal, ob Sie davon gebootet haben oder nicht.

Es fällt Ihnen jedoch schwer, die Partition, von der Sie gebootet haben, zu deaktivieren.

Der Hochstapler
quelle
4

Dafür verwende ich dump(8)auf FreeBSD. Z.Bdump -auLf /mnt/some-other-disk/root.dmp /

Die -LOption ermöglicht das Kopieren eines Live-Dateisystems durch Erstellen eines Schnappschusses.

Die Dumps können mit wiederhergestellt werden restore(8).

Es funktioniert möglicherweise nur mit UFS. Ich bin mir darüber nicht sicher.

maxelost
quelle
0

Es ist erstaunlich, wie viele Sicherungstipps Folgendes nicht erwähnen:

Das Linux-System (und die meisten Multithread-Betriebssysteme) müssen während des Sicherns und Wiederherstellens im Ruhezustand sein.

Dies lässt sich am einfachsten erreichen, indem Sie kein Betriebssystem ausführen, während Sie versuchen, ein Image davon zu erstellen.

Zum Sichern und Wiederherstellen kann es gemountet werden und muss es wahrscheinlich auch sein, aber nicht vom laufenden Betriebssystem als Root (/).


Grund: In jedem Multitasking-Betriebssystem, einschließlich Linux, werden gleichzeitig Codethreads ausgeführt, die sich auf Dateien auswirken. Dies macht es unmöglich, systemweit genaue Dateisatzsicherungen oder -wiederherstellungen durchzuführen.

Insbesondere kann es beim Abrufen von Dateien zu einer anderen Aufgabe kommen, Dateien zu erstellen oder zu löschen, sodass Ihre Sicherung zu keinem Zeitpunkt ein echtes und genaues Abbild des Dateisystems darstellt. Wenn Sie versuchen, diese Sicherung wiederherzustellen, kommt es zu einer Beschädigung der Daten, die zu Abstürzen und anderen Anomalien führt.


Optionen: Backups müssen entweder von einer speziellen Software und / oder von einem Festplattensystem (wie z. B. Acronis unter Windows, mit dem ein laufendes Betriebssystem gesichert werden kann) oder von einem externen sekundären Betriebssystem durchgeführt werden, das auf die Dateien des nicht laufenden Betriebssystems zugreift, die Sie versuchen sichern oder wiederherstellen.

!!! Wenn Sie also Webseiten sehen, auf denen Sie aufgefordert werden, Deja-dup zu verwenden, um beispielsweise Ihre Backups zu erstellen, funktioniert dies nur für /homeund NUR dann, wenn Sie keine Programme ausführen, die Auswirkungen haben, /homewährend Sie deja-dup ausführen. (Und selbst dann möchten Sie möglicherweise die Daumen drücken, es sei denn, Sie wissen wirklich, was möglicherweise Ihre Dateien über einen Daemon berührt.)

Elliptische Ansicht
quelle
0

Ich mache dies bereits mit Erfolg in einer Testumgebung, mit fsck und rsync am Ende, um die Chancen auf eine gute Gerätekopie zu verbessern.

Joao
quelle
1
Können Sie erklären, wie Sie rsynceinen Speicherauszug für die gesamte Festplatte (das gesamte Dateisystem) verbessern, mit dem Sie ihn erstellt haben  dd? (Und wenn Sie Zugriff auf haben rsync, warum sollten Sie es dann nicht einfach als primäres Sicherungswerkzeug und nicht als sekundäres Sicherungswerkzeug verwenden?) Bearbeiten Sie  Ihre Antwort, um sie klarer und vollständiger zu gestalten.
Scott