Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:systemsicherung

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
Nächste Überarbeitung Beide Seiten, nächste Überarbeitung
admin_grundlagen:systemsicherung [2019/05/24 10:03]
ingo_wichmann [Sicherung der Dateien]
admin_grundlagen:systemsicherung [2020/03/05 15:48]
stefan_miethke [Bootloader in mbr schreiben]
Zeile 38: Zeile 38:
   scp sicherung.parted root@server:/​mnt/​backup   scp sicherung.parted root@server:/​mnt/​backup
 (( ((
-alternativ+alternativ ​für MSDOS-Partitionstabellen:​
  
   sfdisk -d /dev/sda > sicherung.sfdisk   sfdisk -d /dev/sda > sicherung.sfdisk
   scp sicherung.sfdisk root@server:/​mnt/​backup   scp sicherung.sfdisk root@server:/​mnt/​backup
 +
 +bei GPT-Partitionstabellen eine Warnung der Entwickler vorweg: //As of March 2014 (version 0.8.10), sgdisk should be  considered ​ beta  software.//
 +  ​
 )) ))
 +
 ==== Sicherung LVM Informationen ==== ==== Sicherung LVM Informationen ====
   pvdisplay > sicherung.pvdisplay   pvdisplay > sicherung.pvdisplay
Zeile 69: Zeile 73:
 -> alle persistenten,​ lokalen Dateisysteme müssen gesichert werden, mit Ausnahme von loop-Devices -> alle persistenten,​ lokalen Dateisysteme müssen gesichert werden, mit Ausnahme von loop-Devices
  
-== ext3 / ext4 ==+== ext2 / ext3 / ext4 ==
   tune2fs -l /dev/sdaX > sicherung.ext.sdaX   tune2fs -l /dev/sdaX > sicherung.ext.sdaX
 ((''/​dev/​sdaX''​ ist hier nur ein Beispiel für ein Speichergerät ( Partition, LVM, ...). Liegt das Dateisystem auf einem Logical Volume, dann heißt das Device ''/​dev/​mapper/​xxx''​ oder ähnlich)) ((''/​dev/​sdaX''​ ist hier nur ein Beispiel für ein Speichergerät ( Partition, LVM, ...). Liegt das Dateisystem auf einem Logical Volume, dann heißt das Device ''/​dev/​mapper/​xxx''​ oder ähnlich))
