Backup, Teil 1: Zielsetzung, Überblick ĂŒber Methoden und Technologien

Backup, Teil 1: Zielsetzung, Überblick ĂŒber Methoden und Technologien
Warum sind Backups notwendig? Die Hardware ist doch ziemlich zuverlĂ€ssig, und es gibt zudem die "Cloud", die in Bezug auf ZuverlĂ€ssigkeit besser ist als physische Server: Bei richtiger Konfiguration kann ein "Cloud"-Server ganz einfach den Ausfall eines physischen Infrastrukturservers ĂŒberstehen, und aus Sicht der Nutzer der Dienste gibt es nur einen kleinen, kaum merklichen Anstieg der Wartungszeit. Außerdem erfordert die Duplizierung von Informationen oft, dass man "ĂŒberflĂŒssige" CPU-Zeit, Festplattenlast und Netzwerktraffic bezahlt.

Ein ideales Programm funktioniert schnell, lÀuft nicht im RAM aus, hat keine Löcher und existiert nicht.

—Unbekannter

Da Programme noch von menschlichen Entwicklern geschrieben werden und der Testprozess oft fehlt, plus die Bereitstellung von Software extrem selten unter Verwendung von "Best Practices" erfolgt (die selbst auch Programme sind und daher nicht perfekt), mĂŒssen Systemadministratoren meist Aufgaben lösen, die kurz und prĂ€gnant klingen: "Wiederherstellen, wie es war", "Datenbank in den Normalbetrieb versetzen", "Arbeitet langsam — zurĂŒcksetzen", sowie mein Lieblingssatz "Ich weiß nicht, was, aber repariere es".

Neben logischen Fehlern, die durch nachlĂ€ssige Arbeit der Entwickler oder ZufĂ€lle entstehen, sowie unvollstĂ€ndigem Wissen oder VerstĂ€ndnis kleiner Eigenschaften des Programmaufbaus — darunter Bindungen und systemische Komponenten, einschließlich Betriebssysteme, Treiber und Firmware — gibt es noch viele andere Fehler. Viele Entwickler verlassen sich beispielsweise auf die Laufzeit und vergessen dabei völlig die physikalischen Gesetze, die man mit Programmen immer noch nicht umgehen kann. Dazu gehören die unendliche ZuverlĂ€ssigkeit von Speichersubsystemen und insgesamt jeder Art von Datenspeicherung (einschließlich RAM und CPU-Cache!), sowie null Verarbeitungszeit auf der CPU, keinerlei Fehler bei der Übertragung im Netzwerk und bei der Verarbeitung auf der CPU und eine Netzwerklatenz, die gleich 0 ist. Man sollte auch die berĂŒchtigten Deadlines nicht vernachlĂ€ssigen, denn wenn man sie nicht einhĂ€lt — treten Probleme auf, die komplizierter sind als die Feinheiten der Netz- und Festplattenarbeit.

Backup, Teil 1: Zielsetzung, Überblick ĂŒber Methoden und Technologien

Wie steht es um Probleme, die sich unĂŒbersehbar aufdrĂ€ngen und ĂŒber wertvolle Daten schweben? Echte Entwickler sind nicht zu ersetzen, und es ist ungewiss, ob dies in naher Zukunft möglich sein wird. Auf der anderen Seite konnte bislang nur bei wenigen Projekten vollstĂ€ndig bewiesen werden, dass ein Programm wie geplant funktioniert, und es ist keineswegs garantiert, dass diese Beweise auf andere, Ă€hnliche Projekte ĂŒbertragen werden können. Zudem erfordern solche Beweise enorm viel Zeit und spezielle FĂ€higkeiten und Kenntnisse, was die Möglichkeit ihrer Anwendung unter BerĂŒcksichtigung der Fristen praktisch auf ein Minimum reduziert. DarĂŒber hinaus beherrschen wir noch nicht die extrem schnellen, kostengĂŒnstigen und unendlich zuverlĂ€ssigen Technologien zur Speicherung, Verarbeitung und Übertragung von Informationen. Solche Technologien existieren, wenn ĂŒberhaupt, meist nur als Konzepte oder — hĂ€ufiger — lediglich in fantastischen BĂŒchern und Filmen.

