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
admin_grundlagen:systemsicherung [2019/05/24 10:34]
ingo_wichmann [Löschen des Systems]
admin_grundlagen:systemsicherung [2020/03/05 15:48] (aktuell)
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 231: 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 258: 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 278: 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 286: 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 303: 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 317: 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 376: 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 412: 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 427: 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 444: 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.1558694075.txt.gz · Zuletzt geändert: 2019/05/24 10:34 von ingo_wichmann