Schwerpunkt Partclone/​Rsync

System-Backup mit Partclone und Rsync​ Blankes Metall

Ein Backup der persönlichen Ein Backup der im Home-Verzeichnis vorher. Es gibt unter keine undoku- ­gespeicherten Daten zu erstellen, fällt mentierten Fallstricke oder gar Features Daten im Home-Verzeichnis leicht: Im Prinzip genügt es, die relevan- wie die Windows-Software-Aktivierung, ten Dateien auf einen zweiten Datenträ- die auf neuer Hardware ihre Gültigkeit sollte für jeden Anwender ger zu kopieren. Ein Backup der Root- verlieren könnten. Partition, also des Linux-Systems selbst, Selbst dem Klonen einer bestehenden zum Pflichtprogramm gehö- erfordert hingegen wesentlich mehr Installation auf einen anderen Computer ­Aufwand: Hier spielen Feinheiten wie steht nichts im Weg: Linux scannt die ren. Doch auch das System ­Extended Attributes  des Dateisystems Hardware beim Booten jedes Mal neu eine Rolle. und lädt die nötigen Kernel-Module. Le- kann man für den Fall der Doch ein solches System-Backup funk- diglich um die Datei /etc/fstab, in der Fälle sichern. Peter Kreußel tioniert unter Linux zuverlässig. Wenn Sie die beim Booten aktivierten Festplatten- eine exakte Kopie der Systempartition partitionen stehen , um Grafikkarten- auf eine neue Festplatte spielen und den treiber oder um manuelle Anpassungen Bootloader (etwa Grub) korrekt einrich- im Verzeichnis /etc/udev müssen Sie ten, dann bootet das System wieder wie sich gegebenenfalls noch kümmern.

README Backup-Ziel mounten

Das Übertragen des kompletten Systems Das Kommando aus der ersten Zeile von Device-Files. Linux-typische NFS-Freigaben von einem defekten auf einen neuen Rech- Listing 2 macht die erste Partition des (serverseitig in der Datei /etc/exports zweiten Speichergeräts ( ) auf dem freigegeben ) mounten Sie als Root wie ner heißt Bare Metal Recovery. Das Kern- sdb1 Rechner unter /mnt/Verzeichnis in der zweiten Zeile gezeigt: Auf die IP des stück der Technik bildet ein Backup der Sys- verfügbar. Die Ausgabe des Kommandos Servers folgt auf einen Doppelpunkt das tempartition, mit dessen Hilfe sich der Sta- lsblk oder das grafische Werkzeug freigegebene Verzeichnis und ein Ordner auf tus quo jederzeit wiederherstellen lässt. GParted helfen beim Finden des richtigen dem lokalen Rechner als Einhängepunkt.

18 www.linux-user.de 06.2019 Partclone/​Rsync Schwerpunkt

Aus eigener Kraft Dieser Aufwand bleibt Ihnen erspart, wenn Sie den Rsync-Ansatz aus dem lau- fenden System heraus wählen. Das Ver- fahren birgt allerdings den Nachteil, dass Rsync keine konsistenten Systemzustän- de garantieren kann: Es arbeitet einfach eine zu Beginn erstellte Liste ab. Sollte gerade zum Zeitpunkt des Kopierens ein Systemdienst ins Verzeichnis /­var/lib/ schreiben, besteht die Möglichkeit, dass Datenmüll ins Backup gelangt. Zwar tritt dieser Fall in der Praxis eher selten auf, doch sollten Sie ihn ausschlie- ßen, indem Sie mit dem Befehl system‑ ctl isolate rescue.target in den Res- cue-Modus wechseln, was bei jeder Dis- tribution mit Systemd funktioniert. Nach Drücken der Eingabetaste landen Sie auf einer Textkonsole, die zum Absetzen des für das Backup erforderlichen Rsync-Be- fehls jedoch ausreicht 2. Im Rescue-Modus laufen typische Sys- © Tomasz Wyszolmirski, 123RF Wyszolmirski, © Tomasz temdienste wie etwa Datenbanken oder