Gute KĂŒnstler kopieren, große KĂŒnstler stehlen.

—Pablo Picasso.

Die erfolgreichsten Lösungen und erstaunlich einfachen Dinge entstehen oft dort, wo absolut inkompatible Konzepte, Technologien, Wissen und Fachgebiete aufeinander treffen.

Zum Beispiel haben Vögel und Flugzeuge FlĂŒgel, aber trotz der funktionalen Ähnlichkeit — das Prinzip des Handelns stimmt in einigen Modi ĂŒberein, und technische Probleme werden Ă€hnlich gelöst: hohle Knochen, Verwendung von starken und leichten Materialien usw. — sind die Ergebnisse grundverschieden, auch wenn sie sehr Ă€hnlich sind. Die besten Beispiele, die wir in unserer Technik beobachten, sind auch grĂ¶ĂŸtenteils der Natur entliehen: dichte Abteile in Schiffen und U-Boote — eine direkte Analogie zu ringelwĂŒrfeln; die Konstruktion von RAID-Arrays und die ÜberprĂŒfung der IntegritĂ€t von Daten — die Verdopplung der DNA-Kette; sowie paarige Organe, die UnabhĂ€ngigkeit der Funktionsweise verschiedener Organe vom zentralen Nervensystem (Automatisierung der Herzarbeit) und Reflexe — autonome Systeme im Internet. NatĂŒrlich kann es problematisch sein, fertige Lösungen direkt zu ĂŒbernehmen, aber wer weiß, vielleicht gibt es keine anderen Lösungen.

WĂŒsste man, wo man fallen wird, hĂ€tte man sich mit Stroh ausgelegt!

—Weisheit des belarussischen Volkes

Das bedeutet, dass Backups fĂŒr diejenigen, die wĂŒnschen, unbedingt notwendig sind:

  • Die Möglichkeit, die Arbeit ihrer Systeme mit minimalen Ausfallzeiten oder sogar ohne sie wiederherzustellen.
  • Handeln Sie mutig, denn im Falle eines Fehlers gibt es immer die Möglichkeit, zurĂŒckzukehren.
  • Minimieren Sie die Folgen von gezielter DatenbeschĂ€digung.

Hier ist ein wenig Theorie.

Jede Klassifizierung ist willkĂŒrlich. Die Natur klassifiziert nicht. Wir klassifizieren, weil es fĂŒr uns praktischer ist. Und wir klassifizieren nach Daten, die wir ebenfalls willkĂŒrlich auswĂ€hlen.

—Jean BrĂŒller

UnabhĂ€ngig von der physikalischen Speicherform kann die logische Datenspeicherung grob in zwei Zugriffsarten auf diese Daten unterteilt werden: blockweise und dateibasiert. Diese Unterteilung ist in letzter Zeit ziemlich verschwommen, denn rein blockbasierte und rein dateibasierte logische Speicher existieren nicht. FĂŒr die Einfachheit nehmen wir jedoch an, dass sie existieren.

Die blockweise Datenspeicherung bedeutet, dass es ein physikalisches GerĂ€t gibt, auf dem Daten in festen Portionen, Blöcken, gespeichert werden. Der Zugriff auf die Blöcke erfolgt ĂŒber eine bestimmte Adresse, wobei jeder Block eine eigene Adresse innerhalb des GerĂ€ts hat.

Ein Backup erfolgt in der Regel durch das Kopieren von Datenblöcken. Um die IntegritĂ€t der Daten zum Zeitpunkt des Kopierens zu gewĂ€hrleisten, wird die Aufzeichnung neuer Blöcke gestoppt, ebenso wie Änderungen an bestehenden. Ein passendes Analogon aus der realen Welt wĂ€re ein Schrank mit gleich nummerierten FĂ€chern.

Backup, Teil 1: Zielsetzung, Überblick ĂŒber Methoden und Technologien

