Du bist nicht angemeldet.

#1 04.08.2019 16:39:58

Zoniac
Mitglied

[gelöst] Systembackup auf leere Festplatte mittels rsync kopieren

Hallo an alle. Ich beschäftige mich gerade mit dem Thema Systembackup. Dazu gibt es ja mehrere Herangehensweisen. Hier wird gezeigt, wie man ein Systembackup mittels rsync anlegt. Dies habe ich mal gemacht, so dass ich sämtliche Ordner und Dateien meines System in einem Backupordner auf der externen Festplatte kopiert habe. Jetzt ist die Frage, wie ich das ganze auf einer Festplatte, die ich vorher gelöscht habe, wieder zu einem funktionierendem System bekomme. Wenn ich jetzt, wie im Einsteigerguide die Boot-, Swap-, Root- sowie  Home-Partitionen anlege, sprich sda1-sda4 und die Daten via rsync wieder zurück kopiere, bekomme ich das System so nicht gebootet. Muss ich dazu zwangsweise vor dem Kopiervorgang noch den Download per pacstrap durchführen oder geht das auch ohne?

Beitrag geändert von Zoniac (06.08.2019 10:36:08)

Offline

#2 04.08.2019 17:42:17

niemand
Mitglied

Re: [gelöst] Systembackup auf leere Festplatte mittels rsync kopieren

Ohne das Video jetzt gesehen zu haben (wie kommt man eigentlich auf die Idee, potentiellen Helfern zuzumuten, ihre Zeit mit solchem Kram zu verschwenden? Ich meine, wenn man seine eigene Zeit damit verschwenden mag, warum nicht – aber die anderer Leute?): Wenn du die Daten zurückkopiert hast (ob nun mit rsync, oder cp oder was auch immer – ist völlig egal, solange nur die Rechte und Symlinks erhalten bleiben), bootest du anschließend ein Livesystem, konfigurierst und schreibst den Bootloader sowie ggf. fstab passend, und anschließend sollte das System auch wieder booten.

Offline

#3 05.08.2019 09:01:37

HansHiasl
Mitglied

Re: [gelöst] Systembackup auf leere Festplatte mittels rsync kopieren

Hallo Zoniac
Ich mache so was ähnliches seit etwa zwei Jahren (alle paar Wochen) und hatte noch nie ein Problem.
Und das deshalb, weil ich immer eine gewisse Angst habe, dass meine Laptopplatte oder sonst was kaputt geht und ich alles dann neu installieren muss.
Kann man auch als "übertriebene Vorsicht" beschreiben.

Neue oder Backupfestplatte vorbereiten.
Ich mache das immer mit GParted. Der Einfachheit wegen.
Die neue Platte muss die selbe Struktur haben wie die Alte (Partitionstabelle, Dateisystem, Markierungen).
Partitionsgrößen können abweichen. Wichtig ist nur, dass alle Daten darauf Platz haben.

Externe Platte anstecken (ich nutze USB3 mit einem SATA-USB3-Adapter)
System von einem Arch-Installationsstick booten

loadkeys de

Mit

blkid

die Partitionsdaten anzeigen.
Bei mir sieht das so aus:

/dev/sda1: LABEL_FATBOOT="BOOT" LABEL="BOOT" UUID=.................
/dev/sda2: LABEL="ROOT" UUID=.....................
/dev/sda3: LABEL="HOME" UUID=.....................
/dev/sda4: LABEL="SWAP" UUID=.....................
/dev/sdb1: LABEL_FATBOOT="BOOT" LABEL="BOOT" ......................
/dev/sdb2: LABEL="ROOT" UUID=.....................
/dev/sdb3: LABEL="HOME" UUID=.....................
/dev/sdb4: LABEL="SWAP" UUID=...................

Wobei sda die alte Platte und sdb die neue Platte ist.

mkdir /mnt/alt
mkdir /mnt/alt/boot
mkdir /mnt/alt/root
mkdir /mnt/alt/home
mkdir /mnt/neu
mkdir /mnt/neu/boot
mkdir /mnt/neu/root
mkdir /mnt/neu/home
mount -o ro /dev/sda1 /mnt/alt/boot
mount -o ro /dev/sda2 /mnt/alt/root
mount -o ro /dev/sda3 /mnt/alt/home
mount /dev/sdb1 /mnt/neu/boot
mount /dev/sdb2 /mnt/neu/root
mount /dev/sdb3 /mnt/neu/home

Hierbei unbedingt darauf achten, dass Quell-und Ziellaufwerk nicht verwechselt werden.

rsync --numeric-ids --delete -axAhHSP /mnt/alt/boot/ /mnt/neu/boot
rsync --numeric-ids --delete -axAhHSP /mnt/alt/root/ /mnt/neu/root
rsync --numeric-ids --delete -axAhHSP /mnt/alt/home/ /mnt/neu/home

Das Ganze dauert eine Zeit. Je nach dem, welche Hardware vorhanden ist (bei mir alles SSD und USB 3, ca. eine halbe Stunde).
Wenn Du eine komplett neue und leere Platte verwendest, kannst Du die Option --delete auch weglassen.

umount /mnt/alt/boot
umount /mnt/alt/root
umount /mnt/alt/home
umount /mnt/neu/boot
umount /mnt/neu/home
mount /dev/sdb1 /mnt/neu/root/boot

In das kopierte System chrooten und Bootloader installieren (ich verwende bootctl):

arch-chroot /mnt/neu/root/
bootctl --path=/boot install
exit
umount /mnt/neu/root/boot
umount /mnt/neu/root
reboot

