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 [2022/12/09 09:44]
carsten_strotmann
admin_grundlagen:systemsicherung [2024/02/23 17:08]
ingo_wichmann [UEFI]
Zeile 33: Zeile 33:
  
 ==== Sicherung der Partitionierung ==== ==== Sicherung der Partitionierung ====
-Mehr zur Vorgehensweise siehe [[partitionierung]]Wenn die Wiederherstellung nicht automatisiert erfolgen mussreicht ​auch die Ausgabe von ''​parted''​+Partitionstabelle im Textformat sichern: 
 +  sfdisk -d /dev/sda > sicherung.sfdisk 
 + 
 +((bei GPT-Partitionstabellen eine inzwischen veraltete Warnung der Entwickler vorweg: //As of March 2014 (version 0.8.10)sgdisk should be considered beta software.// )) (( 
 +Lesbarer, aber nicht automatisch wiederherstellbar geht das auch so:
   fdisk -l -o device,​size,​type,​uuid /dev/sda > sicherung.fdisk   fdisk -l -o device,​size,​type,​uuid /dev/sda > sicherung.fdisk
 oder  oder 
   parted /dev/sda print > sicherung.parted   parted /dev/sda print > sicherung.parted
  
-Ubuntu: +Mehr zur Vorgehensweise siehe [[Partitionierung]]. ))
-  scp sicherung.parted nutzer@server:/​mnt/​backup +
- +
-andere Distributionen (bei denen root ein Passwort hat): +
-  scp sicherung.parted root@server:/​mnt/​backup +
-(( +
-alternativ für MSDOS-Partitionstabellen:​ +
- +
-  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.//​ +
-))+
  
 ==== Sicherung LVM Informationen ==== ==== Sicherung LVM Informationen ====
Zeile 100: Zeile 92:
 ==== Sicherung der Dateien ==== ==== Sicherung der Dateien ====
 === Einhängen der Dateisysteme unter /mnt/system === === Einhängen der Dateisysteme unter /mnt/system ===
-In der Ausgabe von ''​df -hT -x tmpfs -x devtmpfs''​ die Mountpoints aller persistenten,​ lokalen Dateisysteme ​ (mit Ausnahme von loop-Devices) identifizieren und unterhalb von ''/​mnt/​system''​ bind-mounten:​ 
- 
   mkdir /mnt/system   mkdir /mnt/system
   mount --bind / /mnt/system   mount --bind / /mnt/system
 +
 +In der Ausgabe von ''​df -hT -x tmpfs -x devtmpfs''​ die Mountpoints aller weiteren persistenten,​ lokalen Dateisysteme ​ (mit Ausnahme von loop-Devices) identifizieren und unterhalb von ''/​mnt/​system''​ bind-mounten:​
 +
   mount --bind /boot /​mnt/​system/​boot   mount --bind /boot /​mnt/​system/​boot
-  ​...+und/oder 
 +  mount --bind /boot/efi /​mnt/​system/​boot/​efi 
 +und möglicherweise weitere: 
 +  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 ))
Zeile 114: Zeile 110:
 == Debian (ab 8) == == Debian (ab 8) ==
 Wie oben unter "​[[#​debian_ab_8|Vorbereitung Zielsystem]]"​ beschrieben kann man entweder so vorgehen Wie oben unter "​[[#​debian_ab_8|Vorbereitung Zielsystem]]"​ beschrieben kann man entweder so vorgehen