Die dateibasierte Datenspeicherung funktioniert Ă€hnlich wie die blockweise Speicherung und wird oft darĂŒber organisiert. Wichtige Unterschiede sind das Vorhandensein einer Speicherhierarchie und menschenlesbare Namen. Es wird eine Abstraktion in Form von Dateien – benannten Datenbereichen – sowie von Verzeichnissen – speziellen Dateien, die Beschreibungen und Zugriffe auf andere Dateien speichern – geschaffen. Dateien können mit zusĂ€tzlichen Metadaten versehen werden: Erstellungszeit, Zugriffsflags usw. In der Regel wird so gesichert: Es werden Änderungen an Dateien gesucht, die dann in einen anderen, strukturell Ă€hnlichen Datenspeicher kopiert werden. Die IntegritĂ€t der Daten wird normalerweise durch das Fehlen von Dateien gewĂ€hrleistet, in die geschrieben wird. Die Metadaten der Dateien werden Ă€hnlich gesichert. Das nĂ€chste Analogon ist eine Bibliothek mit Abteilungen fĂŒr verschiedene BĂŒcher sowie einem Katalog mit menschenlesbaren Buchtiteln.

Backup, Teil 1: Zielsetzung, Überblick ĂŒber Methoden und Technologien

In letzter Zeit wird manchmal eine weitere Variante beschrieben, mit der im Grunde das dateibasierte Speichern von Daten begann und die die gleichen archaischen Merkmale aufweist: das objektbasierte Speichern von Daten.

Es unterscheidet sich vom dateibasierten Speichern dadurch, dass es keine mehr als eine Ebene von Verschachtelung hat (flache Struktur), und die Dateinamen sind zwar leserlich, jedoch eher fĂŒr die Verarbeitung durch Maschinen ausgelegt. Bei der Sicherung werden Objekt-Speicher hĂ€ufig Ă€hnlich wie dateibasierte Speicher behandelt, es gibt aber gelegentlich auch andere Varianten.

— Es gibt zwei Arten von Systemadministratoren: Diejenigen, die keine Backups erstellen, und diejenigen, die es SCHON tun.
— TatsĂ€chlich gibt es drei Arten: Es gibt auch jene, die ĂŒberprĂŒfen, ob die Backups wiederhergestellt werden können.

—Unbekannter

Es ist auch wichtig zu verstehen, dass der Prozess des Datensicherungs durch Programme durchgefĂŒhrt wird. Daher hat er die gleichen Nachteile wie andere Programme. Um die AbhĂ€ngigkeit vom menschlichen Faktor sowie von Merkmalen, die einzeln nicht stark ins Gewicht fallen, aber zusammen einen spĂŒrbaren Effekt haben können, zu reduzieren (nicht auszuschließen!), wird die sogenannte 3-2-1-Regel angewandt. Es gibt viele Möglichkeiten, sie zu interpretieren, aber mir gefĂ€llt folgende Auslegung am besten: Man sollte 3 SĂ€tze derselben Daten speichern, 2 SĂ€tze sollten in unterschiedlichen Formaten gespeichert werden, und 1 Satz sollte in einem geografisch entfernten Speicher vorhanden sein.

Unter dem Speicherformat ist Folgendes zu verstehen:

  • Wenn es eine AbhĂ€ngigkeit von der physischen Speicherweise gibt, Ă€ndern wir die physische Speicherweise.
  • Wenn es eine AbhĂ€ngigkeit von der logischen Speicherweise gibt, Ă€ndern wir die logische Speicherweise.

Um den maximalen Effekt der 3-2-1-Regel zu erzielen, wird empfohlen, das Speicherformat auf beide Arten zu Àndern.

BezĂŒglich der Bereitstellung des Backups fĂŒr den vorgesehenen Zweck — der Wiederherstellung der FunktionsfĂ€higkeit — unterscheidet man zwischen „heißen“ und „kalten“ Backups. Heiße Backups unterscheiden sich von kalten nur darin, dass sie sofort einsatzbereit sind, wĂ€hrend kalte Backups fĂŒr die Wiederherstellung einige zusĂ€tzliche Aktionen erfordern: EntschlĂŒsselung, Extraktion aus dem Archiv usw.