Es gibt zwei Spielarten des System-Back- ups: das Sichern aus dem laufenden Sys- tem, für das hier Rsync  zum Einsatz kommt, und den klassischen Ansatz, bei dem Sie aus einem Live-System heraus eine Image-Datei des nicht gemounte- ten Roots erstellen. Dafür eignet sich das freie Tool Partclone hervorragend 1. Jedes Live-System einer gängigen Dis- tribution und auch das mit der Option Rescue System gestartete Rettungssys- tem auf der OpenSuse-Installations-DVD eignen sich dafür. Partclone ist zwar oft nicht vorinstalliert, doch in den Reposito- ries verfügbar und lässt sich (zumindest bei bestehender Internet-Verbindung) leicht ins System nachin­stallieren (Lis- ting 1). Möchten Sie die Festplatte vor dem Wiedereinspielen partitionieren, ­installieren Sie auch noch GParted. 1 Mit der Installation von Partclone verwandeln Sie ein herkömmliches Ubuntu-Live- System in eine perfekte Plattform zum Sichern oder Klonen eines Linux-Systems.

Listing 1 Listing 2 $ sudo add‑apt‑repository universe # mount /dev/sdb1 /mnt/Verzeichnis

$ sudo apt install partclone # mount Server‑IP:/Freigabe /mnt/Verzeichnis

06.2019 www.linux-user.de 19 Schwerpunkt Partclone/​Rsync

Der Schalter ‑‑delete löscht die im 2 Im Rescue-Mo- Root-Verzeichnis nicht mehr vorhande- dus von Linux sehen nen Dateien im Backup (was erst greift, Sie nur noch eine wenn Sie mehrfach dasselbe Backup-Ver- einzige Textkonsole. zeichnis benutzen). Dann benötigt die Systemdienste, die ­Sicherung wesentlich weniger Zeit. Die durch Schreibzu- letzten beiden Parameter benennen das griffe während des Quellverzeichnis (das Wurzelverzeichnis Backups Probleme / des Dateisystems) sowie das Zielver- verursachen könn- zeichnis des Backups. ten, sind stillgelegt. Die Liste hinter ‑‑exclude schließt Pseudo-Verzeichnisse wie /dev aus, die Linux dynamisch erzeugt, und weitere Ordner, die nichts in einem Backup ver­ loren haben. Der gezeigte Aufruf igno- riert außerdem auch die Home-Verzeich- nisse der Benutzer: Diese Daten sollten Sie gesondert (und häufiger) sichern. Rsync erhält, anders als ein normaler ­Cp-Befehl, die ­erweiterten Attribute der Dateien. Da­rum, und weil es aus früheren 3 Dank der Option ‑‑info=progress2 zeigt Rsync während des Backups zumindest ei- Backups schon existierende Dateien nen ungefähren Fortschrittsprozentwert, auch wenn er nicht immer gleichmäßig weiter- nicht erneut kopiert, ist es das richtige läuft und manchmal sogar zurückspringt. Tool für Root-Backups. Um ein Backup zurückzuspielen, ver- tauschen Sie im Rsync-Aufruf lediglich Webserver nicht. Allerdings kappt der zeichnis an, denn Rsync legt die Daten Ziel und Quelle, also die letzten beiden Rescue-Modus auch die Netzwerkverbin- direkt im angegebenen Zielordner ab. Parameter. Lässt sich das System booten dung, die Sie brauchen, um Ihr Backup Überspielen Sie regelmäßig Backups und nehmen Sie das Restore aus dem auf einen anderen Rechner zu überspie- auf einen zweiten Rechner, sollten Sie laufenden System heraus vor, dann soll- len. Die Eingabe von systemctl start dort den Rsync-Daemon einrichten (Kas- ten Sie wie beim Erstellen des Backups NetworkManager stellt zumindest kabel- ten Rsync-Daemon): Er sorgt für eine we- zuvor in den Rescue-Modus wechseln. gebundene Verbindungen wieder her. sentlich bessere Performance als beim OpenSuse installiert auf Desktop-PCs Einhängen eines entfernten Verzeichnis- Bare Metal statt des NetworkManagers Wicked ; ses per NFS oder Samba. der äquivalente Befehl lautet hier sys‑ Das mit Rsync erstellte Backup taugt temctl start wicked. Exakte Kopie aber auch zum Wiederherstellen eines Da ein defektes Netzteil im schlimms- nicht mehr bootenden Systems: Starten ten Fall sämtliche Hardware eines Com- Befindet sich der Rechner im Rescue-­ Sie dazu die Live-Disk einer beliebigen puters außer Gefecht setzt, empfiehlt Modus und steht ausreichend Platten- Linux-Distribution, mounten Sie das zu sich der Einsatz eines zweiten Rechners platz für das Backup bereit, dann brau- restaurierende Root in ein Verzeichnis, als via Netzwerk adressiertes Backup- chen Sie nur noch als Root den eigent­ und nennen es Rsync mit dem letzten Ziel. Alternativ schließen Sie eine externe lichen Rsync-Befehl (Listing 5) abzuset- Parameter als Restore-Ziel. USB-Festplatte oder einen ausreichend zen 3. Er synchronisiert das Root-Ver- Spielen Sie das Backup auf eine neue dimensionierten USB-Speicherstick für zeichnis (erster Parameter / nach der Platte oder sogar einen anderen Rechner das Backup an. ­exclude-Liste) mit dem Backup-Ordner. zurück, dann müssen Sie vorher die Sorgen Sie nun dafür, dass das Zielver- Die Optionsfolge ‑aAX schaltet Rsync Platte(n) partitionieren. Entweder teilen zeichnis für das Backup erreichbar ist, in- in den sogenannten Archive-Modus, der Sie sie so auf, dass die wiederhergestellte dem Sie zum Beispiel die externe Fest- den ursprünglichen Dateieigentümer so- Datei /etc/fstab zu den neu erstellten platte mounten (Kasten Backup-Ziel wie Zugriffsrechte und Zeitstempel er- Partitionen passt, oder Sie öffnen die mounten) – das erfolgt in der Rescue- hält. A kopiert die über die klassischen Fstab in einem Editor und passen sie den Umgebung nicht wie unter KDE oder Unix-Zugriffsrechte hinausgehenden neuen Gegebenheiten an. Einer der gro- Gnome automatisch. Legen Sie für das ACLs , X erhält die schon erwähnten ßen Vorzüge des Backups mit Rsync: Par- Backup ein eindeutig benanntes Ver- Extended Attributes. titionsaufteilung und Dateisystemtyp