-  * wie bei anderen Distributionen,​ bei denen root ein Passwort hat+  * wie bei [[#​andere_distributionen_bei_denen_root_ein_passwort_hat|anderen Distributionen,​ bei denen root ein Passwort hat]]
 oder oder
   * wie bei Ubuntu   * wie bei Ubuntu
Zeile 144: Zeile 140:
 == andere Distributionen (bei denen root ein Passwort hat) == == 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 [[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 [[ssh]] )) +
-(( wenn man ein Art Fortschrittsbalken haben will: ''​progress''​ installieren und ''​progress -wm''​ ausführen während rsync läuft. )) +
- +
-== erweiterte Attribute und ACLs mit tar und rsync == +
-RedHat'​s Versionen von ''​[[tar]]''​ und ''​[[rsync]]''​ können mit ACLs und erweiterten Dateiattributen umgehen, bei Debian ab Version 8. Dazu die Optionen ''​--xattrs''​ ( ''​tar''​ ) oder ''​--xattrs --acls''​ ( ''​rsync''​ ) angeben.+
  
 === Plausibilitätsprüfung === === Plausibilitätsprüfung ===
Zeile 169: Zeile 160:
   * Größenvergleich mit ''​du -sh''​ -> Achtung: die Größen sind nie exakt gleich, die Größenordnung pro Dateisystem sollte passen.   * Größenvergleich mit ''​du -sh''​ -> Achtung: die Größen sind nie exakt gleich, die Größenordnung pro Dateisystem sollte passen.
  
-Optional, für Freude der Unix-Kommandozeile:+++++ Optionalegenauere Prüfung ​für Freude der Unix-Kommandozeile ​|
  
 Auf dem Zielsystem Checksummen für Backup-Dateien erzeugen: Auf dem Zielsystem Checksummen für Backup-Dateien erzeugen:
Zeile 189: Zeile 180:
 Berechtigungen vergleichen Berechtigungen vergleichen
   diff ~/​getfacl.orig /​run/​getfacl.backup   diff ~/​getfacl.orig /​run/​getfacl.backup
 +++++ 
 +++++ ACLs und erweiterte Attribute |
 === Sicherung der ACL-Dateirechte === === Sicherung der ACL-Dateirechte ===
-nur nötig, wenn ''​tar'' ​oder ''​rsync''​ das nicht kann+aktuelle Versionen von ''​tar'' ​und ''​rsync'' ​erledigen ​das mit, bei älteren Systemen:
   cd /mnt/system   cd /mnt/system
   getfacl --skip-base -P -n -R . > sicherung.acl   getfacl --skip-base -P -n -R . > sicherung.acl
Zeile 201: Zeile 193:
   getfattr -Rh -m . -d . > sicherung.attr   getfattr -Rh -m . -d . > sicherung.attr
   scp sicherung.attr root@server:/​mnt/​backup   scp sicherung.attr root@server:/​mnt/​backup
 +++++
  
 ====== Löschen des Systems ====== ====== Löschen des Systems ======
Zeile 240: 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 252: 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
 +  vgchange -a y
  
 === von Hand === === von Hand ===
Zeile 279: Zeile 276:
   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 ''​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))
- 
  
 ==== Swap anlegen ==== ==== Swap anlegen ====
Zeile 287: 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 
 +  mkdir /​tmp/​system/​boot/​efi 
 +  mount /dev/sdaZ /​tmp/​system/​boot/​efi 
 +und möglicherweise weitere: 
 +  mkdir /​tmp/​system/​… 
 +  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 -e ssh 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?
 )) ))
 === Ubuntu === === Ubuntu ===
-  rsync -aSH --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 --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 322: Zeile 322:
 oder oder
   touch /​tmp/​system/​.autorelabel   touch /​tmp/​system/​.autorelabel
 +++++
 ===== Bootfähig machen ===== ===== Bootfähig machen =====
 ==== chroot vorbereiten ==== ==== chroot vorbereiten ====
Zeile 328: 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 359: Zeile 349:
   chroot /tmp/system /bin/bash   chroot /tmp/system /bin/bash
  
 +=== grub-efi bzw. efivars wiederherstellen ===
  
-=== grub-efi über efi === +Debian:
-Bei einfachen Installationen ist grub-efi der zweite Bootloader hinter efi. +
-In diesem Fall reicht +
   grub-install dummy   grub-install dummy
  