Es ist wichtig, heiße und kalte Kopien nicht mit Online- und Offline-Kopien zu verwechseln, die eine physische Isolation der Daten implizieren und im Grunde eine andere Klassifizierungsmethode fĂŒr Backup-Strategien darstellen. So kann eine Offline-Kopie, die nicht direkt mit dem System verbunden ist, von dem aus sie wiederhergestellt werden soll, sowohl heiß als auch kalt sein (in Bezug auf die Wiederherstellungsbereitschaft). Eine Online-Kopie kann direkt dort verfĂŒgbar sein, wo sie wiederhergestellt werden muss, und ist meistens heiß, es gibt aber auch kalte Kopien.

Zudem sollte man nicht vergessen, dass der Prozess der Erstellung von Backups normalerweise nicht mit der Erstellung einer einzelnen Sicherung endet und es durchaus eine große Anzahl von Kopien geben kann. Folglich ist es wichtig, zwischen vollstĂ€ndigen Sicherungen zu unterscheiden, d.h. solchen, die unabhĂ€ngig von anderen Sicherungen wiederhergestellt werden können, sowie zwischen differentiellen (inkrementellen, differenziellen, dekrementalen usw.) Kopien - solchen, die nicht eigenstĂ€ndig wiederhergestellt werden können und die vorherige Wiederherstellung einer oder mehrerer anderer Sicherungen erfordern.

Differenzielle inkrementelle Kopien sind ein Versuch, den Speicherplatz fĂŒr Sicherungen zu sparen. So werden in das Backup nur die seit der letzten Sicherung geĂ€nderten Daten geschrieben.

Differenzielle dekrementale Kopien werden aus demselben Grund erstellt, aber auf etwas andere Weise: Es wird ein vollstÀndiges Backup erstellt, aber tatsÀchlich wird nur die Differenz zwischen der neuen Kopie und der vorherigen gespeichert.

Der Prozess des Backups ĂŒber einem Speicher, der keine Duplikate speichert, sollte besonders betrachtet werden. Wenn dort vollstĂ€ndige Sicherungen geschrieben werden, wird tatsĂ€chlich nur die Differenz zwischen den Sicherungen aufgezeichnet, der Wiederherstellungsprozess wird jedoch Ă€hnlich der Wiederherstellung von einer vollstĂ€ndigen Sicherung durchgefĂŒhrt und ist vollstĂ€ndig transparent.

Quis custodiet ipsos custodes?

(Wer bewacht die WĂ€chter selbst? — lat.)

Es ist Ă€ußerst unangenehm, wenn keine Sicherungen vorhanden sind, aber es ist viel schlimmer, wenn eine Sicherung zwar erstellt wurde, sich bei der Wiederherstellung jedoch herausstellt, dass sie nicht wiederhergestellt werden kann, weil:

  • Die IntegritĂ€t der ursprĂŒnglichen Daten wurde verletzt.
  • Der Speicher mit den Sicherungen ist beschĂ€digt.
  • Die Wiederherstellung funktioniert sehr langsam, es ist nicht möglich, auf teilweise wiederhergestellte Daten zuzugreifen.

Ein richtig gestalteter Backup-Prozess muss solche Anmerkungen berĂŒcksichtigen, insbesondere die ersten beiden.

Die IntegritĂ€t der Originaldaten kann durch verschiedene Methoden garantiert werden. Am hĂ€ufigsten werden folgende Methoden verwendet: a) Erstellung von Snapshots des Dateisystems auf Blockebene, b) "Einfrieren" des Zustands des Dateisystems, c) spezielles BlockgerĂ€t mit Versionsspeicherung, d) sequenzielle Aufzeichnung von Dateien oder Blöcken. Auch PrĂŒfziffern werden verwendet, um die Daten wĂ€hrend der Wiederherstellung zu ĂŒberprĂŒfen.

SpeicherschĂ€den können ebenfalls mithilfe von PrĂŒfziffern erkannt werden. Eine zusĂ€tzliche Methode ist der Einsatz spezialisierter GerĂ€te oder Dateisysteme, in denen bereits aufgezeichnete Daten nicht mehr geĂ€ndert werden können, aber neue hinzugefĂŒgt werden können.

