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 [2023/11/10 11:41]
ingo_wichmann [chroot vorbereiten]
admin_grundlagen:systemsicherung [2025/07/24 15:23] (aktuell)
natureshadow2 [UEFI]
Zeile 8: Zeile 8:
 ===== Vorbereitung Zielsystem ===== ===== Vorbereitung Zielsystem =====
  
 +==== Platz schaffen ====
 evtl. Platz schaffen wie in [[Plattenplatz]],​ [[Partitionierung]] und [[lvm]] beschrieben evtl. Platz schaffen wie in [[Plattenplatz]],​ [[Partitionierung]] und [[lvm]] beschrieben
   mkdir -p /​mnt/​backup/​dateien   mkdir -p /​mnt/​backup/​dateien
  
-=== Ubuntu ​=== +==== SSH Zugriff als root ==== 
-Zielverzeichnis ''/​mnt/​backup''​ muss dem Ubuntu-Nutzer gehören:+Root Passwort setzen, sofern nicht bekannt/​verfügbar:​ 
 +  passwd root 
 + 
 +<file txt /​etc/​ssh/​sshd_config.d/​root.conf>​ 
 +PermitRootLogin yes 
 +</​file>​ 
 + 
 +  systemctl restart ssh.service 
 + 
 +++++  Alternativ: sudo und ssh-Schlüssel | 
 +Zielverzeichnis ''/​mnt/​backup''​ muss dem Nutzer gehören:
   chown nutzerXX /mnt/backup   chown nutzerXX /mnt/backup
  
-=== Debian (ab 8) === +  ​* [[sudo]] einrichten, falls noch nicht passiert ​
-Entweder  +
-  ​* [[sudo]] einrichten ​und wie unter Ubuntu beschrieben vorgehen. ​+
   * einen [[ssh]]-Schlüssel beim Benutzer root hinterlegen   * einen [[ssh]]-Schlüssel beim Benutzer root hinterlegen
-oder +++++
-  * root das Anmelden mit Passwort erlauben (( +
-<file txt /​etc/​ssh/​sshd_config>​ +
-PermitRootLogin yes +
-</​file>​ +
-))+
 ===== Sicherung ===== ===== Sicherung =====
 Diese Schritte werden auf dem zu sichernden System ausgeführt. ​ Diese Schritte werden auf dem zu sichernden System ausgeführt. ​
Zeile 35: Zeile 39:
 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 47:
  
 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 81: Zeile 77:
  
 == btrfs == == btrfs ==
