Benutzer-Werkzeuge

Webseiten-Werkzeuge


know-how:backup

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
know-how:backup [2021/02/08 14:12] – [HP Pro Curve] ccknow-how:backup [2024/02/26 10:31] (aktuell) cc
Zeile 1: Zeile 1:
 +~~ODT~~
 +====== Prinzipien ======
 +  * Generelle Punkte unabhängig von der eingesetzten Lösung
 +  * Diese Fragen sind essentiell für eine funktionierende Backup/Restore Lösung
 +
 +  * Hast du eine Backup Lösung ? 
 +  * Wurde definiert welche Daten das Backup beinhalten soll ?
 +  * Werden bestimmte Zustände deiner Daten zu bestimmten Zeitpunkten festgehalten ?
 +  * Wurde definiert wie lange bestimmte Zustände für ein Restore verfügbar sein müssen ?
 +  * Gibt es gesetzliche Verpflichtungen für die Dauer der Aufbewahrung und Qualität der Backups ?
 +  * Wo liegen die Backup Daten physikalisch ?
 +  * Wie wird der Raum in dem sich die Daten physikalisch befinden gesichert ?
 +  * Sind die Daten gegen Diebstahl / Blitzschlag / Überschwemmungen gesichert ?
 +  * Was passiert bei Ereignissen **"höherer Gewalt"** ?
 +  * Gibt es zumindest einen 2. Standort deiner Backup Daten ?
 +  * Ist es möglich die Integrität des Backups zu überprüfen ?
 +  * Wurde schon einmal ein Restore durchgeführt ? 
 +  * Kannst du selbstständig einen Restore durchführen ?
 +  * Wie lange hat der Restore gedauert ?
 +  * Welche Softwarelösungen zB: Betriebssystem / Basis werden für den Restore benötigt ?
 +  * Welche Lizenzen werden benötigt um einen Restore durchzuführen ?
 +
 +
 ====== Windows ====== ====== Windows ======
   * Windows Sicherung muss installiert sein   * Windows Sicherung muss installiert sein
   * Generiert VHDX Datein die gemountet werden können   * Generiert VHDX Datein die gemountet werden können
 +
 +
  
 ===== Externer SAMBA Server rotierend ===== ===== Externer SAMBA Server rotierend =====
Zeile 86: Zeile 111:
 exit exit
 </code> </code>
 +
  
 ===== Hyper-V Guests auf Festplatte rotierend ===== ===== Hyper-V Guests auf Festplatte rotierend =====