Um die Wiederherstellung zu beschleunigen, wird die Datenwiederherstellung mit mehreren Prozessen durchgefĂŒhrt, vorausgesetzt, dass es kein "Engpass" in Form eines langsamen Netzwerks oder eines nicht schnellen Speichersystems gibt. Um das Problem mit teilweise wiederhergestellten Daten zu umgehen, kann der Backup-Prozess in relativ kleine Teilaufgaben unterteilt werden, von denen jede separat ausgefĂŒhrt wird. So wird die Möglichkeit geschaffen, die FunktionalitĂ€t sequenziell wiederherzustellen und die Wiederherstellungszeit vorherzusagen. Dieses Problem liegt hĂ€ufig im organisatorischen Bereich (SLA), daher werden wir nicht nĂ€her darauf eingehen.

Es versteht sich von selbst, dass es nicht derjenige ist, der GewĂŒrze zu jedem Gericht hinzufĂŒgt, der sich damit auskennt, sondern derjenige, der niemals etwas ÜberflĂŒssiges hinzufĂŒgt.

—W. Sinjawski

Die Erfahrung im verwendeten Softwarebereich kann bei Systemadministratoren variieren, aber die allgemeinen Prinzipien bleiben dennoch die gleichen, insbesondere:

  • Es wird dringend empfohlen, fertige Lösungen zu verwenden.
  • Programme sollten vorhersehbar arbeiten, d.h. es sollten keine undocumented features oder EngpĂ€sse vorhanden sein.
  • Die Konfiguration jedes Programms sollte so einfach sein, dass man nicht jedes Mal das Handbuch oder ein Spickzettel lesen muss.
  • Die Lösung sollte möglichst universell sein, da sich die Hardwaremerkmale der Server erheblich unterscheiden können.

Zum Erstellen von Sicherungskopien von BlockgerÀten gibt es folgende verbreitete Programme:

  • dd, bekannt bei erfahrenen Systemadministratoren, sowie Ă€hnliche Programme (zum Beispiel dd_rescue).
  • In einige Dateisysteme integrierte Dienstprogramme (Utilities), die ein Abbild (Dump) des Dateisystems erstellen.
  • Alleskönner-Utilities; zum Beispiel, partclone.
  • Eigene, oft proprietĂ€re Lösungen; zum Beispiel, NortonGhost und spĂ€tere Versionen.

FĂŒr Dateisysteme wird die Aufgabe der Sicherung teilweise mit Methoden gelöst, die fĂŒr BlockgerĂ€te anwendbar sind; das Problem kann jedoch auch effektiver gelöst werden, indem man beispielsweise Folgendes verwendet:

  • Rsync, ein universelles Programm und Protokoll zur Synchronisation des Zustands von Dateisystemen.
  • Integrierte Archive-Tools (ZFS).
  • Drittanbieter-Tools zum Archivieren; das bekannteste Beispiel ist tar. Es gibt auch andere, beispielsweise dar – ein Ersatz fĂŒr tar, der auf moderne Systeme ausgerichtet ist.

Besonders erwÀhnenswert sind Softwarelösungen zur GewÀhrleistung der Konsistenz von Daten beim Erstellen von Sicherungskopien. Die hÀufigsten Optionen sind:

  • Das EinhĂ€ngen des Dateisystems im Nur-Lese-Modus (ReadOnly) oder das Einfrieren des Dateisystems (Freeze) – diese Methode ist nur eingeschrĂ€nkt anwendbar.
  • Das Erstellen von Abbilden des Zustands von Dateisystemen oder BlockgerĂ€ten (LVM, ZFS).
  • Die Verwendung von Drittanbieter-Tools zur Organisation von Abbilden, selbst in den FĂ€llen, in denen die vorherigen Punkte aus bestimmten GrĂŒnden nicht umsetzbar sind (Programme wie hotcopy).
  • Die Technik des Kopierens bei Änderungen (CopyOnWrite), die jedoch meistens an das verwendete Dateisystem (BTRFS, ZFS) gebunden ist.

