Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
pandoc:arge_storage:05_backup_on_vsc3:backup_on_vsc3 [2019/05/02 18:03] – Pandoc Auto-commit pandoc | pandoc:arge_storage:05_backup_on_vsc3:backup_on_vsc3 [2020/10/20 09:13] (current) – Pandoc Auto-commit pandoc | ||
---|---|---|---|
Line 25: | Line 25: | ||
====== Derzeitiges Off-Site Backup (2) ====== | ====== Derzeitiges Off-Site Backup (2) ====== | ||
- | {{: | + | {{.: |
====== Struktur der Daten ====== | ====== Struktur der Daten ====== | ||
- | {{: | + | {{.: |
====== Struktur der Daten (2) ====== | ====== Struktur der Daten (2) ====== | ||
- | {{: | + | {{.: |
====== Struktur der Daten (3) ====== | ====== Struktur der Daten (3) ====== | ||
- | {{: | + | {{.: |
====== Struktur der Daten (4) ====== | ====== Struktur der Daten (4) ====== | ||
- | {{: | + | {{.: |
====== Backup-Maschine ====== | ====== Backup-Maschine ====== | ||
Line 78: | Line 78: | ||
<code bash> | <code bash> | ||
# Configuration File for the backup script | # Configuration File for the backup script | ||
- | # Server | + | # Server |
- | nfs01 | + | nfs01 |
- | nfs02 | + | nfs02 |
- | nfs03 | + | nfs03 |
</ | </ | ||
+ | ====== Backup Software (2) ====== | ||
+ | |||
* Status Output | * Status Output | ||
Line 102: | Line 104: | ||
====== Bash/Rsync Magic (1) ====== | ====== Bash/Rsync Magic (1) ====== | ||
- | < | + | * Naiver Ansatz |
- | * Naiver Ansatz | + | |
+ | < | ||
+ | rsync -avHAXS --delete src/ dest/ | ||
</ | </ | ||
+ | * Vorteile | ||
+ | * Einfach | ||
+ | * Nachteile | ||
+ | * Nur 1 Prozess | ||
+ | * und der macht die halbe Zeit IOWait bei NFS ueber 10G | ||
+ | * Funktioniert so nicht bei 750 Mio. Files | ||
+ | |||
====== Bash/Rsync Magic (2) ====== | ====== Bash/Rsync Magic (2) ====== | ||
- | < | + | * Parallelisierung - Naiver Ansatz |
- | * Parallelisierung | + | |
+ | < | ||
+ | for i in {1..10} | ||
+ | do | ||
+ | rsync -avHAXS --delete src/ | ||
+ | done | ||
</ | </ | ||
+ | * Vorteile | ||
+ | * Relativ Einfach | ||
+ | * Mehrere rsync Prozesse laufen parallel | ||
+ | * Nachteile | ||
+ | * Parallelisierung abhaengig von der Anzahl der Server | ||
+ | * Alle Server muessen gebackuppt sein, bevor der Zyklus neu starten kann | ||
+ | * Output / Monitoring der Rsync Jobs? | ||
+ | |||
====== Bash/Rsync Magic (3) ====== | ====== Bash/Rsync Magic (3) ====== | ||
- | < | + | |
- | * Boiler-Plate Zeugs | + | * Fuer jeden server |
- | </code> | + | * ZFS Snapshot erstellen |
+ | * Parallel | ||
+ | * Verzeichnisstruktur kopieren | ||
+ | * Filelist erstellen | ||
+ | * Sortieren | ||
+ | * Splitten (Anzahl Prozesse) | ||
+ | * Nicht mehr vorhandene Files loeschen | ||
+ | * Neue / geaenderte files mit mehreren Prozessen synchronisieren | ||
====== Bash/Rsync Magic (4) ====== | ====== Bash/Rsync Magic (4) ====== | ||
- | < | + | < |
- | * Software Diagramm | + | # Sync Directory Structure |
+ | rsync -avHAXS -f" | ||
+ | # Create Filelists | ||
+ | ( find src/server/ ! -type d > filelist.txt | ||
+ | sort -R filelist.txt > filelist2.txt | ||
+ | split -d -a6 -n r/ | ||
+ | # Delete obsolete files | ||
+ | rsync -r --delete --existing --ignore-existing src/server/ dest/ | ||
+ | wait | ||
+ | # Sync Files in Filelist | ||
+ | for ((i=0; i< | ||
+ | do | ||
+ | rsync -avHAXS --files-from=filelist.scrambled.txt.${i} src/server/ dest/ | ||
+ | done | ||
</ | </ | ||
- | ====== Bash/Rsync Magic Probleme ====== | + | ====== Bash/Rsync Magic (5) ====== |
+ | |||
+ | * Backup mit n-prozessen pro server | ||
+ | * Backup Zyklus? | ||
+ | * Backup-Server soll immer eine gewisse Load haben (Anzahl laufender rsync prozesse) | ||
+ | * Warteschlange / Queue | ||
+ | * Backup laeuft pro Server. | ||
+ | * Script checkt Server, die nicht gerade gebackuppt werden und fuegt sie in Warteschlange ein | ||
+ | * 1x Taeglich | ||
+ | * Zweites script checkt Anzahl der laufenden rsync Prozesse | ||
+ | * Startet backup fuer naechsten Server in Queue | ||
+ | * 1x Stuendlich | ||
+ | |||
+ | ====== Bash/Rsync Magic (6) ====== | ||
+ | |||
+ | {{.: | ||
+ | |||
+ | ====== Bash/Rsync Magic (7) ====== | ||
+ | |||
+ | * Clustercopy.sh | ||
+ | * Erweiterung des Backup-Scripts | ||
+ | * Zum Kopieren von Files auf Clustern | ||
+ | * Erwartet Liste von Nodes und Anzahl der Prozesse | ||
+ | * rsync mit m Prozessen auf n Nodes | ||
+ | * Speedup fuer parallele Dateisysteme | ||
+ | |||
+ | ====== Bash/ | ||
+ | |||
+ | * Out of Memory (ZFS) | ||
+ | * Directories mit vielen Files? | ||
+ | * Anzahl der Rsync-Prozesse | ||
+ | * Rebuild Zeit bei SMR Disks | ||
+ | * Hinzufuegen neuer Disks | ||
+ | * ZFS Troubles | ||
+ | * Bottlenecks | ||
+ | * SAS | ||
+ | * Netzwerk | ||
+ | * CPU/Memory | ||
- | < | ||
- | * Out of Memory (ZFS) | ||
- | * Anzahl der Rsync-Prozesse | ||
- | * Rebuild Zeit bei SMR Disks | ||
- | * Hinzufuegen neuer Disks | ||
- | * ZFS Troubles | ||
- | </ | ||
====== Ausblick ====== | ====== Ausblick ====== | ||
* Backup auf Tapes mit IBM Spectrum Protect | * Backup auf Tapes mit IBM Spectrum Protect | ||
- | * 10 TB / Tape | + | * Tape Library TU Wien Geodaesie |
- | * 200 MB/s write speed per drive | + | * 9 TB / Tape unkomprimiert (LTO-7 M8) |
+ | * 300 MB/s write speed per drive | ||
* 3 Drives | * 3 Drives | ||
* 100 Tapes | * 100 Tapes | ||
- | * 1 TSM Server | + | * 1 Server |
- | * 2 TSM Clients | + | * 2 Clients |
====== Ausblick (2) ====== | ====== Ausblick (2) ====== | ||
- | * TSM Server | + | * Spectrum Protect |
* 2x Intel Xeon E5-2697V4, 2.3 GHz, 18 Cores / 36 Threads | * 2x Intel Xeon E5-2697V4, 2.3 GHz, 18 Cores / 36 Threads | ||
* 512 GB Ram | * 512 GB Ram |