Ich habe einen Cron, der im Grunde genommen in der Nacht ein einfaches "tar zcf" macht.
Der Server hat:
- 8 Kerne - Intel (R) Xeon (R) CPU E5606 @ 2,13 GHz
- 25 GB RAM
- Ubuntu 12.04.2 LTS
- Hardware-RAID 1 (LSI Logic / Symbios Logic MegaRAID SAS SMC2108) mit zwei 2,728-TB-Festplatten
Wie Sie auf dem Überwachungsbildschirm sehen können:
Während fast der gesamten Zeit des Teers geht die Disc-E / A auf> 90% und alle anderen Anwendungen (MySQL, Apache) werden sehr langsam.
2 Fragen:
- Ist es normal, dass während des Backups so viele Datenträger-I / O-Vorgänge ausgeführt werden?
- Gibt es eine Möglichkeit, die E / A der Disc zu begrenzen, damit andere Apps weiterhin ordnungsgemäß funktionieren können?
Vielen Dank!
ubuntu
backup
performance
io
hard-drive
acemtp
quelle
quelle
find
without (eg)-perm
greift jedoch nicht auf den Datei-Inode zu. Dies ermöglicht jedoch, dass die Optimierung zweifind
Aufrufe verwendet. Wenn Sie denselbenfind
Anruf zweimal tätigen (mit wenig Zeit dazwischen), wird der zweite Anruf normalerweise innerhalb von Sekunden (oder weniger) beendet. Abhängig von der Größe des freien Speichers und der Datenmenge, die zu einem bestimmten Zeitpunkt zwischengespeichert wurde, werden die Daten aus dem Cache entfernt. Wenn Sie zu viel lesen, kann dies den Vorgang verlangsamen. Wenn Sie das Sicherungsprogramm über stdin mit Dateinamen versorgen können, können Sie dies verhindern, indem Sie Blöcke von zB 100 Dateien lesen.Es wird erwartet, dass bei Sicherungen hohe E / A-Werte auftreten, da diese im Allgemeinen über große Dateibäume mit großen Dateien erstellt werden. Unter
ionice
Linux können Sie E / A-Jobs mit Klassen und Ebenen priorisieren. IIRC, Klasse 2, Stufe 7 ist die niedrigste, nicht ausgehungerte Stufe, die sie für andere E / A-Lasten und Benutzer praktisch unsichtbar macht. Sieheman ionice
für die Nutzung und Details.quelle
Ich würde empfehlen, Teer abzulegen und mit rsync zu arbeiten (wie von Dogsbody erwähnt). Ich verwende BackupPC, um Dateien auf meinen Windows- und Linux-Systemen zu sichern. Es unterstützt sowohl die Verwendung von tar als auch von rsync und kümmert sich automatisch um die harte Verlinkung für Sie und bietet eine schöne Weboberfläche.
http://backuppc.sourceforge.net/
quelle
Wie andere geantwortet haben, ist dies normal und
ionice
eine gute generische Methode, um Ihr System nicht zu beeinträchtigen.Einige Male habe ich Leute gesehen,
tar
die etwas zu tun hatten, wenn es nicht nötig war. Wenn sich ein Prozentsatz der Daten, die Sie kopieren, seit der letzten Kopie nicht geändert hat, empfehle ich Ihnen, es zursync
versuchen.Dadurch wird die Anzahl der E / A-Vorgänge verringert, indem nur die Dateien kopiert werden, die seit der letzten Kopie geändert wurden. Sie werden nicht in der Lage sein, die E / A um mehr als die Hälfte zu reduzieren, da alle Daten noch gelesen werden müssten, aber Sie werden die Menge der geschriebenen Daten erheblich reduzieren (was abhängig von Ihrer Hardware auch eine langsamere Operation sein kann).
Wenn Sie bei jeder Ausführung separate Kopien / Sicherungen wünschen, ist die leistungsstärkste Option –link-dest, mit der Sie unveränderte Dateien mit einer vorherigen Sicherung fest verknüpfen können. Dies spart enorm viel Platz auf dem Backup-Server. Ich habe zB eine Maschine (Fred) gesichert, Fred hat eine 20 GB Festplatte und ich kopiere das gesamte Laufwerk mit Ausnahme von / proc und / dev. Ich habe jetzt ein 20-GB-Verzeichnis auf meinem Sicherungsserver. Am nächsten Tag mache ich ein Backup von Fred und –link-dest zum Backup von gestern. Rsync vergleicht die entfernten Dateien mit der lokalen Kopie und wenn genau, werden sie nicht übertragen, sondern die neue Datei wird fest mit der gestrigen Datei verknüpft. Alle Dateien, die geändert wurden, werden neu kopiert (oder, falls möglich, teilweise mit der gestrigen Sicherung kopiert). Wenn sich seit gestern nur 100MB Dateien geändert haben, habe ich jetzt zwei Verzeichnisse mit jeweils 20GB Dateien, die aber nur 20 aufnehmen.
Ich hoffe das hilft und beantwortet noch deine Frage.
quelle