The most recent version of this page is a draft.DiffThis version (2019/05/02 19:24) is a draft.
Approvals: 0/1

This is an old revision of the document!


VSC-3

  • Installation Sommer 2014 durch ClusterVision
  • 2020 Nodes
    • 2x Intel Xeon E5-2650v2, 2.6 GHz, 8 Cores
    • 64 GB Ram
    • 2x Infiniband QDR (40 GBit/s)
    • Ölgekühlt
  • 36 Storage Server
    • 10 Server für Home Filesysteme
    • 8 Server für paralleles Global/Scratch Filesystem
    • 16 Server für parallele Bioinformatik Filesysteme
    • 2 Server für GPFS (EODC)

Derzeitiges Off-Site Backup

  • Prinzipiell nur fuer Disaster-Recovery
  • /home Dateisysteme
    • 10 Fileserver VSC-3
    • 6 Fileserver VSC-2 (Archiv)
    • Fileserver Hadoop Cluster / Datalabs
    • Gesamt derzeit ca. 800 TB Brutto / 750 Mio. Dateien
    • Durchschnittliche Dateigroesse ~ 1 MB

Derzeitiges Off-Site Backup (2)

Struktur der Daten

Struktur der Daten (2)

Struktur der Daten (3)

Struktur der Daten (4)

Backup-Maschine

  • 1 Maschine
    • 2x Intel Xeon E-5620, 2.4 GHz, 4 Cores / 8 Threads
    • 128 GB Ram
    • 10 GBit/s zum Arsenal
    • 4x SAS3 HBA (LSI SAS3008)
    • 140 x 8 TB Seagate Archive (SMR) Disks
    • SAS2 JBODs

Filesystem

  • ZFS
    • 3 Pools
      • VSC2/Hadoop
      • VSC3
      • VSC3_2
    • Mehrere VDEVs pro Pool
      • Alle Raidz-3
    • 1 Filesystem pro Fileserver
    • Keine Cache/Log Devices
    • Alle Pools gemeinsam 1050TB

Backup Sofware

  • Selbst gebaut mit GNU tools
    • Bash, Rsync, Grep, Split, etc
  • Snapshotting (ZFS)
    • pro Server
    • pro Backup-Zyklus
    • script zum loeschen von alten Snapshots (halbautomatisch)
  • Konfigurations-File
# Configuration File for the backup script
# Server  Source            Destination    ProcessCount  ZFS Snapshot  Log-File
nfs01     /mntbackup/nfs01  /backup/nfs01  4             1             /backup/log/nfsbackup_nfs01
nfs02     /mntbackup/nfs02  /backup/nfs02  1             1             /backup/log/nfsbackup_nfs02
nfs03     /mntbackup/nfs03  /backup/nfs03  1             1             /backup/log/nfsbackup_nfs03

Backup Software (2)

  • Status Output
[root@fh100 ~]# /backup/bin/new/vsc_show_backupstate
+++++++++++++++++++++++++++++++++++++++++
+Current Backup-State of VSC-2 and VSC-3+
+++++++++++++++++++++++++++++++++++++++++
nfs01: Backup running since 2019-04-30.
nfs02: Backup running since 2019-04-30.
nfs03 completed at 2019-04-23 with a runtime of  58729 Seconds. Next Backup already queued on 2019-04-23
+++++++++++++++++++++++++++++++++++++++++
+       Backup-Pools Space Report       +
+++++++++++++++++++++++++++++++++++++++++
backup: 35.3T available
backup2: 49.7T available
tank7NG: 23.5T available

Bash/Rsync Magic (1)

  • Naiver Ansatz
rsync -avHAXS --delete src/ dest/
  • Vorteile
    • Einfach
  • Nachteile
    • Nur 1 Prozess
      • und der macht die halbe Zeit IOWait bei NFS ueber 10G
    • Nur der fuer Aenderungen lauft schon ewig
    • Funktioniert so nicht bei 750 Mio. Files

Bash/Rsync Magic (2)

  • Parallelisierung - Naiver Ansatz
for i in {1..10}; do rsync -avHAXS --delete src/server${i} dest/server${i} & 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)

  • Parallelisierung - Besser
    • Fuer jeden server
      • 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 -avHAXS -f“+ */“ -f“- /” $sourcedir/ . >/dev/null 2>&1 & ( find src/server/ ! -type d > filelist.txt sort -R filelist.txt > filelist2.txt split -d -a6 -n r/$numProcesses filelist2.txt > filelist.scrambled.txt ) & rsync -r –delete –existing –ignore-existing src/server/ dest/server/ & wait

for 1)


1)
i=0; i<$numProcesses; i++)) do rsync -avHAXS --files-from=filelist.scrambled.txt.${i} src/server/ dest/server/ & done ``` ====== Bash/Rsync Magic (4) ======
  • Backup mit n-prozessen pro server
  • Backup Zyklus?
    • Server soll immer eine gewisse load haben
  • Warteschlange / Queue
    • Server backuppen, wenn fertig signalisieren sie bereitschaft fuer naechstes backup
    • Scheduled script checkt Anzahl der Rsync prozesse 1x pro Stunde
      • Startet backup fuer naechsten Server in Queue
====== Bash/Rsync Magic (5) ====== ====== Bash/Rsync Magic Probleme ======
* Out of Memory (ZFS)
* Anzahl der Rsync-Prozesse
* Rebuild Zeit bei SMR Disks
* Hinzufuegen neuer Disks
* ZFS Troubles
====== Ausblick ======
  • Backup auf Tapes mit IBM Spectrum Protect
    • 10 TB / Tape
    • 200 MB/s write speed per drive
    • 3 Drives
    • 100 Tapes
    • 1 TSM Server
    • 2 TSM Clients
====== Ausblick (2) ======
  • TSM Server
    • 2x Intel Xeon E5-2697V4, 2.3 GHz, 18 Cores / 36 Threads
    • 512 GB Ram
    • 2 x 10 GBit/s zum Arsenal
    • 2 x 10 GBit/s zum Freihaus
    • 4 x 8 GBit/s Fibre Channel zur Tape Library (IBM TS4500)
    • 4 x 2 TB Intel DC P3600 fuer DB2 Datenbank (RAID10)
    • 6 x 500 GB SSD fuer Disk Pool (RAID5)
====== Ende ======
  • Danke für die Aufmerksamkeit
  • pandoc/arge_storage/05_backup_on_vsc3/backup_on_vsc3.1556825082.txt.gz
  • Last modified: 2019/05/02 19:24
  • by pandoc