FĂŒr einen kleinen Server muss also ein Sicherungsschema eingerichtet werden, das folgenden Anforderungen entspricht:

  • Einfach in der Handhabung – es sind keine besonderen zusĂ€tzlichen Maßnahmen erforderlich; es sind minimale Maßnahmen zum Erstellen und Wiederherstellen von Kopien erforderlich.
  • Universell – funktioniert sowohl auf großen als auch auf kleinen Servern; dies ist wichtig beim Anstieg der Anzahl Server oder beim Scaling.
  • Wird ĂŒber den Paketmanager installiert oder in ein bis zwei Befehlen wie "Herunterladen und Entpacken".
  • Stabil — es wird ein standardmĂ€ĂŸiges oder bereits lange etabliertes Format fĂŒr die Speicherung verwendet.
  • Schnell in der Anwendung.

Kandidaten, die mehr oder weniger den Anforderungen entsprechen:

  • rdiff-backup
  • rsnapshot
  • burp
  • duplicati
  • duplicity
  • deja dup
  • dar
  • zbackup
  • restic
  • borgbackup

Backup, Teil 1: Zielsetzung, Überblick ĂŒber Methoden und Technologien

Als Testumgebung wird eine virtuelle Maschine (auf Basis von XenServer) mit den folgenden Eigenschaften verwendet:

  • 4 Kerne 2,5 GHz,
  • 16 GB RAM,
  • 50 GB Hybrid-Speicher (SAN mit 20 % SSD-Caching des virtuellen FestplattengrĂ¶ĂŸe) als separate virtuelle Festplatte ohne Partitionierung,
  • 200 Mbit/s Internetanschluss.

Als Server fĂŒr den Empfang der Sicherungskopien wird nahezu dieselbe Maschine verwendet, jedoch mit einer Festplatte mit 500 GB.

Betriebssystem — Centos 7 x64: Standardpartitionierung, ein zusĂ€tzlicher Teil wird als Datenquelle verwendet.

Als Ausgangsdaten nehmen wir eine WordPress-Website mit Mediendateien von 40 GB und einer MySQL-Datenbank. Da virtuelle Server die Anforderungen stark variieren und um eine bessere Reproduzierbarkeit zu erreichen, sind hier

Ergebnisse der Server-Testung mit Hilfe von sysbench.sysbench —threads=4 —time=30 —cpu-max-prime=20000 cpu run
sysbench 1.1.0-18a9f86 (unter Verwendung von gebĂŒndeltem LuaJIT 2.1.0-beta3)
Den Test mit den folgenden Optionen ausfĂŒhren:
Anzahl der Threads: 4
Zufallszahlengenerator von der aktuellen Zeit initialisieren

Grenze der Primzahlen: 20000

Arbeiterthreads werden initialisiert 


Threads gestartet!

CPU-Geschwindigkeit:
Ereignisse pro Sekunde: 836,69

Durchsatz:
Ereignisse/s (eps): 836,6908
vergangene Zeit: 30,0039 s
Gesamtanzahl der Ereignisse: 25104

Latenz (ms):
min: 2,38
avg: 4,78
max: 22,39
95. Perzentil: 10,46
Summe: 119923,64

Threads Fairness:
Ereignisse (avg/stddev): 6276,0000/13,91
AusfĂŒhrungszeit (avg/stddev): 29,9809/0,01

sysbench —threads=4 —time=30 —memory-block-size=1K —memory-scope=global —memory-total-size=100G —memory-oper=read memory run
sysbench 1.1.0-18a9f86 (unter Verwendung von gebĂŒndeltem LuaJIT 2.1.0-beta3)
Den Test mit den folgenden Optionen ausfĂŒhren:
Anzahl der Threads: 4
Zufallszahlengenerator von der aktuellen Zeit initialisieren

DurchfĂŒhrung des Speichertests mit den folgenden Optionen:
BlockgrĂ¶ĂŸe: 1 KiB
GesamtgrĂ¶ĂŸe: 102400 MiB
Operation: lesen
Bereich: global

Arbeiterthreads werden initialisiert 


Threads gestartet!

Gesamtoperationen: 50900446 (1696677,10 pro Sekunde)

49707,47 MiB ĂŒbertragen (1656,91 MiB/s)

