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
Letzte Überarbeitung Beide Seiten, nächste Überarbeitung
admin_grundlagen:systemsicherung [2023/11/10 11:26]
ingo_wichmann [Sicherung der Dateien]
admin_grundlagen:systemsicherung [2024/02/23 17:08]
ingo_wichmann [UEFI]
Zeile 35: Zeile 35:
 Partitionstabelle im Textformat sichern: Partitionstabelle im Textformat sichern:
   sfdisk -d /dev/sda > sicherung.sfdisk   sfdisk -d /dev/sda > sicherung.sfdisk
-  scp sicherung.sfdisk root@server:/​mnt/​backup 
  
 ((bei GPT-Partitionstabellen eine inzwischen veraltete Warnung der Entwickler vorweg: //As of March 2014 (version 0.8.10), sgdisk should be considered beta software.// )) (( ((bei GPT-Partitionstabellen eine inzwischen veraltete Warnung der Entwickler vorweg: //As of March 2014 (version 0.8.10), sgdisk should be considered beta software.// )) ((
Zeile 44: Zeile 43:
  
 Mehr zur Vorgehensweise siehe [[Partitionierung]]. )) Mehr zur Vorgehensweise siehe [[Partitionierung]]. ))
- 
-Ubuntu: 
-  scp sicherung.parted nutzer@server:/​mnt/​backup 
- 
-andere Distributionen (bei denen root ein Passwort hat): 
-  scp sicherung.parted root@server:/​mnt/​backup 
- 
  
 ==== Sicherung LVM Informationen ==== ==== Sicherung LVM Informationen ====
Zeile 241: Zeile 233:
  
 ====== Wiederherstellung des Systems ====== ====== Wiederherstellung des Systems ======