-btrfs läßt sich nicht einfach ​mit rsync oder tar sichern. Die beste Alternative ist, statt dessen ein [[image_sichern|Image]] des Dateisystems mit ''​fsarchiver''​ oder ''​partclone''​ zu erstellen. (( Vielleicht ist auch https://​github.com/​mwilck/​btrfs-clone eine brauchbare Alternative ))+btrfs läßt sich ggf. nur umständlich (Subvolumes,​ usw.) mit rsync oder tar sichern. Die beste Alternative ist, statt dessen ein [[image_sichern|Image]] des Dateisystems mit ''​fsarchiver''​ oder ''​partclone''​ zu erstellen. (( Vielleicht ist auch https://​github.com/​mwilck/​btrfs-clone eine brauchbare Alternative )) 
 + 
 +Die UUID des Dateisystems erhält man mit ''​blkid''​. 
 + 
 +  btrfs subvolume list / >​sicherung.sda3.subvolumes
  
 == vfat == == vfat ==
Zeile 92: Zeile 92:
  
 ==== Einstellungs-Dateien auf Zielsystem kopieren ==== ==== Einstellungs-Dateien auf Zielsystem kopieren ====
-Ubuntu: 
-  scp sicherung.* nutzer@server:/​mnt/​backup 
  
-andere Distributionen (bei denen root ein Passwort hat): 
   scp sicherung.* root@server:/​mnt/​backup   scp sicherung.* root@server:/​mnt/​backup
  
Zeile 111: Zeile 108:
   mount --bind ...   mount --bind ...
  
-((ab RedHat 6, openSuSE 13.1, Debian 8 und Ubuntu 16.04 könnte man auf diesen Schritt verzichten, und statt dessen bei ''​rsync''​ die Option ''​-x''​ bzw. ''​--one-file-system''​ nutzen und die entsprechenden Mountpoints einzeln angeben ))+((ab RedHat 6, openSuSE 13.1, Debian 8 und Ubuntu 16.04 könnte man auf diesen Schritt verzichten, und statt dessen bei ''​rsync''​ die Option ''​-x''​ bzw. ''​--one-file-system''​ nutzen und die entsprechenden Mountpoints einzeln angeben
 +  tar -axRSHAX --numeric-ids --del / /boot/ /boot/efi/ ...? root@server:/​mnt/​backup/​dateien ​))
  
 === 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. ​ Auf Quell- und Zielsystem muss rsync installiert sein. Alternativ kann man auch [[#​tar_ueber_ssh|tar über ssh]] verwenden. ​
  
-== Debian (ab 8) == +++++ Ubuntu ohne SSH root-Passwort ​|
-Wie oben unter "​[[#​debian_ab_8|Vorbereitung Zielsystem]]"​ beschrieben kann man entweder so vorgehen +
-  * wie bei [[#​andere_distributionen_bei_denen_root_ein_passwort_hat|anderen Distributionen,​ bei denen root ein Passwort ​hat]] +
-oder +
-  * wie bei Ubuntu +
- +
-== Ubuntu ==+
 Unter **Ubuntu** gibt es defaultmäßig kein root Passwort. ​ Unter **Ubuntu** gibt es defaultmäßig kein root Passwort. ​
 Wenn ein **Ubuntu** System das **ZIEL** ist, muss man zunächst dem User, mit dem man sich auf dem Ziel einloggen will, einen Eintrag machen, der ''​rsync''​ via ''​sudo''​ ohne Passwort erlaubt: Wenn ein **Ubuntu** System das **ZIEL** ist, muss man zunächst dem User, mit dem man sich auf dem Ziel einloggen will, einen Eintrag machen, der ''​rsync''​ via ''​sudo''​ ohne Passwort erlaubt:
Zeile 142: Zeile 134:
 Und dann lautet der Befehl zum Backup: ​ Und dann lautet der Befehl zum Backup: ​
   rsync -aSH --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 |
 Btrfs snapshot subvolumes können nicht sinnvoll mit rsync oder tar gesichert und wieder hergestellt werden, da die Deduplizierung von Btrfs dabei nicht mehr genutzt wird und die Dateien mehrfach im Backup landen würden. ​ Btrfs snapshot subvolumes können nicht sinnvoll mit rsync oder tar gesichert und wieder hergestellt werden, da die Deduplizierung von Btrfs dabei nicht mehr genutzt wird und die Dateien mehrfach im Backup landen würden. ​
 +++++
  
-== andere Distributionen (bei denen root ein Passwort hat) == 
   rsync -aSH --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 [[ssh]] )) (( wenn man ein Art Fortschrittsbalken haben will: ''​progress''​ installieren und ''​progress -wm''​ ausführen während rsync läuft. )) (( mehr zu [[rsync]], u.a. wie man hier ''​rsync''​ auch ohne root-Rechte benutzen kann )) (( mehr zu [[ssh]] )) (( wenn man ein Art Fortschrittsbalken haben will: ''​progress''​ installieren und ''​progress -wm''​ ausführen während rsync läuft. ))
Zeile 241: Zeile 234:
  
 ====== Wiederherstellung des Systems ====== ====== Wiederherstellung des Systems ======
-Rettungssystem ( z.B. sysrcd, knoppix ​booten+Rettungssystem ​booten ​(im Linuxhotel-Netz:​ PXE-Boot und ''​debian12live''​ eingeben) 
 + 
 +(UEFI-Bootmenü:​ Meistens F12; auf TUXEDO F7)
  
 ===== Schritte im Rettungs-System ===== ===== Schritte im Rettungs-System =====
 +==== Sicherungs-Dateien zurückkopieren ====
 +
 +  scp root@server:/​mnt/​backup/​sicherung.* /tmp
 +
 ==== Wiederherstellung der Partitionierung ==== ==== Wiederherstellung der Partitionierung ====
 Partitionstabelle wiederherstellen:​ Partitionstabelle wiederherstellen:​
Zeile 252: Zeile 251:
 Typ der Partitionstabelle (''​gpt''​ oder ''​msdos''​) beachten. )) Typ der Partitionstabelle (''​gpt''​ oder ''​msdos''​) beachten. ))
 ==== Wiederherstellung LVM ==== ==== Wiederherstellung LVM ====
-In Knoppix muss dazu zuerst lvm2 gestartet werden: 
-  service lvm2 start 
 === mit vgcfgrestore === === mit vgcfgrestore ===
 IDs der Physical Volumes herausfinden:​ IDs der Physical Volumes herausfinden:​
Zeile 285: Zeile 282:
 ((Eine UUID die von ''​blkid''​ im Format ''​%%UUID="​066B-5CE0"​%%''​ ausgegeben wurde muss ''​mkfs.vfat''​ mit ''​066B5CE0''​ (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))
  
 +=== btrfs ===
 +
 +Es müssen alle Subvolumes wieder angelegt werden. Beispiel für openSUSE:
 +
 +  mkfs.btrfs -U xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /dev/sdaX
 +  mount /dev/sdaX /mnt
 +  btrfs subvolume create /mnt/@
 +  btrfs subvolume create /mnt/@/var
 +  ...
 +  umount /mnt
 ==== Swap anlegen ==== ==== Swap anlegen ====
 ((''/​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 291: Zeile 298:
  
 ==== 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
 +  # bei openSUSE mount -o subvol=@ /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 …
  
 +Bei btrfs-Subvolumes:​
 +
 +  mount -o subvol=@/​var /dev/sdaW /​tmp/​system/​var
 +  ...
 ==== Wiederherstellen der Dateien mit rsync über ssh ==== ==== Wiederherstellen der Dateien mit rsync über ssh ====
-  rsync -aSH --acls --xattrs --numeric-ids ​--del root@server:/​mnt/​backup/​dateien/​ /​tmp/​system ​+  rsync -aSH --acls --xattrs --numeric-ids root@server:/​mnt/​backup/​dateien/​ /​tmp/​system ​
  
 ((mehr siehe [[rsync]])) (( Notlösung: Berechtigungen (teilweise) wiederherstellen,​ wenn sie nicht richtig gesichert wurden ((mehr siehe [[rsync]])) (( Notlösung: Berechtigungen (teilweise) wiederherstellen,​ wenn sie nicht richtig gesichert wurden
Zeile 313: Zeile 325:
 )) ))
 === Ubuntu === === Ubuntu ===
-  rsync -aSH --acls --xattrs ​ --numeric-ids ​--del --rsync-path="​sudo rsync" user@server:/​mnt/​backup/​dateien/​ /​tmp/​system ​+  rsync -aSH --acls --xattrs ​ --numeric-ids --rsync-path="​sudo rsync" user@server:/​mnt/​backup/​dateien/​ /​tmp/​system ​
  
 ++++ ACLs und erweiterte Attribute | ++++ ACLs und erweiterte Attribute |
Zeile 336: Zeile 348:
   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+  mount --bind /run  /​tmp/​system/​run
 ((/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! )) (( ((/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! )) ((
 === Alternativ mit bind statt rbind === === Alternativ mit bind statt rbind ===
Zeile 357: Zeile 369:
   chroot /tmp/system /bin/bash   chroot /tmp/system /bin/bash
  
-=== grub-efi wiederherstellen ===+=== grub-efi ​bzw. efivars ​wiederherstellen ===
  
-Debian: +Debian ​/ Ubuntu
-  grub-install ​dummy+  grub-install
  
 SuSE (ab 15.4): ​ SuSE (ab 15.4): ​
-  ​grub-install+  ​grub2-install
   shim-install   shim-install
  
-CentOS8 ​/ Rocky (ab 8):+CentOS ​/ Rocky (ab 9):
  
 ''​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 
-  ​mount -oremount,​rw ​/sys/firmware/efi/efivars +  efi_label='​Name der Distribution'​ # z.B. ''​CentOS Linux'' ​oder ''​Rocky Linux''​ 
-  ​ +  ​distro='​DISTRIBUTION'​ # ''​centos''​ oder ''​rocky''​ 
-EFI-Eintrag machen (-p ordinale Nummer der ESP) +  boot_device='​/dev/sda' # ''​/dev/​sda''​ oder ''/​dev/nvme0n1''​ 
-  efibootmgr --"CentOS Linux" -/EFI/centos/​shimx64.efi ​-p 1+  ​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 --update-bls-cmdline 
 + 
 + 
 +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 429: Zeile 444:
 )) ))
 === EFI Variablen prüfen === === EFI Variablen prüfen ===
 +  blkid
   efibootmgr -v   efibootmgr -v
  
Zeile 473: Zeile 489:
  
 ===== 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 und 9]]**
  
 Je nach dem wie sich die Hardware geändert hat, sind folgende Bereiche anzupassen: Je nach dem wie sich die Hardware geändert hat, sind folgende Bereiche anzupassen:
admin_grundlagen/systemsicherung.1699616467.txt.gz · Zuletzt geändert: 2023/11/10 11:41 von ingo_wichmann