Zeile 114: Zeile 140:
 echo "----END BACKUP----" >> %LOGFILE% echo "----END BACKUP----" >> %LOGFILE%
 </code> </code>
 +
 +
 +===== Restore mit Windows Boardmitteln =====
 +  * Über zB: Windows 10 iso / reparieren / System Image wiederherstellen / Im Netzwerk suchen
 +  * Windows kann grundsätzlich vhdx Dateien als virtuelle Datenträger einbinden zB: über die "Computerverwaltung" -> "Datenträger" -> rechts anfügen vhd(x) - auch UNC Pfade auf Samba Server sind möglich (getestet mit Debian 10 / Windows 10 FIXME
 +  * **Achtung**
 +     * BIOS/UEFI beachten 
 +     * Ziel Datenträger muss mindestens gleich groß /größer sein (think thin Provisioning für restore)
 +     * Format für die Eingabe von Benutzername: IP\BENUTZERNAME (wenn Daten auf samba Share liegen)
  
 ===== Duplicati 2 - verschlüsseltes Cloud Backup ===== ===== Duplicati 2 - verschlüsseltes Cloud Backup =====
Zeile 182: Zeile 217:
 kernel urbackup/live/vmlinuz kernel urbackup/live/vmlinuz
 append initrd=urbackup/live/initrd.img boot=live config username=urbackup toram noswap fetch=tftp://IP_ADRESSE_TFTP_SERVER/urbackup/live/filesystem.squashfs append initrd=urbackup/live/initrd.img boot=live config username=urbackup toram noswap fetch=tftp://IP_ADRESSE_TFTP_SERVER/urbackup/live/filesystem.squashfs
 +</code>
 +
 +
 +  * **Migration** von Urbackup Server Installation **ohne Backupdaten** jedoch mit Einstellungen von altem System (2016 Standard) auf neues System (2019 Standard)
 +    * Installation gleiche Serverversion wie auf "altem System"
 +    * Deaktivieren und beenden von Urbackup Server Dienst auf altem und neuem System
 +    * Kopieren von C:\Programme..\urbackup Server\*.* von altem System auf neues System (damit auch die Keys für die Authentifizierung bleiben, alle Dateien überschreiben auf neuem System)
 +    * Verzeichnis / Laufwerk für Backup wie auf altem System auf neuem System erstellen
 +    * Urbackup Server Dienst wieder starten -> sobald die Clients im Web Menü sichtbar werden - vollständige Abbildsicherung auslösen / IP vom alten System muss **nicht** übernommen werden
 +===== Altaro =====
 +  * Altaro 8 - **nw.js** Screen / Windows 2019 Standard (https://help.altaro.com/support/solutions/articles/43000467363-getting-nw-js-on-startup-here-s-how-to-fix-it-)
 +    * **Ausloggen** und neu einloggen / beim Check von **%Temp%** existiert das Verzeichnis nicht mehr 
 +
 +  * Bei den Einstellungen VSS Copy beachten bei virtuellen Domain Controllern ! 
 +  * Scheduled Test Restores einrichten und die Daten des Backups regelmäßig überprüfen lassen
 +  * Notifications per E-Mail konfigurieren / für den Fall dass sie nicht funktioniert haben
 +====== HP Aruba ======
 +  * Für Cronjob siehe "HP Pro Curve"
 +  * SSH Server Keys müssen bereits "accepted" worden sein / sonst hängt er bei der Accept Key Frage
 +  * **backup-aruba.expect**
 +<code>
 +#!/usr/bin/expect -f
 +
 +set timeout 60
 +
 +log_user 0
 +
 +spawn ssh USERNAME@[lindex $argv 0]
 +
 +
 +expect "password:"
 +send "PASSWORD\r"
 +
 +#2021-02-08 cc: think wisely if you want to send password as argument to call
 +#send "[lindex $argv 1]\r" 
 +
 +expect "continue"
 +
 +send "\r"
 +
 +expect "#"
 +
 +send "terminal length 1000\r"
 +
 +expect "#"
 +
 +log_user 1
 +
 +send "show config\r"
 +
 +expect "#"
 +
 +
 +send "exit\r"
 +
 +expect ">"
 +
 +send "exit\r"
 +
 +expect "?"
 +
 +send "y\r"
 +
 +expect eof
 +
 </code> </code>
 ====== HPE Comware  ====== ====== HPE Comware  ======
   * Für Cronjob siehe "HP Pro Curve"   * Für Cronjob siehe "HP Pro Curve"
 +  * SSH Server Keys müssen bereits "accepted" worden sein / sonst hängt er bei der Accept Key Frage
   * **backup-hp-comware-switches.expect**   * **backup-hp-comware-switches.expect**
  
Zeile 242: Zeile 343:
 set ip_address [lindex $argv 0]; set ip_address [lindex $argv 0];
 set prompt "#" set prompt "#"
-set username "USERNAME_SWITCHES\r" +set username "USERNAME\r" 
-set password "PASSWORD_SWITCHES\r"+set password "PASSWORD\r"
  
     log_user 0      log_user 0 
Zeile 252: Zeile 353:
     send $password     send $password
     expect $prompt     expect $prompt
-    # To avoid sending 'Enter' key on huge configurations +    send "terminal length 1000\r"
-    send "terminal length 0\r"+
     expect $prompt     expect $prompt
-    #set timeout 120;# Increasing timeout to 2mins, as it may take more time to get the prompt+    set timeout 120
     log_user 1     log_user 1
     send "show config\r"     send "show config\r"
     expect $prompt     expect $prompt
-    #set timeout 20; # Reverting to default timeout +    set timeout 20
-    # Sending 'exit' at global level prompt will close the connection+
     send "exit\r"     send "exit\r"
 +    expect ">"
 +    send "exit\r"
 +    expect "?"
 +    send "y\r"
     expect eof     expect eof
 +
  
 </code> </code>
Zeile 619: Zeile 723:
 ===== borg - generell  ===== ===== borg - generell  =====
   * Backup Tests mit borg - Achtung **unverschlüsselt** da Testgerät ohnehin **vollverschlüsselt** ist   * Backup Tests mit borg - Achtung **unverschlüsselt** da Testgerät ohnehin **vollverschlüsselt** ist
 +  * Ganze LVM Devices basierend auf Snapshot backupppen - sollte konsistent sein **backup-lvm-drive-borg.sh**
 +<code>
 +#!/bin/bash
 +
 +function bailout ()
 +{
 +
 + echo -e "$1" 1>&2
 + exit 2
 +
 +}
 +
 +function usage ()
 +{
 + echo -e "$1"
 + exit 1
 +
 +
 +}
 +
 +# LVM PATH / generate LVM snapshot name suffix snapshot / compress devices / output PATH
 +
 +ARGUMENTS=$#
 +SIZE_SNAPSHOT="50G"
 +BORG_NR_TO_KEEP="4"
 +
 +which lvcreate > /dev/null || bailout "lvcreate not found"
 +which borg > /dev/null || bailout "borg cannot be found"
 +which lvremove > /dev/null || bailout "lvremove not found"
 +
 +[ $ARGUMENTS -lt 2 ] && bailout "Usage: $0 PATH_TO_BORG_REPOSITORY PATH_TO_LVM_VOLUME1 PATH_TO_LVM_VOLUME2 "
 +
 +BACKUP_REPOSITORY=$(echo $1 | cut -d: -f 1)
 +
 +[ -r $BACKUP_REPOSITORY ] || bailout "FAIL: $BACKUP_REPOSITORY cannot be read"
 +
 +[ -w $BACKUP_REPOSITORY ] || bailout "FAIL: $BACKUP_REPOSITORY cannot be written to"
 +
 +for i in "${@:2}" ; do
 +
 + LVM_PATH="$i"
 + LVM_PATH_SNAPSHOT="$LVM_PATH""_snapshot"
 +      
 +      [ ! -r $LVM_PATH ] && bailout "FAIL: Cannot read \"$LVM_PATH\" VOLUME"
 +      [ -r  $LVM_PATH_SNAPSHOT ] && bailout "FAIL: Attention snapshot still there: $LVM_PATH_SNAPSHOT"     
 +done
 +
 +lvm_snapshots=""
 +
 +for i in "${@:2}" ; do
 +
 +        LVM_PATH="$i"
 +        LVM_PATH_SNAPSHOT="$LVM_PATH""_snapshot"
 +        
 + lvcreate -L $SIZE_SNAPSHOT -s -n $LVM_PATH_SNAPSHOT $LVM_PATH > /dev/null || bailout "FAIL: Could not create Snapshot: $LVM_NAME_SNAPSHOT"
 +        lvm_snapshots="$lvm_snapshots $LVM_PATH_SNAPSHOT"
 +done
 +
 +borg create --stats --compression=lz4 --read-special "$1" $lvm_snapshots
 +
 +RET_CODE_BORG="$?"
 +
 +for i in "${@:2}" ; do
 +
 +        LVM_PATH="$i"
 +        LVM_PATH_SNAPSHOT="$LVM_PATH""_snapshot"
 +
 + lvremove -q -f $LVM_PATH_SNAPSHOT >/dev/null
 +done
 +
 +borg prune --keep-last $BORG_NR_TO_KEEP $BACKUP_REPOSITORY
 +
 +exit $RET_CODE_BORG
 +
 +</code>
 +
   * Durchgeführt auf Kali Linux - Debian Testing   * Durchgeführt auf Kali Linux - Debian Testing
 <code> <code>
know-how/backup.1612789950.txt.gz · Zuletzt geändert: 2021/02/08 14:12 von cc