Ich stimme einer der vorherigen Antworten zu - das Ausführen von dd auf der gesamten Festplatte ist hier keine gute Lösung. Wenn der Grund, warum Sie bei dd hängen bleiben, damit zu tun hat, ein anderes Betriebssystem zu sichern, dann können Sie dd nur für diese anderen Betriebssystempartitionen und rsync für die Linux-Partitionen verwenden.
Ein Teil des Problems besteht darin, dass es keine Möglichkeit gibt, sicherzustellen, dass die Sicherung konsistent ist, wenn Sie dd auf der gesamten Festplatte ausführen, während Sie Dateisysteme hochgefahren und von ihr gemountet haben. Es kann 9 von 10 Mal funktionieren, aber unter jeder Last könnte das resultierende Backup beschädigt werden. Die einzige Möglichkeit sicherzustellen, dass dies nicht passiert, besteht darin, alle Dateisysteme auszuhängen und alle Volumengruppen für die gesamte Zeit zu deaktivieren, während der dd läuft. Nicht sehr praktisch, wenn Ihr / von LVM gemountet wird.
Wenn Sie darauf bestehen, bei diesem Ansatz zu bleiben, heißt das Tool, nach dem Sie suchen, um eine duplizierte VG umzubenennen, auf jeden Fall "vgimportclone". Es ist für die Verwendung mit Snapshots auf Geräteebene gedacht, funktioniert aber auch mit dd.
Schließe diese Ausgabe nach einem Jahr. Ich habe die Antwort auf meiner persönlichen Website geschrieben. Ich hoffe, es ist für jemand anderen nützlich.
Ich verwende mehrere Sicherungsebenen, von rsync auf eine externe Festplatte bis rsync+ZFS über einen Remote-Computer. Eines der Backups, die ich mache, ist von Zeit zu Zeit ein "dd" von meiner Laptop-Festplatte auf einen externen USB-Anschluss (der nur für die Dauer des Backup-Vorgangs angeschlossen ist). Ich mache das zum Beispiel, bevor ich meinen Laptop mit auf eine Reise nehme.
Dieses Verfahren funktionierte lange gut. Bis ich anfing, LVM auf meinem Laptop zu verwenden.
Wenn Sie LVM auf Ihrem Computer verwenden, kopieren Sie Ihre Festplatte mit dd
(Booten von einer LiveCD) und Sie schließen die externe Festplatte an, während der Computer normal läuft, später, SIE WERDEN IHRE DATEN BESCHÄDIGEN, SOGAR IHR GESAMTES DATEISYSTEM JENSEITS JEGLICHER REPARIERUNG VERLIEREN!!!.
Warum?. Denn wenn Sie die externe Festplatte anschließen, sieht das Betriebssystem auf beiden Festplatten dieselbe LVM-Konfiguration und geht naiv davon aus, dass beide Festplatten gleich sind und über eine Multipath-Verbindung zugänglich sind, sodass Lese- und Schreibvorgänge zwischen beiden Festplatten verteilt werden, wodurch BEIDE unwiederbringlich beschädigt werden. Sie werden sowohl Ihre Live-Daten als auch Ihr Backup zerstören!.
Das ist mir einmal passiert. Ich habe Daten verloren. Ich hatte vor ein paar Tagen andere Backups, also habe ich nichts sehr Wichtiges verloren, aber es war ziemlich ärgerlich und hat einen Fehler in meiner Backup-Strategie aufgedeckt.
Lösung:Stellen Sie sicher, dass die LVM-Konfiguration auf der Sicherungsfestplatte anders ist. Das Problem ist... Wie geht das?
Ich habe die Frage auf superuser.com (Stack Exchange) gepostet, aber ich habe keine gute Antwort bekommen. Also habe ich mein eigenes Verfahren entwickelt und nachdem ich es mehr als ein Jahr lang im Kampf getestet habe, poste ich es hier und schließe die ursprüngliche Frage:
-
Stellen Sie sicher, dass Ihr Computer nicht automatisch startet, wenn etwas schief geht. In meinem Fall bootet mein Laptop nicht automatisch, wenn der Strom aus- und wieder eingeschaltet wird. Außerdem ist die Festplatte verschlüsselt, sodass nach einem Passwort gefragt wird.
Dies ist notwendig, da Sie BEIDE Laufwerke beschädigen können, wenn Sie mit angeschlossenem Backup-Laufwerk neu starten, bevor Sie den Vorgang abgeschlossen haben.
-
Booten Sie von einer Live-CD. Sie können kein "dd" von einer Live-Partition ausführen, wenn Sie erwarten, Ihre Daten wiederherstellen zu können :-).
Etwas, das Sie in Zukunft ausprobieren sollten, wäre die Verwendung von LVM-Schnappschüssen, um die Sicherung durchführen zu können, während ich den Computer verwende, aber dann habe ich das Problem mit doppelten LVMs, das ich hier zu vermeiden versuche. Eine andere Möglichkeit wäre, LVM neu zu konfigurieren, um die Daten live auf die externe Festplatte zu spiegeln, und die Spiegelung zu unterbrechen, nachdem die Synchronisierung abgeschlossen ist. Aber das klingt riskant und würde meine Windows-Partition oder die Daten, die ich nicht in LVM-Volumes behalte, nicht sichern.
-
Schließen Sie nach dem Booten der LiveCD die externe USB-Festplatte an.
-
Melden Sie sich als "root" an und führen Sie
vgchange -a n
aus . Dieser Befehl deaktiviert LVM auf beiden Festplatten. Ich führe den Befehl ein paar Mal aus, um sicherzugehen. -
Seien Sie sicher
/dev/sda
ist die Quelle (interne Festplatte) und/dev/sdb
ist das Ziel (externe USB-Festplatte). Führen Sie zum Beispieldd if=/dev/sdb of=/dev/null
aus und überprüfen Sie, welche Festplatten-LED blinkt. -
Wenn Sie sich sicher sind, welche Diskette welche ist, kopieren Sie mit
dd if=/dev/sda of=/dev/sdb bs=65536
. Bei meiner Konfiguration dauert die Sicherung vier Stunden. Meine interne Festplatte hat 500 GB und mein USB kopiert mit 35 MB/s. Ich mache das nachts, während ich schlafe.Ihre externe USB-Festplatte muss MINDESTENS so groß sein wie Ihre interne Festplatte. Es ist offensichtlich, nicht wahr?
-
Nachdem diese Kopie fertig ist, haben Sie einen exakten Klon Ihrer internen Festplatte. Die Sicherung ist abgeschlossen. Aber jetzt haben Sie ein Problem, wenn Sie jemals diese Festplatte an Ihren Computer anschließen, während Sie mit Ihrer internen Festplatte arbeiten, wie bereits beschrieben. Wir müssen die LVM-Konfiguration ändern.
-
Jetzt, nachdem das "dd" fertig ist, führen Sie "sync" durch und trennen Sie die externe UDB-Festplatte.
-
Sie führen
pvchange --uuid /dev/sda*
aus . Dieser Befehl ändert die UUID aller physischen Volumes auf Ihrer internen Festplatte. Dieser Befehl ist sicher, auch wenn Sie Partitionen haben, die keine physischen Volumes für LVM sind, da sie automatisch und sicher übersprungen werden.Das System weiß aufgrund des Partitionstyps und weil Sie beim Erstellen des LVM "pvcreate" ausgeführt haben, welche Partitionen physische Volumes sind.
-
Sie führen
vgchange -u LVM
aus . Dieser Befehl ändert die UUID der LVM-Volumengruppe. Meine Volume Group heißt übrigens "LVM". -
Sie führen
vgscan
aus . Dieser Befehl scannt die interne Festplatte (die einzige derzeit angeschlossene) und findet dort Ihre LVM-Volumengruppe. -
Sie führen
vgrename LVM LVM2
aus , um den Namen Ihrer Volumengruppe zu ändern. -
Jetzt schließen Sie Ihre externe USB-Festplatte an.
-
Sie "vgscan" erneut, diesmal um die Volume Group auf der externen USB-Festplatte zu lokalisieren. Jetzt haben Sie zwei Volumengruppen. Einer mit dem Namen "LVM2" auf Ihrer internen Festplatte und der andere mit dem Namen "LVM" auf Ihrer externen USB-Festplatte.
-
Benennen Sie die Volume Group auf der externen USB-Festplatte mit
vgrename LVM LVM_BACKUP
um . -
Und benennen Sie die Volume Group auf der internen Festplatte wieder auf den ursprünglichen Namen um:
vgrename LVM2 LVM
. -
Du bist fertig. Sie können die Situation mit
vgdisplay -v
überprüfen .Sie werden sehen, dass die UUIDs der logischen Volumes in beiden Volume-Gruppen gleich sind, aber das scheint kein Problem zu verursachen, und ich weiß nicht, wie ich sie ändern soll.
-
Trennen Sie Ihre externe USB-Festplatte, bewahren Sie sie an einem sicheren Ort auf, starten Sie Ihren Computer neu, werfen Sie die LiveCD aus und machen Sie sich wieder an die Arbeit.