20 www.linux-user.de 06.2019 Partclone/​Rsync Schwerpunkt

müssen nicht mit dem ursprünglichen ren 1 und das Tool mit den passenden Layout übereinstimmen, solange für das Parametern auf der Konsole aufzurufen. Zurückspielen genug Platz bereitsteht. Auch wenn es etwas mehr Aufwand Auf einer neuen Festplatte oder SSD bedeutet, bevorzugen Experten das müssen Sie außerdem den Bootloader Backup eines Linux-Systems aus einer (in der Regel Grub) wieder installieren . ­externen Umgebung heraus gegenüber Ein Problem, das sich mit den im Internet jenem aus dem laufenden System: Die zu findenden oft älteren Anleitungen Systempartition ist in diesem Fall nicht nicht immer lösen lässt, stellt die Grub- aktiv, was korrumpierende Schreibzugrif- Installation auf einer unvorbereiteten fe ausschließt. Partclone prüft außerdem Festplatte mit einer Größe von über vor der Image-Erstellung das Dateisys- 2 GByte dar. tem, was ebenfalls nur in ausgehängtem Der BIOS-Kompatibilitätsmodus (CSM) Zustand funktioniert. neuerer UEFI-Rechner erfordert dazu Ähnlich wie das bekanntere und ältere eine 1 bis 2 MByte große Partition, die greift Partclone unterhalb der Datei- die Markierung bios_grub (Rechtsklick systemebene auf die physikalischen Sek- auf die Partition, Manage Flags | Markie- toren der Platte zu. Als Quellpfad erwar- rungen bearbeiten) trägt 4. Im UEFI-­ tet es daher keinen Dateisystempfad wie Modus ist dagegen eine rund 250 MByte / , sondern ein Unix-Device-File aus dem große FAT32-Partition vonnöten. Ein sehr /­dev-Verzeichnis. Am einfachsten finden umfangreicher Artikel zu Grub im eng- Sie das passende Device während des lischsprachigen Arch-Wiki  spielt alle laufenden Systems heraus, also vor dem diese Varianten durch. Booten des Live-Mediums, indem Sie auf der Konsole findmnt / eingeben. Hilfssystem Die zweite Spalte des ausgegebenen Texts (Listing 6) nennt das zum Root- Wie beim Restore eines nicht mehr star- Dateisystem gehörige Device-File /dev/ tenden Systems nutzen Sie für das Erstel- sda1, die dritte den Dateisystemtyp , len eines Root-Snapshots ein Live-Sys- den Sie ebenfalls benötigen. Befinden tem: Partclone funktioniert grundsätzlich Sie sich bereits im Live-System, dann nur mit nicht gemounteten Dateisyste- ­in­stallieren und starten Sie GParted 4 men, und das Root-Dateisystem lässt sich oder führen als Root auf der Konsole im laufenden Betrieb nicht aushängen. fdisk ‑l aus. Beide Programme listen Nach dem Booten des Live-Systems brau- die Partitionen aller Festplatten. chen Sie nur noch Partclone zu in­stal­lie­ Haben Sie während der Installation des Systems die Vorgaben des Installers Listing 3 übernommen, dann handelt es sich bei [backup] Rsync-Daemon der Root-Partition meist um die erste path = /data/backup Partition, abgesehen von einer eventuell Der Rsync-Daemon stellt bestimmte Ver- für Grub angelegten. Im Zweifelsfall hän- read only = no zeichnisse zur Synchronisation mit einem gen Sie die Partition als Root mit mount anderen Rechner im Netzwerk zur Verfü- /­dev/sda1 /mnt ein und prüfen mit ls gung. Diese Shares tragen Sie in der Datei /­mnt, ob sich für die Systempartition Listing 4 /etc/rsyncd.conf in der in Listing 3 ­typische Ordner finden, wie etwa /usr gezeigten Form ein. In den eckigen Klam- # rsync Optionen / rsync://root@ oder /dev/. In den Root-Account des mern steht der Name der Freigabe. Mit Server‑IP:Share Live-Systems wechseln Sie durch Einga- dieser synchronisieren Sie das Root-Ver- be des Kommandos su ohne Passwort. zeichnis über den Aufruf aus Listing 4: Nach der Angabe für das Rsync-Protokoll steht die IP-Adresse des Servers, auf einen Listing 5 Doppelpunkt folgt anschließend der Share-Name. Die Optionen für ein Root- # rsync ‑aAX ‑‑info=progress2 ‑‑delete ‑‑exclude={"/dev/*","/proc/*","/ Backup verändern sich im Vergleich zum sys/*","/tmp/*","/run/*","/home/*","/mnt/*","/media/*","/lost+found"} / lokalen Rsync nicht. /Ziel/Backup‑Ordner