Zeile 104: Zeile 108:
  
 === mit rsync über ssh Dateien kopieren === === mit rsync über ssh Dateien kopieren ===
 +Auf Quell- und Zielsystem muss rsync installiert sein. Alternativ kann man auch [[#​tar_ueber_ssh|tar über ssh]] verwenden. ​
  
 == Debian (ab 8) == == Debian (ab 8) ==
Zeile 130: Zeile 135:
  
 Und dann lautet der Befehl zum Backup: ​ Und dann lautet der Befehl zum Backup: ​
-  rsync -aH --xattrs --acls --numeric-ids --del --rsync-path="​sudo rsync" /​mnt/​system/​ user@zielsystem:/​mnt/​backup/​dateien+  rsync -aSH --xattrs --acls --numeric-ids --del --rsync-path="​sudo rsync" /​mnt/​system/​ user@zielsystem:/​mnt/​backup/​dateien
  
 == SuSE / BTRFS == == SuSE / BTRFS ==
Zeile 136: Zeile 141:
  
 == andere Distributionen (bei denen root ein Passwort hat) == == andere Distributionen (bei denen root ein Passwort hat) ==
-  rsync -aH --acls --xattrs --numeric-ids --del /​mnt/​system/​ root@server:/​mnt/​backup/​dateien+  rsync -aSH --acls --xattrs --numeric-ids --del /​mnt/​system/​ root@server:/​mnt/​backup/​dateien
 (( mehr zu [[rsync]], u.a. wie man hier ''​rsync''​ auch ohne root-Rechte benutzen kann )) (( mehr zu [[rsync]], u.a. wie man hier ''​rsync''​ auch ohne root-Rechte benutzen kann ))
 (( mehr zu [[ssh]] )) (( mehr zu [[ssh]] ))
Zeile 214: Zeile 219:
 ... und laaaange warten ... und laaaange warten
  
-=== auf keinen Fall === +=== Gefahr der Beschädigung der Hardware ​=== 
-  rm -rf ... /+ 
 +Bis Kernel 4.5 ist es möglich, dass durch das Löschen der Dateien unter /​sys/​firmware/​efi/​efivars die UEFI-Firmware beschädigt wird und der Rechner nicht mehr booten kann.  
 + 
 +Daher vorsichtig sein mit  
 +  rm -rf /… 
 + 
 +Mehr dazu bei [[https://​www.heise.de/​newsticker/​meldung/​Linux-rm-rf-soll-keine-UEFI-Systeme-mehr-kaputt-machen-3113433.html|heise]] und im entsprechenden [[https://​git.kernel.org/​pub/​scm/​linux/​kernel/​git/​torvalds/​linux.git/​commit/?​id=0389075ecfb6231818de9b0225d3a5a21a661171|Kernel-Patch]] 
  
-:!: Das hat früher mal Spass gemacht. Heutzutage (Kernel < 3.0 und EFI) kann 
-es leider passieren, dass die EFIVARS gelöscht werden. Danach ist kein 
-Zugriff auf Wechselmedien mehr möglich. :!: 
 ====== Wiederherstellung des Systems ====== ====== Wiederherstellung des Systems ======
 Rettungssystem ( z.B. sysrcd, knoppix ) booten Rettungssystem ( z.B. sysrcd, knoppix ) booten
Zeile 227: Zeile 236:
 Partitionierung anhand der Informationen aus der gesicherten Datei ''​sicherung.parted''​ und/oder gemäß ''​etc/​fstab''​ aus dem Backup wie in [[Partitionierung]] beschrieben anlegen Partitionierung anhand der Informationen aus der gesicherten Datei ''​sicherung.parted''​ und/oder gemäß ''​etc/​fstab''​ aus dem Backup wie in [[Partitionierung]] beschrieben anlegen
  
 +Bitte Typ der Partitionstabelle (''​gpt''​ oder ''​msdos''​) beachten. ​
 ==== Wiederherstellung LVM ==== ==== Wiederherstellung LVM ====
 Partitionierung anhand der Informationen aus der gesicherten Datei ''​sicherung.pvdisplay'',​ ''​sicherung.vgdisplay'',​ ''​sicherung.lvdisplay''​ und/oder gemäß ''​etc/​fstab''​ aus dem Backup wie in [[lvm]] beschrieben anlegen ​ (( Partitionierung anhand der Informationen aus der gesicherten Datei ''​sicherung.pvdisplay'',​ ''​sicherung.vgdisplay'',​ ''​sicherung.lvdisplay''​ und/oder gemäß ''​etc/​fstab''​ aus dem Backup wie in [[lvm]] beschrieben anlegen ​ ((
Zeile 254: Zeile 264:
 oder oder
   mkfs.vfat -i xxxxxxxx /dev/sdaX   mkfs.vfat -i xxxxxxxx /dev/sdaX
-((Eine UUID die von ''​blkid''​ im Format ''​%%UUID="​066B-5CE0"​%%''​ ausgegeben wurde muss ''​mkfs.vfat''​ mit ''​066B-5CE0''​ (also ohne Minus) übergeben werden))+((Eine UUID die von ''​blkid''​ im Format ''​%%UUID="​066B-5CE0"​%%''​ ausgegeben wurde muss ''​mkfs.vfat''​ mit ''​066B5CE0''​ (also ohne Minus) übergeben werden))
 ... ...
  
Zeile 274: Zeile 284:
 ==== Wiederherstellen der Dateien mit rsync über ssh ==== ==== Wiederherstellen der Dateien mit rsync über ssh ====
 ((mehr siehe [[rsync]])) ((mehr siehe [[rsync]]))
-  rsync -aH --acls --xattrs ​ --numeric-ids --del -e ssh root@server:/​mnt/​backup/​dateien/​ /​tmp/​system ​+  rsync -aSH --acls --xattrs ​ --numeric-ids --del -e ssh root@server:/​mnt/​backup/​dateien/​ /​tmp/​system ​
  
 evtl. ACLs und erweiterte Dateisystemattribute berücksichtigen evtl. ACLs und erweiterte Dateisystemattribute berücksichtigen
Zeile 282: Zeile 292:
 )) ))
 === Ubuntu === === Ubuntu ===
-  rsync -aH --acls --xattrs ​ --numeric-ids --del -e ssh --rsync-path="​sudo rsync" user@server:/​mnt/​backup/​dateien/​ /​tmp/​system ​+  rsync -aSH --acls --xattrs ​ --numeric-ids --del -e ssh --rsync-path="​sudo rsync" user@server:/​mnt/​backup/​dateien/​ /​tmp/​system ​
  
 === Wiederherstellen der ACL-Dateirechte === === Wiederherstellen der ACL-Dateirechte ===
Zeile 299: Zeile 309:
   touch /​tmp/​system/​.autorelabel   touch /​tmp/​system/​.autorelabel
  
-===== Bootloader wiederherstellen ​=====+===== Bootfähig machen ​=====
 ==== chroot vorbereiten ==== ==== chroot vorbereiten ====
   mount --rbind /dev  /​tmp/​system/​dev   mount --rbind /dev  /​tmp/​system/​dev
Zeile 313: Zeile 323:
 )) ))
  
