OS

Kubuntu 14.04

Datum

01.01.2016

fsarchiver

Konzept

fsarchiver ist ein Werkzeug mit dem man eine komplettes Linux-Bertriebsystem auf Dateiebene sichern kann.

Im Gegenzug zu den üblichen Tools wie dd werden hier nur Dateien kopiert und keine Informationen zu der Partionierung der Platte. Mann kann also sein Backup auf eine Zielmaschine kopieren deren HDD eine komplette andere Partionierung bzw. Größe hat.

Eignet sich auch sehr gut um z.B eine Musterinstallation auf mehrer USB-Sticks zu klonen

Anwendungsfälle

Sicherung eines (K/X)Ubuntu-Sytems

Anmerkung:

Da bei fsarchiver alle Dateien einer Partition gesichert werden, sollte man bei der Neuinstallation seines Kubuntu-Systems eine separate home-Partion erstellen.

So kann man später sehr schnell eine Sicherungskopie seines Betriebsystems ohne die ganzen Benutzerdaten machen. Die Benutzerdaten selbst können mit einem Dekstop-Programm wie Back in Time gesichert werden.

Beispiel

Wir sichern ein frisch installiertes Kubuntu 14.04 auf einem Standard-Laptopmit mit 4GB Ram einer 500 GB Festplatte. Der User der alle Operationen durchführt heist hier Joe.

Ausgangslage Laptop

Partition

Dateisystem

Größe

Einhängepunkt

/sda1

Ext4

32 GB

/

/sda5

Swap

4 GB

-

/sda6

Ext4

462 GB

/home

Ausgangslage exteren USB-Festplatte

Wir benötigen für die Sicherung noch eine externe Festplatte (1 TB). Sie ist wie folgt partitioniert und im zu sichernden System eingehängt.

Partition

Dateisystem

Größe

Einhängepunkt

/sdb1

Ext4

990 GB

/media/joe/Backup_HDD

Um eine frisch partitionierte externe HDD in der obigen Konfiguration zu erzeugen genügt ein

sudo mkfs.ext4  -m0 -L Backup_HDD /dev/sdb1

Erklärung der Parameter

Parameter

Standardwert

Bemerkung

-m

5%

Reservierter Speicher (in Prozent)

-L

-keiner-

Datenträgerbezeichnung (Label)

Warnung: Bevor ein Kommando wie mkfs.ext4 absetzt wird, muss derjenige sich 100% sicher sein die richtige Festplatte und die richtige Partition zu erwischen. Wer seine eigene Root-Partition formatiert ist verloren !!!

Nach dem Formatieren die Festplatte einmal abstecken und dann wieder an das System hängen. Jetzt sollte in der KDE-Leiste ein externes Medium mit dem Namen Backup_HDD.

Nach dem "Einhängen" müssen noch die Rechte angepasst werden.

sudo chown -R joe:joe /media/joe/Backup_HDD

Verzeichnisse anlegen

Wir legen uns eine Verzeichnisstruktur an in die wir neben den backups des Betriebsystems (OS) auch die Nutzdaten unterbringen können:

mkdir -p /media/joe/Backup_HDD/Backup/OS
mkdir -p /media/joe/Backup_HDD/Backup/Home

Live-Stick booten

Bei der Sicherung eines "eingehängten" Root-FS kann (und wird) es zu Problemen kommen. Systeme wie SELinux (CentOS) und ?AppArmour (Ubuntu) sorgen für zusätzliche Komplexität und können im schlimmsten Falle dazu führen das das Backup korrupt ist.

Wir booten also einen Kubunut 14.04 Live-Stick und installieren auf diesem fsarchiver nach.

sudo -s 
apt-get install fsarchiver 

Dazu müssen wir noch die externe Festplatte einhängen. Sie wird im Live-system unter /media/kubuntu/Backup-HDD sichtbar.

Root-Partition sichern

Wir gehen davon aus das die Festplatte des Laptop unter /dev/sda liegt !

sudo fsarchiver savefs -j2 -z3 /media/kubuntu/Backup_HDD/Backup/OS/20160101_Eri.fsa /dev/sda1

Namensschema: In diesem Beispiel benennen wir die Backup-Datei nach einem festgeselgten Schema

Datum

Name der Maschine

Endung

20160101 (Jahr-Monat-Tag)

Eri (hostname)

fsa

Ein voll installierters Kubuntu 14.04 hat gepackt unter 3 GB an Speicherbedarf.

Einspielen der Sicherung

Ausgangslage:

es genügt das Kommando

fsarchiver restfs -j2 /media/kubuntu/Backup_HDD/Backup/OS/20160101_Eri.fsa id=0,dest=/dev/sda1 

Eventuell ist noch die UUid des Systems anzupassen.

UUID aus fstab auslesen

Hier ein Beispiel für eine fstab mit den alten Werten.

........
# / was on /dev/sda1 during installation
UUID=f3597ac8-367b-49ab-9613-eacf9cd6efe6 /               ext4    errors=remount-ro 0       1
# swap was on /dev/sda5 during installation
UUID=170e393c-80eb-4914-aabc-5ae95c23538f none            swap    sw              0       0
......

Und die UID auf den alten Wert setzten.

sudo tune2fs -U f3597ac8-367b-49ab-9613-eacf9cd6efe6 /dev/sda1 

Kloning

Wir können fsarchiver auch nutzen um von unserer Sicherung sehr schnell einen Klon zu erzeugen. Z.B auf einen USB-Stick, qausi als personaliertes rescue-System.

Prinzip

Das Archiv kann auf eine beliebige Zielpartiion eingespielt werden. fsarchiver sorgt automatisch dafür das auf der Zielpartion das Filesystem der original Partition angelegt wird.

Was benötigen wir sonst noch für einen funtionierendes OS ?

Anpassen der fstab

Da die UUID eindeutig sein soll, gehen wir beim Klonig den Weg, das wir die neuen UUID die von fsarchiver erzeugt wird verwenden wollen. Wir müssen also die Einträge in der /etc/fstab und im Grub anpassen.

Um sich die aktiuellen UUID'S anzeigen zu lassen genügt das Kommando blkid

root@sysresccd:/# blkid 
/dev/loop0: TYPE="squashfs" 
/dev/sda1: UUID="ede52c63-cf0e-4956-8801-fc60099f292e" TYPE="ext4" 
/dev/sda2: UUID="e75ccb57-80f3-429e-a598-7fefb47db271" TYPE="swap" 

Die angebenen Werte müssen nun in die /etc/fstab übertragen werden:

}}}

Anpassen von Grub

Damit das neue System bootbar wird muss auch der Grub von den neuen UUID's Wind bekommen.

Dafür müssen wir in den Chroot-Modus wechseln.

root@sysresccd /root % mkdir /mnt/Linux 
root@sysresccd /root % mount /dev/sda1 -t auto /mnt/Linux 
root@sysresccd /root % mount -o bind /proc /mnt/Linux/proc 
root@sysresccd /root % mount -o bind /dev /mnt/Linux/dev 
root@sysresccd /root % mount -o bind /sys /mnt/Linux/sys
root@sysresccd /root % chroot /mnt/Linux /bin/bash

Jetzt befindet man sich als root in /mnt/Linux und es sieht so aus als ob man unter / steht. Damit kann man das zu transferierende Ubuntu jetzt bearbeiten.

root@sysresccd:/# pwd
/

Jetzt können wir den Grub neu installieren.

root@sysresccd:/# grub-install /dev/sda 
Installation finished. No error reported.

Dokumentation/fsarchiver (last edited 2016-01-23 10:06:39 by jackhammer)