-Voraussetzung dafür istdass die EFI-System-Partition (ESP) an die richtige +SuSE (ab 15.4):  
-Stelle gemountet ist (/​boot/​grub/​efi)+  grub-install 
 +  shim-install 
 + 
 +CentOS / Rocky (ab 8): 
 + 
 +''​grub-install''​ funktioniert nichtalso müssen ​die EFI-Einträge manuell gesetzt werden 
 +  efibootmgr ​-
 + 
 +-> alle alten Einträge löschen: 
 +  efibootmgr -B -b 000f 
 +(( ''​000f''​ ist hier nur ein Beispiel für einen veralteten Eintrag )) 
 + 
 +EFI ESP Partition ​merken 
 +  grub2-probe -t device /​boot/​efi/​EFI/​ 
 + 
 +EFI-Eintrag anlegen ​(-p = ordinale Nummer der ESP Partition
 + 
 +  efi_label='​Name der Distribution'​ # z.B. ''​CentOS Linux''​ oder ''​Rocky Linux''​ 
 +  distro='​DISTRIBUTION'​ # ''​centos''​ oder ''​rocky''​ 
 +  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"​ 
 + 
 +grub-config neu erzeugen 
 +  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: 
 + 
 +  dnf -y reinstall kernel-core 
 +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 405: Zeile 426:
 )) ))
 === EFI Variablen prüfen === === EFI Variablen prüfen ===
 +  blkid
   efibootmgr -v   efibootmgr -v
  
Zeile 425: Zeile 447:
   update-bootloader --refresh   update-bootloader --refresh
  
-== CentOS 7 ==+== CentOS ​(ab 7==
   grub2-install /dev/sda   grub2-install /dev/sda
   grub2-mkconfig > /​boot/​grub2/​grub.cfg   grub2-mkconfig > /​boot/​grub2/​grub.cfg
Zeile 443: Zeile 465:
   grub-install --recheck --no-floppy hd0   grub-install --recheck --no-floppy hd0
  
-==== Centos 8 Recovery mit UEFI ==== 
-grub-install funktioniert nicht, also müssen die EFI-Einträge manuell gesetzt werden 
-  efibootmbr -v 
  
-da wird wahrscheinlich nur noch der PXE-Eintrag sein 
- 
-EFI SP merken 
-  blkid 
-  gdisk -l /dev/sda 
- 
-Achtung: Je nach Umgebung, sind efivars gar nicht gemountet oder RO 
-  mount -oremount,​rw /​sys/​firmware/​efi/​efivars 
-  ​ 
-EFI-Eintrag machen (-p = ordinale Nummer der ESP) 
-  efibootmgr -c -L "​CentOS Linux" -l /​EFI/​centos/​shimx64.efi -p 1 
- 
-nochmal kontrollieren 
-  blkid 
-  efibootmgr -v 
-  ​ 
-grub-config neu erzeugen 
-  grub2-mkconfig -o /​boot/​efi/​EFI/​centos/​grub.cfg 
- 
-Fallen 
-  * /​etc/​default/​grub # resume devices und Parameter 
 ==== reboot ==== ==== reboot ====
 chroot-Umgebung (z.B. mit ''​Strg+d''​) verlassen und chroot-Umgebung (z.B. mit ''​Strg+d''​) verlassen und
Zeile 473: 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]]**
Zeile 651: Zeile 653:
 </​code>​ </​code>​
  