Da ich nicht mit UUID arbeite sondern nur mit /dev/sdx ist nichts weiter notwendig.
Ansonsten müssen in der Datei /boot/loader/entries/Arch.conf der neuen Platte die PART-UUID der neuen root-Partition (sda2) eingetragen werden.
Bei anderen Bootloadern (z.B. Grub) kann das anders sein.
Und es müssen in der Datei /etc/fstab der neuen Platte die UUID´s angepasst werden (die UUID´s der alten Platte durch die UUID´s der neuen Platte ersetzen).

Diese Anleitung funktioniert bei mir auf meinem System.

Offline

#4 05.08.2019 10:22:19

Zoniac
Mitglied

Re: [gelöst] Systembackup auf leere Festplatte mittels rsync kopieren

Hallo,

niemand schrieb:

Ohne das Video jetzt gesehen zu haben (wie kommt man eigentlich auf die Idee, potentiellen Helfern zuzumuten, ihre Zeit mit solchem Kram zu verschwenden? Ich meine, wenn man seine eigene Zeit damit verschwenden mag, warum nicht – aber die anderer Leute?):

Tut mir leid, so war es nicht gemeint. Ich möchte natürlich nicht die Zeit von irgendwem verschwenden. Das sollte lediglich zeigen, worauf sich mein Backup bezieht. Aber du hast recht, ich sollte mir die Mühe machen, dies in Zukunft in Textform zu verfassen.

@HansHiasl Wow, vielen Dank für die ausführliche Anleitung! Ich habe es im Prinzip schon vorher so ähnlich gemacht wie du, die neue Festplatte partitionieren und die Backup-Daten kopieren hatte ich schon erledigt. Aber dank deiner Anleitung kam ich zu dem Schluss, dass es z.B. tatsächlich für die Zukunft auch einfacher und übersichtlicher ist, das Backup in den einzelnen Partitionen zu unterteilen, bisher befand sich einfach die komplette root-Struktur in einem großen Ordner. 

Wie dem auch sei, bin ich nach euren Antworten die Sache nochmal komplett durchgegangen und es hat sich herausgestellt, dass der Fehler darin bestand, dass ich den Bootloader nicht erneut konfiguriert hatte. Sprich, ins System chrooten: 

arch-chroot /mnt

dann

grub-install --target=i386-pc /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg

Dann hat es funktioniert und ich konnte in mein altes System booten.
Der fstab-Eintrag war, wie zu erwarten ja noch genau so erhalten und musste nicht neu erstellt werden. Daher frage ich mich, warum der Bootloader neu geschrieben werden muss, wenn er doch auch mit kopiert wurde?

Beitrag geändert von Zoniac (05.08.2019 10:24:39)

Offline

#5 05.08.2019 10:36:55

niemand
Mitglied

Re: [gelöst] Systembackup auf leere Festplatte mittels rsync kopieren

Daher frage ich mich, warum der Bootloader neu geschrieben werden muss, wenn er doch auch mit kopiert wurde?

Der betreffende Teil des Bootloaders befindet sich außerhalb der Datenpartitionen, und wird daher beim Kopieren nicht mitgenommen. Anders sieht’s aus, wenn man das gesamte Laufwerk mit z.B. ›dd‹ sichert – da ist dann alles drin.

Offline

#6 05.08.2019 11:12:20

frostschutz
Mitglied

Re: [gelöst] Systembackup auf leere Festplatte mittels rsync kopieren

Ich mache das fast genauso wie HansHiasl, nur daß die Struktur/Partitionsaufteilung von Quelle und Ziel unterschiedlich sein dürfen und am Ende ein einzelnes `rsync -a /mnt/quelle/ /mnt/ziel/` ausreichend ist.

Das kann man für Backups benutzen oder für jeden sonstigen Systemumzug auf einen neuen PC (rsync geht auch übers Netzwerk), mit neuen Partitionsgrößen, anderen Dateisystemen, RAID, Verschlüsselung, LVM, etc. alles egal - Quelle und Ziel dürfen sich beliebig unterschieden, einzige Voraussetzung ist, daß es auf beiden Seiten passend gemountet wurde und die Dateisysteme jeweils groß genug sind um die Dateien vollständig aufzunehmen.

Partitionen und Dateisysteme sind im Vorfeld anzulegen und Bootloader und UUIDs, mdadm.conf usw. muss man im Anschluss noch von Hand anpassen. Aber wer Arch von Hand frei nach Wiki installiert, der weiß ja auch wie das geht...

Offline

#7 05.08.2019 12:17:52

taumeister
Mitglied

Re: [gelöst] Systembackup auf leere Festplatte mittels rsync kopieren

Hanshiasl schrieb:

...

Mal ne nette und ausführliche Angabe.
Ich mache das prinzipiell genauso und kann bestätigen, dass das funktioniert.
Bei mir ist dann auch egal welche Zielgröße und Dateisystemart dahinter steckt.

Du kannst damit ganz wild von ext4 nach zfs o.ä umziehen. Kein Problem .
Beispielsweise so kannst du auch von einem Quell System in ein neues Zielsystem über ssh kopieren. Sehr lässig...
Aus meinem eigenen Thread

rsync -aAXv --exclude={"/boot","/etc/fstab","/share","/vm","/owncloud","/home/tom/Downloads","/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / -e ssh root@system-mit-live-cd:/mnt/  

Beitrag geändert von taumeister (05.08.2019 12:23:28)

Offline

Schnellantwort auf dieses Thema

Schreibe deinen Beitrag und versende ihn
Deine Antwort

Fußzeile des Forums