-bei UEFI-Systemen:+==== UEFI ==== 
 +(nur bei UEFI-Systemen
 + 
 +=== efivars schreibbar machen ===
   mount -o rw,remount /​tmp/​system/​sys/​firmware/​efi/​efivars   mount -o rw,remount /​tmp/​system/​sys/​firmware/​efi/​efivars
 oder (falls ''/​tmp/​system/​sys/​firmware/​efi/​efivars''​ kein mountpoint ist) oder (falls ''/​tmp/​system/​sys/​firmware/​efi/​efivars''​ kein mountpoint ist)
   mount -t efivarfs efivarfs /​tmp/​system/​sys/​firmware/​efi/​efivars   mount -t efivarfs efivarfs /​tmp/​system/​sys/​firmware/​efi/​efivars
  
-==== Schritte im chroot Zielsystem ​====+=== Schritte im chroot Zielsystem ===
   chroot /tmp/system /bin/bash   chroot /tmp/system /bin/bash
  
-Bootloader wiederherstellenentweder ​grub2 oder grub+=== EFI Variablen schreiben === 
 +  efi_label='​Name der Distribution'​ 
 +  distro='​DISTRIBUTION'​ 
 +  boot_device='/​dev/​sda'​ 
 +  esp_partition_id=2 
 +  efibootmgr --create --disk "​$boot_device"​ --part "​$esp_partition_id"​ --label 'UEFI OS' --loader '​\EFI\BOOT\BOOTX64.EFI'​ 
 +  efibootmgr --create --disk "​$boot_device"​ --part "​$esp_partition_id"​ --label "​$efi_label"​ --loader '​\EFI\$distro\SHIMX64.EFI'​ 
 + 
 +=== Grub2 konfigurieren === 
 + 
 +In CentOS 8 BLSCFG abschalten: 
 +<file txt /​etc/​default/​grub>​ 
 +… 
 +GRUB_ENABLE_BLSCFG=false 
 +… 
 +</​file>​ 
 +TODO: Lösung mit BLSCFG finden 
 + 
 +== CentOS == 
 +  ​grub2-mkconfig -o /​boot/​efi/​EFI/​$distro/​grub.cfg 
 + 
 +== Debian, Ubuntu == 
 +  dpkg-reconfigure grub-efi-amd64 
 +oder 
 +  update-grub2 
 + 
 +=== EFI Variablen prüfen === 
 +  efibootmgr -v 
 + 
 +  * Partition unique GUID: muss zur ESP Partition passen 
 +  * The path of the EFI image to boot must use \ (backslash) instead of / (forward slash) as path separator. 
 + 
 +==== BIOS: Bootloader in mbr schreiben ==== 
 +(nur bei BIOS-Systemen) 
 + 
 +=== Schritte im chroot Zielsystem === 
 +  chroot /tmp/system /bin/bash
  
 === grub2 wiederherstellen === === grub2 wiederherstellen ===
-== Debian 6.0, Ubuntu 16.04 ==+== Debian ​(ab 6.0), Ubuntu ​(ab 16.04==
   grub-install /dev/sda   grub-install /dev/sda
   update-grub2   update-grub2
Zeile 372: Zeile 421:
 //If you are using gdisk, set the partition type to ‘0xEF02’. With partitioning programs that require setting the GUID directly, it should be ‘21686148-6449-6e6f-744e656564454649’. //)) //If you are using gdisk, set the partition type to ‘0xEF02’. With partitioning programs that require setting the GUID directly, it should be ‘21686148-6449-6e6f-744e656564454649’. //))
  
 +==== /boot auf separater Partition ====
 +Bei Debian mit UEFI anpassen: ''/​boot/​efi/​EFI/​debian/​grub.cfg''​
 ==== Bootloader grub ==== ==== Bootloader grub ====
 ''/​boot/​grub/​menu.lst''​ : ''/​boot/​grub/​menu.lst''​ :
Zeile 408: Zeile 459:
 ==== Kernel-Module und initrd ==== ==== Kernel-Module und initrd ====
 Je nach Änderung muß eine neue [[admin_grundlagen:​initrd|initrd]] erzeugt werden und/oder die bei Booten geladenen Module müssen überarbeitet werden Je nach Änderung muß eine neue [[admin_grundlagen:​initrd|initrd]] erzeugt werden und/oder die bei Booten geladenen Module müssen überarbeitet werden
 +
 +=== dracut (CentOS 8) ===
 +in der chroot-Umgebung
 +  dracut --hostonly --persistent-policy '​by-uuid'​ --force /​boot/​initramfs-4.18.0-80.11.2.el8_0.x86_64.img 4.18.0-80.11.2.el8_0.x86_64
  
 === dracut (CentOS 7 / openSuSE 42.1) === === dracut (CentOS 7 / openSuSE 42.1) ===
Zeile 423: Zeile 478:
 ==== tar über ssh ==== ==== tar über ssh ====
 === Sicherung === === Sicherung ===
-  tar cz --numeric-owner --xattrs --acls ​--directory /mnt/system . | ssh nutzer@server "cat > /​mnt/​backup/​sicherung.tgz"​ +  tar cz --numeric-owner ​--sparse ​--xattrs --acls --directory /mnt/system . | ssh nutzer@server "cat > /​mnt/​backup/​sicherung.tgz"​
- +
-Bei älteren Distributionen (SuSE bis SLES 11, Debian bis 7 und sehr alten RedHat) +
-  tar cz --numeric-owner ​--directory /mnt/system . | ssh nutzer@server "cat > /​mnt/​backup/​sicherung.tgz"​+
  
 === Wiederherstellen === === Wiederherstellen ===
-  ssh nutzer@server 'cat /​mnt/​backup/​sicherung.tgz'​ | tar xz --numeric-owner --xattrs --acls --xattrs-include='​*'​ --directory /tmp/system+  ssh nutzer@server 'cat /​mnt/​backup/​sicherung.tgz'​ | tar xz --numeric-owner ​--sparse ​--xattrs --acls --xattrs-include='​*'​ --directory /tmp/system
  
 === Dokumentation === === Dokumentation ===
Zeile 440: Zeile 492:
  
   cd /mnt/system   cd /mnt/system
-  find -xdev -depth -print0 | cpio -o0 --format=crc | bzip2 | ssh nutzer@server 'cat > /​mnt/​backup/​sicherung.cpio.bz2'​+  find -xdev -depth -print0 | cpio -o0 --sparse ​--format=crc | bzip2 | ssh nutzer@server 'cat > /​mnt/​backup/​sicherung.cpio.bz2'​
  
 === Wiederherstellen ===  === Wiederherstellen === 
   cd /tmp/system   cd /tmp/system
-  ssh nutzer@server 'cat /​mnt/​backup/​sicherung.cpio.bz2'​ | bunzip2 | cpio -dumin+  ssh nutzer@server 'cat /​mnt/​backup/​sicherung.cpio.bz2'​ | bunzip2 | cpio -dumin ​--sparse ​
  
 ==== rsync ==== ==== rsync ====
 Auf lokale Platte: Auf lokale Platte:
-  rsync -ax --numeric-ids --del / /​mnt/​usbdisk/​root/ ​+  rsync -a --hard-links --sparse --acls --xattrs ​--numeric-ids --del / /​mnt/​usbdisk/​root/ ​
  
 Übers Netz via ssh: Übers Netz via ssh:
-  rsync -ax --numeric-ids --del -e ssh / server:/​mnt/​backup/​dateien+  rsync -a --hard-links --sparse --acls --xattrs ​--numeric-ids --del / server:/​mnt/​backup/​dateien
  
 Übers Netz via rsyncd: (( erfordert laufenden rsyncd auf dem Zielsystem //server// )) Übers Netz via rsyncd: (( erfordert laufenden rsyncd auf dem Zielsystem //server// ))
-  rsync -ax --numeric-ids --del / server::/​backup/​dateien/​+  rsync -a --hard-links --sparse --acls --xattrs ​--numeric-ids --del / server::/​backup/​dateien/​
  
 ==== Platzsparende Hardlink Backups mit rsnapshot ==== ==== Platzsparende Hardlink Backups mit rsnapshot ====
admin_grundlagen/systemsicherung.txt · Zuletzt geändert: 2024/02/23 17:11 von ingo_wichmann