-Rettungssystem ( z.B. sysrcd, knoppix ​booten+Rettungssystem ​booten ​(im Linuxhotel-Netz:​ PXE-Boot und ''​debian11live''​ eingeben)
  
 ===== Schritte im Rettungs-System ===== ===== Schritte im Rettungs-System =====
 ==== Wiederherstellung der Partitionierung ==== ==== Wiederherstellung der Partitionierung ====
-Partitionierung anhand der Informationen aus der gesicherten Datei ''​sicherung.parted''​ und/oder gemäß ''​etc/fstab''​ aus dem Backup wie in [[Partitionierung]] beschrieben anlegen+Partitionstabelle wiederherstellen:​ 
 +  sfdisk ​/dev/sda < sicherung.sfdisk
  
-Bitte Typ der Partitionstabelle (''​gpt''​ oder ''​msdos''​) beachten. ​+(( Alternativ: Partitionierung manuell anhand der Informationen aus der gesicherten Datei ''​sicherung.parted''​ und/oder gemäß ''​etc/​fstab''​ aus dem Backup wie in [[Partitionierung]] beschrieben anlegen 
 + 
 +Typ der Partitionstabelle (''​gpt''​ oder ''​msdos''​) beachten. ​))
 ==== Wiederherstellung LVM ==== ==== Wiederherstellung LVM ====
 In Knoppix muss dazu zuerst lvm2 gestartet werden: In Knoppix muss dazu zuerst lvm2 gestartet werden:
Zeile 253: Zeile 248:
 === mit vgcfgrestore === === mit vgcfgrestore ===
 IDs der Physical Volumes herausfinden:​ IDs der Physical Volumes herausfinden:​
-  less ~/sicherung.vg+  less sicherung.vg
 Physical Volumes anlegen: Physical Volumes anlegen:
   pvcreate -ff --zero y --restorefile ~/​sicherung.vg --uuid xxxxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxxxx /dev/sdaX   pvcreate -ff --zero y --restorefile ~/​sicherung.vg --uuid xxxxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxxxx /dev/sdaX
   ...   ...
 Name der Volume Group herausfinden:​ Name der Volume Group herausfinden:​
-  less ~/sicherung.vg+  less sicherung.vg
 Volume Group und Logical Volumes wiederherstellen:​ Volume Group und Logical Volumes wiederherstellen:​
   vgcfgrestore -f ~/​sicherung.vg centos_notebook17   vgcfgrestore -f ~/​sicherung.vg centos_notebook17
Zeile 288: Zeile 283:
  
 ==== Mounten der Zielpartitionen ==== ==== Mounten der Zielpartitionen ====
-In ''/​mnt/​backup/​dateien/​etc/​fstab''​ aufgeführte Mountpoints mit ''​mkdir ​-p''​ anlegen und Dateisysteme mit ''​mount''​ einhängen: (( evtl. mount-optionen ( z.B. acl ) beachten )) +In ''/​mnt/​backup/​dateien/​etc/​fstab''​ aufgeführte Mountpoints mit ''​mkdir''​ anlegen und Dateisysteme mit ''​mount''​ einhängen: (( evtl. mount-optionen ( z.B. acl ) beachten )) 
 ((''/​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 root-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 root-Device ''/​dev/​mapper/​xxx''​ oder ähnlich))
-  mkdir -p /tmp/system+  mkdir /tmp/system
   mount /dev/sdaX /tmp/system   mount /dev/sdaX /tmp/system
  
-  mkdir -p /​tmp/​system/​boot+  mkdir /​tmp/​system/​boot
   mount /dev/sdaY /​tmp/​system/​boot   mount /dev/sdaY /​tmp/​system/​boot
 und/oder und/oder
-  mkdir -p /​tmp/​system/​boot/​efi+  mkdir /​tmp/​system/​boot/​efi
   mount /dev/sdaZ /​tmp/​system/​boot/​efi   mount /dev/sdaZ /​tmp/​system/​boot/​efi
 und möglicherweise weitere: und möglicherweise weitere:
-  mkdir -p /​tmp/​system/​…+  mkdir /​tmp/​system/​…
   mount …   mount …
  
 ==== Wiederherstellen der Dateien mit rsync über ssh ==== ==== Wiederherstellen der Dateien mit rsync über ssh ====
-((mehr siehe [[rsync]])) 
   rsync -aSH --acls --xattrs --numeric-ids --del root@server:/​mnt/​backup/​dateien/​ /​tmp/​system ​   rsync -aSH --acls --xattrs --numeric-ids --del root@server:/​mnt/​backup/​dateien/​ /​tmp/​system ​
  
-evtl. ACLs und erweiterte Dateisystemattribute berücksichtigen +((mehr siehe [[rsync]])) ​(( Notlösung: Berechtigungen (teilweise) wiederherstellen,​ wenn sie nicht richtig gesichert wurden
-(( Notlösung: Berechtigungen (teilweise) wiederherstellen,​ wenn sie nicht richtig gesichert wurden+
   rpm -qa | xargs rpm --setperms   rpm -qa | xargs rpm --setperms
 Todo: debian? Todo: debian?
Zeile 314: Zeile 307:
   rsync -aSH --acls --xattrs ​ --numeric-ids --del --rsync-path="​sudo rsync" user@server:/​mnt/​backup/​dateien/​ /​tmp/​system ​   rsync -aSH --acls --xattrs ​ --numeric-ids --del --rsync-path="​sudo rsync" user@server:/​mnt/​backup/​dateien/​ /​tmp/​system ​
  
 +++++ ACLs und erweiterte Attribute |
 === Wiederherstellen der ACL-Dateirechte === === Wiederherstellen der ACL-Dateirechte ===
 nur nötig, wenn ''​rsync''​ bzw. ''​tar''​ das nicht kann nur nötig, wenn ''​rsync''​ bzw. ''​tar''​ das nicht kann
Zeile 328: Zeile 322:
 oder oder
   touch /​tmp/​system/​.autorelabel   touch /​tmp/​system/​.autorelabel
 +++++
 ===== Bootfähig machen ===== ===== Bootfähig machen =====
 ==== chroot vorbereiten ==== ==== chroot vorbereiten ====
Zeile 334: Zeile 328:
   mount --rbind /proc /​tmp/​system/​proc   mount --rbind /proc /​tmp/​system/​proc
   mount --rbind /sys  /​tmp/​system/​sys   mount --rbind /sys  /​tmp/​system/​sys
- +  mount --rbind /run  /​tmp/​system/​run 
-(( nicht alle diese Befehle sind in allen Fällen notwendig! grub braucht hauptsächlich /dev, und das ist, wenn man zuvor beim Sichern mit ''​mount --bind''​ gearbeitet hat, schon minimal befüllt. Kann man also weglassen, aber wenn grub meckert, sollte man das versuchen! ​ +((/run ist sinnvoll bei der Verwendung von lvm oder raid)) ​(( nicht alle diese Befehle sind in allen Fällen notwendig! grub braucht hauptsächlich /dev, und das ist, wenn man zuvor beim Sichern mit ''​mount --bind''​ gearbeitet hat, schon minimal befüllt. Kann man also weglassen, aber wenn grub meckert, sollte man das versuchen! )) (( 
-Ich habe es schon erlebt, dass die Datei ''/​etc/​mtab''​ falsche Informationen enthält. Falls das so ist, kann man sie so ersetzen: +=== Alternativ ​mit bind statt rbind ===
-  mv /​tmp/​system/​etc/​mtab ​ /​tmp/​system/​etc/​mtab.bak +
-  cp -a /​proc/​mounts /​tmp/​system/​etc/​mtab +
-Nach dem chroot nicht vergessen, die ''/​etc/​mtab''​ wiederherzustellen:​ +
-  mv /​tmp/​system/​etc/​mtab.bak /​tmp/​system/​etc/​mtab +
-)) +
- +
-(( +
-=== Alternativ ​ohne rbind ===+
   mount --bind /dev /​tmp/​system/​dev   mount --bind /dev /​tmp/​system/​dev
   mount --bind /dev/pts /​tmp/​system/​dev/​pts   mount --bind /dev/pts /​tmp/​system/​dev/​pts
   mount --bind /proc /​tmp/​system/​proc   mount --bind /proc /​tmp/​system/​proc
   mount --bind /sys /​tmp/​system/​sys   mount --bind /sys /​tmp/​system/​sys
 +  mount --bind /run /​tmp/​system/​run
 )) ))
  
-/run ist sinnvoll bei der Verwendung von lvm oder raid 
-  mount --bind /run /​tmp/​system/​run 
-  ​ 
 ==== UEFI ==== ==== UEFI ====
 (nur bei UEFI-Systemen) (nur bei UEFI-Systemen)
Zeile 365: Zeile 349:
   chroot /tmp/system /bin/bash   chroot /tmp/system /bin/bash
  
-=== grub-efi wiederherstellen ===+=== grub-efi ​bzw. efivars ​wiederherstellen ===
  
 Debian: Debian:
Zeile 374: Zeile 358:
   shim-install   shim-install
  
-CentOS8 ​/ Rocky (ab 8):+CentOS ​/ Rocky (ab 8):
  
 ''​grub-install''​ funktioniert nicht, also müssen die EFI-Einträge manuell gesetzt werden ''​grub-install''​ funktioniert nicht, also müssen die EFI-Einträge manuell gesetzt werden
   efibootmgr -v   efibootmgr -v
  
-da wird wahrscheinlich nur noch der PXE-Eintrag ​sein+-> alle alten Einträge löschen: 
 +  efibootmgr -B -b 000f 
 +(( ''​000f''​ ist hier nur ein Beispiel für einen veralteten ​Eintrag ​))
  
-EFI SP merken +EFI ESP Partition ​merken 
-  ​blkid +  ​grub2-probe -t device /boot/efi/EFI/
-  gdisk -/dev/sda+
  
-Achtung: Je nach Umgebung, sind efivars gar nicht gemountet oder RO +EFI-Eintrag ​anlegen ​(-p = ordinale Nummer der ESP Partition) 
-  mount -oremount,​rw /​sys/​firmware/​efi/​efivars + 
-   +  efi_label='​Name der Distribution'​ # z.B. ''​CentOS Linux''​ oder ''​Rocky Linux''​ 
-EFI-Eintrag ​machen ​(-p = ordinale Nummer der ESP) +  distro='​DISTRIBUTION'​ # ''​centos''​ oder ''​rocky''​ 
-  efibootmgr --"CentOS Linux" -/EFI/centos/​shimx64.efi ​-p 1+  boot_device='/​dev/​sda'​ # ''/​dev/​sda''​ oder ''/​dev/​nvme0n1''​ 
 +  esp_partition_id=2 
 +  efibootmgr --create --disk ​"$boot_device" --part "​$esp_partition_id"​ --label "​$efi_label"​ --loader "/EFI/$distro/​shimx64.efi"
  
-nochmal kontrollieren 
-  blkid 
-  efibootmgr -v 
-  ​ 
 grub-config neu erzeugen grub-config neu erzeugen
-  grub2-mkconfig -o /​boot/​efi/​EFI/​centos/grub.cfg+  ​grub2-mkconfig -o /​boot/​grub2/​grub.cfg 
 +oder 
 +  ​grub2-mkconfig -o /​boot/​efi/​EFI/​$distro/​grub.cfg 
 + 
 +Ab RHEL/​CentOS/​Rocky 8 werden zusätzlich Einträge für BLS (''/​boot/​loader/​entries/''​) benötigt, da grub.cfg ​keinen direkten Eintrag für Kernel und initrd enthält:
  
-Fallen +  dnf -y reinstall kernel-core 
-  ​/​etc/​default/​grub ​# resume devices und Parameter+oder mit grubby von Hand: 
 +  ​source ​/​etc/​default/​grub 
 +  grubby --add-kernel=/​boot/​vmlinuz-5.14.0-284.30.1.el9_2.x86_64 --args="​$GRUB_CMDLINE_LINUX"​ --initrd=/​boot/​initramfs-5.14.0-284.30.1.el9_2.x86_64.img --title="​Rocky Linux"
  
 (( ((
Zeile 437: Zeile 426:
 )) ))
 === EFI Variablen prüfen === === EFI Variablen prüfen ===
 +  blkid
   efibootmgr -v   efibootmgr -v
  
Zeile 481: Zeile 471:
  
 ===== Anpassungen bei geänderter Hardware oder geänderten Partitionen ===== ===== Anpassungen bei geänderter Hardware oder geänderten Partitionen =====
 +==== Ubuntu (22.04 LTS) ====
 +  * TODO: Nach Backup/​Restore ist snap kaputt
 +
 +
 ==== Rebuild Red Hat / Rocky / Alma 8 ==== ==== Rebuild Red Hat / Rocky / Alma 8 ====
 **[[Rebuild Red Hat 8|komplettes Rebuild Bootmanager UEFI+Rocky/​Alma/​Red Hat 8]]** **[[Rebuild Red Hat 8|komplettes Rebuild Bootmanager UEFI+Rocky/​Alma/​Red Hat 8]]**
admin_grundlagen/systemsicherung.txt · Zuletzt geändert: 2024/02/23 17:11 von ingo_wichmann