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/09/26 13:10]
ingo_wichmann
admin_grundlagen:systemsicherung [2020/03/05 15:48]
stefan_miethke [Bootloader in mbr schreiben]
Zeile 73: 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 108: 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 235: 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 262: 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 307: 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 321: 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 380: 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 416: 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 431: 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 448: 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 -aSH --acls --xattrs --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 -aSH --acls --xattrs --numeric-ids --del / 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 -aSH --acls --xattrs --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