-  * Schritt 3: die Read-Only Snapshot-Volumes mittels ''​%%btrfs send%%''​ und über SSH (komprimiert) auf einen entfernten Rechner übertragen:<code example>+  ​* Subvolumes welche gesichert werden:<​code example>​ 
 +   / 
 +   /​home 
 +   /​opt 
 +   /​srv 
 +   /​var 
 +   /​root 
 +   /​usr/​local 
 +   /​tmp 
 +   /​boot/​grub2/​x86_64-efi 
 +   /​boot/​grub2/​i386-pc 
 +</​code>​ 
 +    
 +  ​* Schritt 3: die Read-Only Snapshot-Volumes mittels ''​%%btrfs send%%''​ und über SSH (komprimiert) auf einen entfernten Rechner übertragen. Das Dateisystem auf dem Zielsystem muss genügend freien Speicher aufweisen um das Backup aufzunehmen. Der erste Parameter für den "​ls"​ Befehl ist ein Eins "​1",​ kein "​l"​ (kleines Ell)! 
 + 
 +<code example>
 ls -1 -d /.backup/* | xargs btrfs send  | ssh -C nutzerXX@192.168.1.2XX "cat > notebookXX.btrfs"​ ls -1 -d /.backup/* | xargs btrfs send  | ssh -C nutzerXX@192.168.1.2XX "cat > notebookXX.btrfs"​
 </​code>​ </​code>​
Zeile 698: Zeile 715:
  
   * BTRFS Dateisysteme von Backup-System via SSH zurückspielen<​code example>   * BTRFS Dateisysteme von Backup-System via SSH zurückspielen<​code example>
-ssh nutzerXX@192.168.1.2XX "cat notebookXX.btrfs"​ | btrfs recieve ​/​mnt/​.restore+ssh nutzerXX@192.168.1.2XX "cat notebookXX.btrfs"​ | btrfs receive ​/​mnt/​.restore
 </​code>​ </​code>​
  
Zeile 709: Zeile 726:
  
   * Subvolume für automatische Snapshots erstellen (wenn dieses nicht gesichert und zurückgespielt wurde)<​code example>   * Subvolume für automatische Snapshots erstellen (wenn dieses nicht gesichert und zurückgespielt wurde)<​code example>
-btrfs subvol create /snapshots+btrfs subvol create ​/mnt/snapshots
 </​code>​ </​code>​
  
Zeile 717: Zeile 734:
  
   * Root-Filesystem-ID als neues Default-Volume des BTRFS Dateisystems eintragen<​code example>   * Root-Filesystem-ID als neues Default-Volume des BTRFS Dateisystems eintragen<​code example>
-btrfs subvol set-default <id>+btrfs subvol set-default <​id> ​/mnt
 </​code>​ </​code>​
  
Zeile 743: Zeile 760:
     * Kurze Namen der Snapshots oder Subvol-IDs benutzen     * Kurze Namen der Snapshots oder Subvol-IDs benutzen
     * Mount testen mit ''​%%mount -a%%''​     * Mount testen mit ''​%%mount -a%%''​
 +
 +  * Beispiel Datei /etc/fstab nach Wiederherstellung<​code example>
 +
 +/​dev/​nvme0n1p3 ​ /                        btrfs  defaults ​                         0  0
 +/​dev/​nvme0n1p3 ​ /​.snapshots ​             btrfs  subid=279 ​              ​0 ​ 0
 +/​dev/​nvme0n1p3 ​ /var                     ​btrfs ​ subvol=var ​                    ​0 ​ 0
 +/​dev/​nvme0n1p3 ​ /​usr/​local ​              ​btrfs ​ subvol=usr-local ​              ​0 ​ 0
 +/​dev/​nvme0n1p3 ​ /tmp                     ​btrfs ​ subvol=tmp ​                    ​0 ​ 0
 +/​dev/​nvme0n1p3 ​ /srv                     ​btrfs ​ subvol=srv ​                    ​0 ​ 0
 +/​dev/​nvme0n1p3 ​ /root                    btrfs  subvol=root ​                   0  0
 +/​dev/​nvme0n1p3 ​ /opt                     ​btrfs ​ subvol=opt ​                    ​0 ​ 0
 +/​dev/​nvme0n1p3 ​ /home                    btrfs  subvol=home ​                   0  0
 +/​dev/​nvme0n1p3 ​ /​boot/​grub2/​x86_64-efi ​  ​btrfs ​ subvol=x86_64-efi ​  ​0 ​ 0
 +/​dev/​nvme0n1p3 ​ /​boot/​grub2/​i386-pc ​     btrfs  subvol=i386-pc ​     0  0
 +
 +/​dev/​nvme0n1p1 ​ /​boot/​efi ​      ​vfat ​   rw      0       2
 +/​dev/​nvme0n1p2 ​ none    swap    sw      0       0
 +</​code>​
 +
   * Init-Ramdisk ''​%%initrd%%''​ neu erstellen<​code example>   * Init-Ramdisk ''​%%initrd%%''​ neu erstellen<​code example>
 mkinitrd mkinitrd
admin_grundlagen/systemsicherung.txt · Zuletzt geändert: 2024/02/23 17:11 von ingo_wichmann