Δημιουργία αντιγράφων ασφαλείας δεδομένων χρησιμοποιώντας FreeFileSync και 7-zip

Αναμνησία, ας πούμε έτσι:

Fujitsu rx300 s6 server, RAID6 6 δίσκων 1TB, XenServer 6.2 εγκατεστημένος, αρκετοί διακομιστές που περιστρέφονται, ανάμεσά τους το Ubuntu με αρκετές μπάλες, 3,5 εκατομμύρια αρχεία, 1,5 TB δεδομένων, όλα αυτά σταδιακά μεγαλώνουν και διογκώνονται.

Εργασία: δημιουργία αντιγράφων ασφαλείας δεδομένων από διακομιστή αρχείων, εν μέρει καθημερινά, εν μέρει εβδομαδιαία.
Έχουμε ένα μηχάνημα δημιουργίας αντιγράφων ασφαλείας των Windows με RAID5 (μια κακή τυπική μονάδα συστήματος με έναν ελεγκτή RAID ενσωματωμένο στη μητέρα) συν έναν ξεχωριστό δίσκο 2 TB για ενδιάμεση αντιγραφή της τρέχουσας κατάστασης των αρχείων. Ήταν δυνατή η χρήση οποιασδήποτε διανομής Linux, αλλά αυτό το μηχάνημα ήταν ήδη διαθέσιμο με συστοιχία raid και άδεια Windows.

Εγκατάσταση σε έναν εφεδρικό διακομιστή FreeFileSync, ρυθμίσαμε έναν «καθρέφτη» των πάντων στη σειρά από όλους τους κοινόχρηστους διακομιστές αρχείων μία φορά την ημέρα το βράδυ μετά από 18 ώρες εκτελώντας τον μέσω του προγραμματιστή.

Ένα σημαντικό σημείο: κατά την αποθήκευση μιας ομαδικής εργασίας, βεβαιωθείτε ότι έχετε ελέγξει το "Κλείσιμο παραθύρου εργασιών όταν ολοκληρωθεί", διαφορετικά οι διεργασίες θα πολλαπλασιαστούν και θα πολλαπλασιαστούν.

Ρίχνουμε προσωρινά αρχεία σε εξαιρέσεις μάσκας: *.dwl, *.dwl2, *.tmp.

Το FreeFileSync χρησιμοποιεί το δίκτυο εξαιρετικά καλά, η αντιγραφή πραγματοποιείται σε πολλά νήματα, η ταχύτητα φτάνει τα 80 Mbps κατά την αντιγραφή μεγάλων αρχείων, δεν βρέθηκε αποκλεισμός σε μικρά αρχεία.

Η αρχειοθέτηση θα πραγματοποιηθεί σε έναν τοπικό εφεδρικό διακομιστή, αντί για αυτόν που χρησιμοποιήθηκε προηγουμένως TheCopier με αρχειοθέτηση δικτύου. Παρεμπιπτόντως, το TheCopier είναι υπέροχο! Αλλά με τέτοιους όγκους, απλά δεν έχει χρόνο να μεταφέρει τα πάντα, παρά τη διεπαφή 1 Gbps στο αντίγραφο ασφαλείας και 2 Gbps στο αρχείο XNUMX (δεσμός δύο καρτών δικτύου).

Επίσης χρησιμοποιήθηκε παλαιότερα Συγχρονισμός, αλλά όταν ο αριθμός των αρχείων ξεπέρασε τα 1,5-2 εκατομμύρια, σταμάτησε να λειτουργεί κανονικά, απλά δεν μπορούσε να αντεπεξέλθει.

Για να αρχειοθετήσουμε τους απαραίτητους φακέλους, γράφουμε ένα αρχείο δέσμης για 7-zip:

ορίστηκε τώρα=%TIME:~0,-3%
ορίστε τώρα=%τώρα::=.%
ορίστε τώρα=%τώρα: =0%
ορίστε τώρα=%DATE:~-4%.%DATE:~3,2%.%DATE:~0,2%_%τώρα%
C:"Program Files"7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_10-04.zip E:10-04
C:"Program Files"7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_35-110.zip E:35-110
C:"Program Files"7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_asu.zip E:asu
C:"Program Files"7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_director.zip E:director
C:"Program Files"7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_gpr.zip E:gpr
C:"Program Files"7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_otiz.zip E:otiz
C:"Program Files"7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_ps.zip E:ps
C:"Program Files"7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_pto.zip E:pto
C:"Program Files"7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_rza.zip E:rza
C:"Program Files"7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_smeta.zip E:smeta

::a - δημιουργία αρχείου
:: -tzip ή -t7z - τύπος αρχείου (το zip είναι 1.5-2 φορές πιο γρήγορο)
:: -mx=1 — λόγος συμπίεσης (1 ελάχιστο, 9 μέγιστες τιμές x=[0 | 1 | 3 | 5 | 7 | 9 ])
:: -mmt=on - ενεργοποιεί το multithreading όπου δεν είναι ενεργοποιημένο
:: -mtc=off - απενεργοποιεί τις χρονικές σημάνσεις του συστήματος αρχείων (όταν αποθηκεύονται, τροποποιούνται, κ.λπ.)
:: -ssw - συμπιέζει επίσης αρχεία που ανοίγουν για εγγραφή
:: -xr!.Sync* - εξαιρεί προσωρινά αρχεία BtSync από την αρχειοθέτηση, αφήνοντας μόνιμα

Η κατασκευή του set now=% και ούτω καθεξής σας επιτρέπει να αποθηκεύσετε τη μορφή του χρόνου εγγραφής σε ένα όνομα αρχείου χωρίς τα προβλήματα που προέκυψαν όταν ο αριθμός της ημέρας ή του μήνα ήταν μικρότερος από 10, δηλαδή αντικαθιστούμε ένα μηδέν.

Σχόλιο -xr!.Sync* είναι ένα βασικό στοιχείο που έχει απομείνει από το αρχικά χρησιμοποιημένο BTSync.

Έως 500 GB και 700-800 χιλιάδες αρχεία, το BTSync εξακολουθούσε να λειτουργεί καλά, συγχρονίστηκε εν κινήσει, αλλά με τους τρέχοντες τόμους κατανάλωνε πολύ πόρους μνήμης και επεξεργαστή τόσο στον διακομιστή αρχείων Ubuntu όσο και στο αντίγραφο ασφαλείας των Windows όπου ξεκίνησε από η υπηρεσία, και επίσης απλώς βιάστηκε το σύστημα δίσκων με συνεχείς αναγνώσεις και εγγραφές.

Αν και ο αρχειοθέτης είναι 7-zip, το αρχειοθετούμε σε μορφή zip αντί για το εγγενές 7z, επειδή είναι πολύ πιο γρήγορο και πρακτικά δεν υπάρχει διαφορά στη συμπίεση με mx=1, αυτό έχει επαληθευτεί από πολλά πειράματα.

Τα αρχεία εκτελούνται ένα προς ένα.

Ο φάκελος με τα αρχεία καθαρίζεται επίσης μέσω μιας προγραμματισμένης εργασίας χρησιμοποιώντας το βοηθητικό πρόγραμμα fpurge, αφήνοντας τα αρχεία όχι παλαιότερα από μία εβδομάδα.
Ως αποτέλεσμα, έχουμε ένα αντίγραφο των αρχείων για την προηγούμενη ημέρα, καθώς και αρχεία για την τελευταία εβδομάδα· το FreeFileSync τοποθετεί τα διαγραμμένα αρχεία στον κάδο απορριμμάτων.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο