Ich habe vor einieger Zeit für einen Kollegen eine Desaster Recovery Anleitung
geschrieben, die hier vielleicht universell hilft. Dabei setzte wir BTRFS als neues Dateisystem ein.
Das hat gerade bei SSD Festplatten massive vorteile.
Besonders die Optinen discard (hat auch ext4 ist pflicht bei ssd) aber im besonderen ssd_spread helfen die Lebensdauer zu verlängern.
Da SSD keine suchzeiten haben, verteilt man mit ssd_pread die Schreib Blöcke zufällig. Verhindert das immer wieder an selber stelle geschrieben wird. Schont SSD Zellen.
Nachdem man das ArchIso auf einen USB Stick geschreiben hat,
ich nehme immer einen recht großen und aktiviere den freien Speicherplatz, der nicht vom image belegt ist mit fdisk. Ein 64GB USB3 Stick hat dann gleich genug Platz zum Sichern eines Systems. 🙂
Die neue Partition sdX3 formatiere ich immer so:
mkfs.btrfs -L JojosStickNrX -d singel -m single -O ^extref,^skinny-metadata /dev/sdX3
So formatiert kann man das BTRFS auch auf älteren Kerneln mounten.
Da SSD Speicherzellen gerne steben und wahrscheinlich das Datei System kompromitieren, oder ein vielleicht ein sehr, sehr
ungünstigen Spannungsausfall ein Dateisystem blockieren können, hat sich diese Prozedur bei unseren vielen Rechnern schon oft bewährt.
Wir nehmen für die Grundinstallation, um die rsync Sicherung - wie von Greg beschrieben - einfacher zu handhaben am liebsten mit "btrfs" Dateisystem vor.
Unser Schema
a. die Festplatten erhalten nur 2 Partitionen.
Daten Größe Platte minus 2mal Ramgröße für den Swap als 2. Partion
mkfs.btrfs -L pcXRoot -d single -m single -O ^extref,^skinny-metadata /dev/sdX1
mkswap -L swap /dev/sdX2
Subpartionen für besondere Anwendungen (/home, /var, Datenbanken) werden eigene Btrfs Subvolumes.
Vorteil dabei, man muss sich nie in der Größe festlegen.
Ersten Task. Sichern, was zu Sichern ist.
Arch Stick Booten.
Backup Partion vom USB Stick nach /backup mounten, hier mit live compression on.
# mkdir /backup
# mount /dev/sda3 /backup -o compress=zlib
Dann das alte System mounten.
Unter Umständen ist es einen gute Idee, das System mit fsck.dateisystemtyp zu checken.
# fsck.ext4 -f -va /dev/DeineAltePartition
Wiederholen für alle Partitionen des Alten Systems.
Falls das klappt, klasse. Halbe Miete.
Anschliessend das Alte System Mounten nach /mnt.
Als nächstes sichern.
Dein system war mit ext4 oder einem anderen nicht btrfs installiert:
Entweder mit rsync - legt die Daten als 1:1 kopie an, würde da eher die Option "--numeric-ids" zufügen.
Oder ein Nicht BTRFS kann man sehr gut mit
# cd /mnt
# find . | cpio -o | bzip2 >/backup/2016-11-06_mein-backup.cpio.bz2
höchst kompakt maximal komprimeiert wegschreiben.
Oder Dein System ist ein BTRFS ohne Subvolumes, dann
# btrfs prop set /mnt ro true # Read Only marken
# btrfs send /mnt | bzip2 >/backup/2016-11-06_mein-backup.btrfs.bz2
Alternativ zum ro setzen müsste auch gehen
# cd /mnt
# btrfs su snap -r . .backup
# btrfs send .backup | bzip2 > /backup/2016-11-06_mein-backup.btrfs.bz2
Vergesse auch die Anderen Partionen nicht!
Das bzip2 stream compression tool ist hockgradigkomprimierend, aber auch langsam.
Sollte aber den USB Stick gerade fix genug bedienen. Alternativ gehen auch gzip, pbzip2.
pbzip2 ist das bzip2 mit multi-cpu. Dann Qualmt die Cpu ...
Das /mnt Dateisystem aushängen.
# umount /mnt
Wenn das Backup erledigt ist, machen wir uns an das Rücksichern und Bootfähig machen des Restaurierten oder geklonten Systemes.
das defekte Dateisystem löschen, sda1 sollte die partition sein:
# wipefs -a /dev/DeinePartition
Neues Dateisystem Schreiben/Erzeugen:
# mkfs.btrfs -L visName -d singel -m single -O ^extref,^skinny-metadata /dev/sdDeinePartition
Neues Dateisystem einhängen (mit den optionen für ssds)
# mount /dev/DeinePartition /mnt -o compress=gzip,relatime,discard,ssd,ssd_spread
Rücksichern:
# bzcat /backup/2016-11-06_mein-backup.btrfs.bz2 | btrfs receive .
oder # bzcat /backup/2016-11-06_mein-backup.cpio.bz2 | cpio -idmv
oder # btrfs su create rootfs
# rsync -aP --numeric-ids /backupt/meinRootSystem/ rootfs/
warten
Wenn fertig, Subvolume umbenennen auf "rootfs"
# mv .backup rootfs
Read-Only vom (snap -r) löschen
# btrfs prop set rootfs ro false
Das neu restaurierte dateisystem aushängen
# cd
# umount /mnt
swap neu schreiben und aktivieren, -L schreibt die Labels der PArtitionen in die fstab.
# mkswap -L swap /dev/DeineSwapPartition
# swapon -L swap
neues RootFS einhängen
# mount /dev/sda1 /mnt -o subvol=rootfs,ssd,ssd_spread,compress=gzip,relatime
fstab neu schreiben,
# genfstab -L /mnt >/mnt/etc/fstab
Boot Umgebung neu schreiben, in der "arch-chroot" umgebung. Wichtig. Das arch-chroot hängt uns alle nötigen device Filesysteme,
tmpfs ein
# arch-chroot /mnt /bin/bash -ls
# pacman --needed -S btrfs-progs
# grub-install /dev/DeineHauptPlatte
# update-initramfs -k all -u
# update-grub
Fertig,
# exit
Arch-Reparatur Stick herunterfahren
# systemctl poweroff
Stick entfernen
System Neustarten, Prüfen
Der Ganze Reparatur sollte ca. 20-45 Min dauern...
Gruß
Jojo
Edith meint - und hat recht - mit code block tags is besser