Durchsatz:
Ereignisse/s (eps): 1696677,1017
vergangene Zeit: 30,0001 s
Gesamtanzahl der Ereignisse: 50900446

Latenz (ms):
min: 0,00
avg: 0,00
max: 24,01
95. Perzentil: 0,00
Summe: 39106,74

Threads Fairness:
Ereignisse (avg/stddev): 12725111,5000/137775,15
AusfĂŒhrungszeit (avg/stddev): 9,7767/0,10

sysbench —threads=4 —time=30 —memory-block-size=1K —memory-scope=global —memory-total-size=100G —memory-oper=write memory run
sysbench 1.1.0-18a9f86 (unter Verwendung von gebĂŒndeltem LuaJIT 2.1.0-beta3)
Den Test mit den folgenden Optionen ausfĂŒhren:
Anzahl der Threads: 4
Zufallszahlengenerator von der aktuellen Zeit initialisieren

DurchfĂŒhrung des Speichertests mit den folgenden Optionen:
BlockgrĂ¶ĂŸe: 1 KiB
GesamtgrĂ¶ĂŸe: 102400 MiB
Operation: schreiben
Bereich: global

Arbeiterthreads werden initialisiert 


Threads gestartet!

Gesamtoperationen: 35910413 (1197008,62 pro Sekunde)

35068,76 MiB ĂŒbertragen (1168,95 MiB/s)

Durchsatz:
Ereignisse/s (eps): 1197008,6179
vergangene Zeit: 30,0001 s
Gesamtanzahl der Ereignisse: 35910413

Latenz (ms):
min: 0,00
avg: 0,00
max: 16,90
95. Perzentil: 0,00
Summe: 43604,83

Threads Fairness:
Ereignisse (avg/stddev): 8977603,2500/233905,84
AusfĂŒhrungszeit (avg/stddev): 10,9012/0,41

sysbench —threads=4 —file-test-mode=rndrw —time=60 —file-block-size=4K —file-total-size=1G fileio run
sysbench 1.1.0-18a9f86 (unter Verwendung von gebĂŒndeltem LuaJIT 2.1.0-beta3)
Den Test mit den folgenden Optionen ausfĂŒhren:
Anzahl der Threads: 4
Zufallszahlengenerator von der aktuellen Zeit initialisieren

ZusÀtzliche Dateiflags: (keine)
128 Dateien, jeweils 8 MiB
1 GiB GesamtdateigrĂ¶ĂŸe
BlockgrĂ¶ĂŸe 4 KiB
Anzahl der IO-Anfragen: 0
Lese-/SchreibverhĂ€ltnis fĂŒr kombinierten Zufalls-I/O-Test: 1,50
Periodisches FSYNC aktiviert, fsync() wird alle 100 Anfragen aufgerufen.
fsync() am Ende des Tests aufgerufen, aktiviert.
Verwendung des synchronen I/O-Modus
DurchfĂŒhrung des zufĂ€lligen r/w-Tests
Arbeiterthreads werden initialisiert 


Threads gestartet!

Durchsatz:
lesen: IOPS=3868,21 15,11 MiB/s (15,84 MB/s)
schreiben: IOPS=2578.83 10.07 MiB/s (10.56 MB/s)
fsync: IOPS=8226.98

Latenz (ms):
min: 0,00
durchschnittlich: 0.27
max: 18.01
95. Perzentile: 1.08
summe: 238469.45

Mit dieser Notiz beginnt eine große

Artikelreihe ĂŒber Backups

  1. Sicherung, Teil 1: Warum Backups nötig sind, Überblick ĂŒber Methoden und Technologien
  2. Sicherung, Teil 2: Überblick und Test von rsync-basierten Sicherungswerkzeugen
  3. Datensicherung, Teil 3: Überblick und Tests von duplicity, duplicaty, deja dup
  4. Sicherung, Teil 4: Überblick und Test von zbackup, restic, borgbackup
  5. Backup, Teil 5: Tests von Bacula und Veeam Backup fĂŒr Linux
  6. Backup, Teil 6: Vergleich von Backup-Tools
  7. Backup, Teil 7: Zusammenfassungen

Quelle: habr.com

60GB SSD 8Gb DDR4