06.2019 www.linux-user.de 21 Schwerpunkt Partclone/​Rsync

Ein Äquivalent zum Rsync-Daemon gibt es bei Partclone nicht; das Zieldateisys- tem für die Backup-Daten muss lokal ver- fügbar sein. Als einfachste Option bietet sich auch hier wieder der Einsatz einer externen Festplatte an. Alternativ mounten Sie zum Ablegen des Backup-Images die Home-Partition, jede beliebige Festplattenpartition, au- ßer der Root-Partition, oder ein per NFS freigegebenes Dateisystem (vergleiche Kasten Backup-Ziel mounten).

Kompakt verpackt

Mit den Angaben für das Device-File und den Dateisystemtyp der Root-Partition rufen Sie nun Partclone als Root auf, im Beispiel aus Listing 7 für ein Ext4-Datei- system. Das Partclone-Paket enthält ge- sonderte Binaries für die gängigen Datei- systeme wie partclone. oder partclone.xfs, die alle identische Para- 4 Auf nach dem GPT-Standard partitionierten Platten braucht Grub eine spezielle meter erwarten. kleine Partition, die sich mit GParted einfach anlegen lässt. Die Angabe /dev/sda1 nach dem Pa­ rameter ‑s für die Quelle ersetzen Sie durch das Device-File der in Ihrem Sys- Bei Partclone geht dem eigentlichen tem vorhandenen Root-Partition. Die Backup der Daten ein Check auf Dateisys- Option ‑c wie „clone“ legt die Daten der temebene voraus, der unbelegte Blöcke gesicherten Partition in einer einzigen ausfiltert, während Dd blind jeden Block Image-Datei ab, statt sie wie Rsync eins in das Image schreibt. Mit Dd erstellte zu eins zu kopieren. Die Option N schaltet Images fallen daher so groß aus wie das die übersichtliche Ncurses-Oberfläche gesamte Dateisystem, während die Grö- von Partclone ein 5. Auf ‑o („output“) ße von mit Partclone erstellten Sicherun- folgt der Zielpfad für das Backup-Image. gen nur den belegten Platz widerspie- Nach dem Abschluss des Backups gelt. Das spart beim Backup und der Wie- ­verschwindet die farbige Ncurses-Ober- derherstellung Speicherplatz und Zeit. fläche von Partclone. Auf der Konsole verbleibt lediglich die Meldung Cloned successfully, sofern alles geklappt hat. Listing 6 Wie Sie in Abbildung 5 sehen können, dauert das Ziehen einer Image-Datei von TARGET SOURCE FSTYPE OPTIONS der 8,7 GByte großen Root-Partition ei- / /dev/sda1 ext4 rw,relatime,errors=remount‑ro ner Kubuntu-Standard-Installation nur wenige Minuten.

Listing 7 Listing 9 # partclone.ext4 ‑cN ‑s /dev/sda1 ‑o /Ziel/Image.img 01 # resize2fs /dev/sdaX 02 # mount /dev/sdaX /mnt Listing 8 03 # btrfs filesystem resize max /mnt # partclone.ext4 ‑rN ‑s /Quelle/Image.img ‑o /dev/sda1 04 # xfs_growfs /mnt

22 www.linux-user.de 06.2019 Partclone/​Rsync Schwerpunkt

Bei größeren Root-Dateisystemen be­ Fazit und Ausblick nötigt allerdings die erste Phase, in der Partclone belegte und freie Festplatten- Ein System-Backup versetzt Sie in die blöcke voneinander trennt, einige Zeit. Lage, schnell wieder weiterzuarbeiten, Partclone hängt während dieser Zeit selbst wenn das Root-Dateisystem be- scheinbar bei der Meldung Calculating schädigt wurde – egal, ob durch einen Bitmap – lassen Sie dem Programm ein unbedachten Rm-Befehl, wegen eines wenig Zeit für seine Arbeit. Plattenausfalls oder eines misslungenen Zum Wiederherstellen des Backups Upgrades. Aus dem laufenden System im Live-System führen Sie als Root den heraus gelingt das mit Rsync erstaunlich Befehl aus Listing 8 aus. Wie zuvor müs- einfach. Den sperrigen Aufruf des Tools sen Sie hier gegebenenfalls statt part‑ verpacken Sie am besten in ein Skript. clone.ext4 wieder die zum Dateisystem Benutzen Sie ein Live-Medium als passenden Variante wählen. Die Option Backup-Plattform für Partclone, dann ‑r stellt eine Partition aus einer Image- müssen Sie den Konsolenbefehl jedes Datei wieder her. Als Quelle („source“, ‑s) Mal neu tippen: Ein Live-System startet dient hier die vorher gezogene Image- als Tabula Rasa. Alternativ installieren Datei, als Output (‑o) das Device-File des Sie daher ein kleines Rettungssystem Root-Dateisystems, das Sie schon für das auf Ihrem Rechner, zum Beispiel auf Ba- Backup ermittelt hatten. sis der Server-Ausgabe von Ubuntu  Partclone verhält sich beim Wieder­ oder eines OpenSuse-Systems mit der herstellen weniger flexibel als Rsync: Das Installationsoption Server. Da Sie dieses zurückgespielte Dateisystem erhält stets System gerade dann brauchen, wenn dieselbe Größe und denselben Dateisys- die Festplatte oder SSD mit der norma- temtyp wie der Ausgangszustand. Sie len Linux-Installation ausfällt, richten Sie können das Backup also nicht in eine es am besten auf einem anderen Spei- kleinere Partition zurückspielen, selbst chermedium ein: Eine externe Festplat- wenn in der gesicherten Partition viel te bietet dafür bei heutigen Plattengrö- Speicherplatz frei war. Allerdings funktio- ßen ausreichend Platz. (cla/​jlu) n niert es problemlos, das Backup in eine größere Partition zurückzuschreiben und das Dateisystem nachträglich auf die Par- titionsgröße auszudehnen. Für Ext4 erledigt das am ausgehäng- ten Dateisystem der Aufruf aus der ers- ten Zeile von Listing 9. Btrfs- und XFS- Dateisysteme hängen Sie vorher ein (Zei- le 2) und vergrößern sie dann mit dem jeweils für das Dateisystem passenden Kommando (letzte beiden Zeilen). Haben Sie lediglich die Root-Partition wieder- hergestellt, dann brauchen Sie sich um den Bootloader Grub nicht weiter zu kümmern. Nach einem Festplattentausch müssen Sie das neue Laufwerk genauso vorbereiten wie schon beim Backup mit Rsync. Nach dem Restore gilt es dann, auch Grub erneut einzurichten.

Weitere Infos und interessante Links 5 Das Sichern einer Standardinstallation von Kubuntu via Partclone dauert nur wenige Minuten. Diese Zeit sollten Sie sich regelmäßig nehmen, um gegen Datenverluste in der www.​­linux‑user.​­de/​­qr/42755 Systempartition gewappnet zu sein.

06.2019 www.linux-user.de 23