Εκτός τόπου & ανάκτηση¶
Τα αντίγραφα εκτός τόπου περιμένουν μετά από ανακατασκευή
Όταν το βήμα 4 ανακατασκευάζει στοιχεία χωρίς τις παλιές ρυθμίσεις, η αναπαραγωγή εκτός τόπου αυτών των τομέων μπαίνει σε παύση μέχρι να επιβεβαιωθεί η προεπιλογή τοποθέτησης. Δείτε Τοποθέτηση ανά στοιχείο.
Τα τοπικά αντίγραφα σας προστατεύουν από ένα χαμένο container ή μια κακή ενημέρωση. Η αναπαραγωγή εκτός τόπου και ένα δοκιμασμένο κιτ ανάκτησης σας προστατεύουν από ολόκληρο το μηχάνημα, το ransomware, ή μια φωτιά. Αυτή η σελίδα καλύπτει την αναπαραγωγή εκτός τόπου, το να κάνετε εκείνο το αντίγραφο ανθεκτικό σε αλλοίωση, την απόδειξη ότι μπορείτε να επαναφέρετε, και την ανάκτηση όταν το ίδιο το BombVault έχει χαθεί.
Αναπαραγωγή εκτός τόπου¶
Κρατήστε το γρήγορο τοπικό αντίγραφο και προσθέστε ένα ή περισσότερα αντίγραφα εκτός τόπου. Ορίστε ένα αποθετήριο ανά τομέα στη σελίδα Ρυθμίσεις, Εκτός τόπου. Το BombVault αναπαράγει εκεί νέα στιγμιότυπα με restic copy σε βάση βέλτιστης προσπάθειας, ώστε μια αναποδιά εκτός τόπου να μην αποτυγχάνει ποτέ το τοπικό αντίγραφο. Σε αυτή τη μορφή το τοπικό αποθετήριο παραμένει το κύριο και το αποθετήριο εκτός τόπου είναι αντίγραφό του, όμως το κύριο αποθετήριο ενός τομέα δεν χρειάζεται καθόλου να είναι τοπικό· δείτε παρακάτω τα Απομακρυσμένα κύρια αποθετήρια για αντίγραφα κατευθείαν σε S3, rest-server κ.λπ. αντί για αναπαραγωγή προς αυτά.
- Πολλαπλοί στόχοι εκτός τόπου ανά τομέα. Κάθε τομέας (containers, VMs, flash, config, σύνολα αρχείων και σύνολα δεδομένων ZFS) μπορεί να αναπαράγει σε πολλούς προορισμούς εκτός τόπου ταυτόχρονα, όχι μόνο έναν, ώστε να μπορείτε να κρατάτε, για παράδειγμα, έναν rest-server στο μηχάνημα ενός φίλου και ένα bucket S3 παράλληλα. Προσθέστε επιπλέον στόχους στις Ρυθμίσεις, Εκτός τόπου, τον καθένα με το δικό του αποθετήριο, κλάση αποθήκευσης S3, σημαία append-only, διατήρηση και προϋπολογισμό ανάπτυξης. Μια υπάρχουσα μεμονωμένη ρύθμιση εκτός τόπου μεταφέρεται ανέγγιχτη ως ο πρώτος στόχος, και κάθε στόχος ενός τομέα αναπαράγει στο χρονοδιάγραμμα εκτός τόπου εκείνου του τομέα.
- Χρονοδιάγραμμα εκτός τόπου ανά τομέα (επεξεργάσιμο μαζί με κάθε άλλο χρονοδιάγραμμα στις Ρυθμίσεις, Προγραμματισμοί): αφήστε το κενό για αναπαραγωγή μετά από κάθε τοπικό αντίγραφο, ή ορίστε μια συχνότητα (για παράδειγμα
weekly Sun 03:00) για να στέλνετε εκτός τόπου λιγότερο συχνά από όσο δημιουργείτε αντίγραφα τοπικά. Ένα κουμπί Αναπαραγωγή τώρα καλύπτει τις εκτελέσεις κατ' απαίτηση. - Η διατήρηση εκτός τόπου βρίσκεται στις Ρυθμίσεις, Διατήρηση ώστε να μπορείτε να κρατάτε τα αντίγραφα εκτός τόπου περισσότερο ως αρχείο. Αφήστε την πολιτική ολόκληρη μηδέν για να μην κλαδεύονται ποτέ αυτόματα τα στιγμιότυπα εκτός τόπου.
- Τα όρια εύρους ζώνης (Ρυθμίσεις, Εκτός τόπου) περιορίζουν τον ρυθμό αποστολής/λήψης του restic ώστε η αναπαραγωγή να μην κορεσμό το WAN σας.
- Ένας δείκτης αναπαραγωγής δείχνει ποιος τομέας αναπαράγει ενώ αυτή εκτελείται (στη σελίδα του και στον Πίνακα ελέγχου). Είναι ένας ενεργός δείκτης, όχι μια μπάρα ποσοστού, επειδή το
restic copyδεν εκθέτει καμία μηχανικά αναγνώσιμη πρόοδο.
Επαναφορά από οποιοδήποτε σημείο
Κάθε container, VM, σύνολο φακέλων, το flash και η διαμόρφωση της εφαρμογής παραθέτουν τα αντίγραφα ασφαλείας τους ως μία χρονική γραμμή σε όλα τα σημεία όπου βρίσκεται ένα αντίγραφο. Ένα αντίγραφο που αντιγράφεται στο B2 εμφανίζεται μία φορά, σημειωμένο με κάθε σημείο που το κρατά. Μια επαναφορά παίρνει το πρώτο προσβάσιμο σημείο, ξεκινώντας από το αποθετήριο στο οποίο γράφεται το στοιχείο, και μπορείτε να επιλέξετε άλλο σημείο ανά γραμμή. Τα σημεία εκτός τόπου διαβάζονται μόνο όταν τα ανοίγετε. Η διαγραφή σε ένα σημείο ελέγχει πρώτα τα υπόλοιπα και λέει αν ήταν το τελευταίο αντίγραφο.
Προορισμοί¶
Οι Ρυθμίσεις, Εκτός τόπου ξεκινούν με την κάρτα Προορισμοί: τα μέρη όπου πηγαίνουν τα αντίγραφα εκτός τόπου, που ρυθμίζονται μία φορά για όλους τους τομείς. Ένας προορισμός εμφανίζεται έπειτα ως κουμπί στη γραμμή Τοποθέτηση κάθε τομέα και στοιχείου. Την πρώτη φορά που επιλέγεται για έναν τομέα, το BombVault δημιουργεί το αποθετήριο εκείνου του τομέα σε έναν φάκελο κάτω από αυτόν, για παράδειγμα rclone:onedrive:BombVault/containers. Το Flash, το Αυτο-αντίγραφο και τα σύνολα δεδομένων ZFS δεν έχουν γραμμή Τοποθέτηση, γι' αυτό η ενότητα εκτός τόπου τους προσφέρει αντί γι' αυτήν Προσθήκη από και το όνομα του προορισμού.
Το Προσθήκη προορισμού ανοίγει έναν οδηγό πέντε βημάτων:
- Πού να πηγαίνουν τα αντίγραφα ασφαλείας; Κάθε υπηρεσία εμφανίζεται με το λογότυπό της, σε τέσσερις ομάδες: υπηρεσίες αποθήκευσης με buckets S3 (Backblaze B2, Wasabi, Cloudflare R2, Hetzner Object Storage, Amazon S3 και άλλες), ο δικός σας διακομιστής S3 (Garage, SeaweedFS, RustFS, Silo, Ceph, JuiceFS, Versity S3 Gateway), ο δικός σας διακομιστής και κοινόχρηστοι πόροι (rest-server, Hetzner Storage Box, SFTP, SMB, WebDAV, μια προσαρτημένη διαδρομή) και αποθήκευση cloud (OneDrive, Google Drive, Dropbox, pCloud, Nextcloud και οι υπόλοιπες που υποστηρίζει το rclone). Η καθεμία λέει πόσο ταιριάζει σε αντίγραφα ασφαλείας: οι δίσκοι cloud επιβραδύνονται όταν δέχονται πολλά αιτήματα, οπότε το πρώτο αντίγραφο και το κλάδεμα παίρνουν εκεί περισσότερο χρόνο.
- Σύνδεση. Τα πεδία εξαρτώνται από την υπηρεσία: ένα κλειδί πρόσβασης για S3, χρήστης και κωδικός για WebDAV και SMB, ένας κωδικός εφαρμογής όπου η σύνδεση δύο παραγόντων μπλοκάρει τον κανονικό, το δημόσιο κλειδί SSH του BombVault για SFTP και το Storage Box, ή ένα token για υπηρεσίες που συνδέουν μέσω browser. Για αυτές ο οδηγός δείχνει μια εντολή
rclone authorizeγια να την τρέξετε σε υπολογιστή με browser· το token που τυπώνει μπαίνει στο πεδίο. Το Δοκιμή σύνδεσης ελέγχει τη σύνδεση πριν αποθηκευτεί οτιδήποτε. - Επιλογή φακέλου. Ο οδηγός παραθέτει τους φακέλους του προορισμού, με το Νέος φάκελος για να δημιουργήσετε έναν και τον ελεύθερο χώρο όπου τον αναφέρει η υπηρεσία. Ένας άδειος φάκελος είναι ο ασφαλέστερος.
- Προστασία από διαγραφή. Ο οδηγός λέει ξεκάθαρα τι μπορεί να κάνει η υπηρεσία. Ένας rest-server σε λειτουργία append-only αρνείται τη διαγραφή, και η δοκιμή αλλοίωσης το ελέγχει. Ένα bucket S3 μπορεί να κρατά παλιές εκδόσεις με versioning και object lock, κάτι που το BombVault δεν μπορεί ακόμη να ελέγξει. Ένας δίσκος cloud δεν μπορεί καθόλου να αρνηθεί τη διαγραφή: όποιος μπαίνει στον διακομιστή μπαίνει και σε εκείνο το αντίγραφο. Ενεργοποιήστε το Αμετάβλητο (append-only) μόνο όπου η απέναντι πλευρά αρνείται πραγματικά τη διαγραφή· το BombVault τότε δεν κλαδεύει ποτέ εκεί.
- Για έκτακτη ανάγκη. Το κιτ ανάκτησης παραθέτει κάθε προορισμό με το αποθετήριο κάθε τομέα κάτω από αυτόν. Η σύνδεση επιστρέφει με το αντίγραφο ασφαλείας ρυθμίσεων του BombVault· σε μια καθαρή εγκατάσταση χωρίς αυτό, ρυθμίστε ξανά τον προορισμό στο ίδιο σημείο.
Οι υπηρεσίες S3 περνούν από το δικό του backend S3 του restic, κάτι που επιτρέπει να ισχύουν κλάση αποθήκευσης και object lock. Κάθε άλλη υπηρεσία περνά από το rclone που διανέμει το BombVault, και το remote της εμφανίζεται έπειτα στη διαμόρφωση του rclone στις Ρυθμίσεις, Πρόσβαση cloud. Μια εξαγωγή ρυθμίσεων περιλαμβάνει τους προορισμούς· με τα διαπιστευτήρια συμπεριλαμβανομένα, περιλαμβάνει και τη σύνδεσή τους.
Ένας διακομιστής λήψης που τρέχει μια άλλη εγκατάσταση της ομάδας σας εμφανίζεται στον οδηγό στο Από την ομάδα σας· δείτε Διακομιστής λήψης.
Ο στόχος ενός τομέα που δημιουργείται από έναν προορισμό παίρνει το όνομα, την τοποθεσία, τα διαπιστευτήρια, την κλάση αποθήκευσης και τον διακόπτη αμετάβλητου του προορισμού. Η διατήρηση, η συμπίεση και ο προϋπολογισμός ανάπτυξης παραμένουν ανά τομέα, και η τοποθεσία του δεν μπορεί να μετακινηθεί επειδή εκεί βρίσκεται το αποθετήριο του τομέα. Το Προσθήκη προορισμού μόνο για αυτόν τον τομέα κάτω από κάθε τομέα δέχεται ακόμη ένα URL αποθετηρίου γραμμένο στο χέρι.
Ένας στόχος που γράφτηκε στο χέρι και το αποθετήριό του βρίσκεται σε φάκελο ενός προορισμού μπορεί να ενταχθεί σε αυτόν. Ο προορισμός απαριθμεί τέτοιους στόχους κάτω από το Ήδη κάτω από αυτόν τον προορισμό, και το Ανάληψη κρεμά έναν από αυτούς πάνω του. Ο στόχος κρατά το αποθετήριο, τα στιγμιότυπα, τη διατήρηση και την τοποθέτησή του, και παίρνει το όνομα, τα διαπιστευτήρια, την κλάση αποθήκευσης και τον διακόπτη αμετάβλητου του προορισμού. Το BombVault ελέγχει πρώτα ότι η σύνδεση του προορισμού ανοίγει το αποθετήριο και αρνείται να βάλει έναν στόχο append-only κάτω από προορισμό που δεν είναι append-only. Όταν αναλαμβάνεται ο κύριος στόχος ενός τομέα, το πεδίο off-site του τομέα αδειάζει.
Τοποθέτηση ανά στοιχείο¶
Κάθε κάρτα container, VM και συνόλου φακέλων έχει μια γραμμή Τοποθέτηση με κουμπιά: Τοπικό και ένα κουμπί ανά στόχο εκτός τόπου του τομέα, ακολουθούμενα από τους προορισμούς κάτω από τους οποίους ο τομέας δεν έχει ακόμη στόχο. Τα αναμμένα κουμπιά παίρνουν τα αντίγραφα ασφαλείας του στοιχείου.
- Με το Τοπικό αναμμένο, το στοιχείο γράφεται στο αποθετήριο που εμφανίζεται κάτω από το Αποθηκευμένο σε και αντιγράφεται σε κάθε άλλο αναμμένο στόχο. Σβήστε έναν στόχο και δεν παίρνει πια τίποτα καινούργιο από αυτό το στοιχείο. Μόνο το Τοπικό δεν αντιγράφει πουθενά, κάτι που ταιριάζει σε δεδομένα που έχουν ήδη ένα δεύτερο αντίγραφο, για παράδειγμα έναν κοινόχρηστο πόρο που βρίσκεται σε NAS.
- Με το Τοπικό σβηστό, το στοιχείο γράφεται απευθείας στο άμεσο αποθετήριο του πρώτου αναμμένου στόχου και αντιγράφεται από εκεί στους υπόλοιπους αναμμένους στόχους. Την πρώτη φορά, ένα παράθυρο διαλόγου δημιουργεί αυτό το άμεσο αποθετήριο.
- Το κουμπί ενός προορισμού δημιουργεί τον στόχο του τομέα κάτω από τον προορισμό και τον ανάβει μόνο για αυτό το στοιχείο. Κάθε άλλο στοιχείο ξεκινά χωρίς αντίγραφο εκεί.
- Ένα κουμπί μένει πάντα αναμμένο, επειδή ένα αντίγραφο ασφαλείας χρειάζεται κάπου να πάει. Για να αφήσετε κάτι εκτός αντιγράφων ασφαλείας, αποκλείστε το.
Η τοποθεσία είναι σταθερή από το πρώτο αντίγραφο ασφαλείας του στοιχείου, επειδή το BombVault δεν μετακινεί ποτέ αντίγραφα ασφαλείας μεταξύ αποθετηρίων. Τα αντίγραφα μπορούν να αλλάξουν ανά πάσα στιγμή. Ένας στόχος που δεν παίρνει πια ένα στοιχείο κρατά τα αντίγραφα που έχει και τα περικόπτει στη δική του διατήρηση στην επόμενη εκτέλεση εκτός τόπου του τομέα· η Διαγραφή στο B2 στην κάρτα τα αφαιρεί αμέσως. Αν κάποια από αυτά τα αντίγραφα δεν υπάρχουν πουθενά αλλού, η επιβεβαίωση τα παραθέτει κατά ημερομηνία και ζητά το όνομα του στοιχείου. Από στόχους append-only δεν γίνεται διαγραφή.
Κάτω από τη γραμμή η κάρτα λέει πού πηγαίνει το στοιχείο και τι υπάρχει πραγματικά: σε πόσες τοποθεσίες κρατείται, πότε εντοπίστηκε κάθε στόχος τελευταία φορά, και αν πληρείται το 3-2-1. Μια τοποθεσία είναι ο διακομιστής με τα αρχικά δεδομένα, κάθε στόχος εκτός τόπου και κάθε αποθετήριο σημειωμένο ως Εκτός εγκαταστάσεων. Το BombVault ελέγχει αντίγραφα και τοποθεσίες· δεν ελέγχει το μέρος "δύο μέσα" του 3-2-1.
Προεπιλογές τοποθέτησης¶
Ρυθμίσεις, Αποθήκευση, Προεπιλογές τοποθέτησης έχουν μία γραμμή ανά τομέα με τα ίδια κουμπιά. Τα αντίγραφα ισχύουν αμέσως για κάθε στοιχείο χωρίς δική του επιλογή, καθώς και για τους φακέλους έργου των Compose stacks. Η τοποθεσία ισχύει για ένα νέο στοιχείο στο πρώτο του αντίγραφο ασφαλείας· η αλλαγή της δεν μετακινεί κανένα αντίγραφο ασφαλείας. Πριν την αποθήκευση, η γραμμή ονομάζει κάθε στόχο που κερδίζει ή χάνει στοιχεία και πόσα στιγμιότυπα σημαίνει αυτό. Το Εφαρμογή σε στοιχεία χωρίς αντίγραφα ασφαλείας επαναφέρει κάθε στοιχείο χωρίς αντίγραφο ασφαλείας ακόμη στην προεπιλογή.
Ένας νέος στόχος εκτός τόπου λαμβάνει κάθε στοιχείο που δεν είναι ορισμένο σε Τοπικό. Το παράθυρο διαλόγου που τον προσθέτει αναφέρει πόσα στοιχεία είναι, και όπου είναι γνωστό, πόσο ιστορικό αντιπροσωπεύει αυτό, και προσφέρει να παραλειφθούν τα στοιχεία που είναι ήδη αποκλεισμένα από άλλους στόχους.
Άμεσα αποθετήρια¶
Το σβήσιμο του Τοπικό για ένα στοιχείο, ώστε να γίνει σπίτι του ένας στόχος χωρίς άμεσο αποθετήριο, ανοίγει ένα παράθυρο διαλόγου με μια προτεινόμενη τοποθεσία δίπλα στον στόχο, για παράδειγμα s3:https://s3.eu-central-003.backblazeb2.com/bucket/containers-direct, και μια δοκιμή σύνδεσης που δεν δημιουργεί τίποτα. Το Δημιουργία και χρήση δημιουργεί το αποθετήριο και κατευθύνει το στοιχείο σε αυτό. Ένα άμεσο αποθετήριο παίρνει το κλειδί, την κλάση αποθήκευσης, τα όρια, τη ρύθμιση append-only και τη διατήρηση του στόχου, και αλλάζει μαζί τους· η κάρτα Αποθετήρια το εμφανίζει ως μόνο για ανάγνωση. Όταν ένα νέο κλειδί για τον στόχο δεν μπορεί να το ανοίξει, το άμεσο αποθετήριο κρατά το κλειδί που έχει, και η αποθήκευση το αναφέρει. Ένα στοιχείο σε άμεσο αποθετήριο αντιγράφεται από εκεί στους άλλους αναμμένους στόχους, ποτέ στον στόχο στον οποίο ανήκει το αποθετήριο. Τα στιγμιότυπά του φέρουν την ετικέτα bv:direct, και κάθε άλλη εκτέλεση διατήρησης τα αφήνει, ώστε ένα άμεσο αποθετήριο που έχασε τη σύνδεσή του με τον στόχο του δεν γερνά ποτέ σύμφωνα με τους τοπικούς κανόνες. Το B2 προσπελαύνεται μέσω του τελικού σημείου S3 του, με το αναγνωριστικό κλειδιού και το κλειδί εφαρμογής να εισάγονται ως διαπιστευτήρια S3· ένα κλειδί περιορισμένο στον δικό του φάκελο του στόχου δεν μπορεί να φτάσει στον διπλανό φάκελο, γι' αυτό περιορίστε αντ' αυτού το κλειδί στον φάκελο πάνω από τον στόχο.
Εκτός εγκαταστάσεων¶
Ένα επώνυμο αποθετήριο μπορεί να σημειωθεί ως Εκτός εγκαταστάσεων στην κάρτα Αποθετήρια. Τα απομακρυσμένα αποθετήρια ξεκινούν σημειωμένα· απενεργοποιήστε το για έναν rest-server στο ίδιο κτίριο. Η σήμανση μετράει μόνο στις τοποθεσίες και στο 3-2-1 στις κάρτες. Δεν αλλάζει κανένα αντίγραφο.
Μετά από ανακατασκευή¶
Οι επιλογές αντιγραφής ζουν στις δικές του ρυθμίσεις του BombVault. Μετά από ανακατασκευή μέσω Εντοπισμού αντιγράφων ασφαλείας χωρίς επαναφερμένο /config χάνονται, και η αντιγραφή όλων θα έστελνε ξανά στο B2 τα στοιχεία που είχατε παραλείψει. Η αναπαραγωγή εκτός τόπου κάθε ανακατασκευασμένου τομέα μπαίνει επομένως σε παύση. Ο Πίνακας ελέγχου το δείχνει πορτοκαλί, και οι Προεπιλογές τοποθέτησης προσφέρουν Επιβεβαίωση προεπιλογής με προεπισκόπηση αυτού που θα αντιγράψει η επόμενη εκτέλεση και τα ονόματα στα αντίγραφα ασφαλείας που δεν έχουν κανένα στοιχείο, τα οποία μπορείτε να παραλείψετε εκεί. Μόνο η επιβεβαίωση τερματίζει την παύση· η εισαγωγή ενός αρχείου ρυθμίσεων επαναφέρει κανόνες και προεπιλογές αλλά δεν τερματίζει την παύση.
Απομακρυσμένα κύρια αποθετήρια¶
Η διαδρομή αντιγράφου ενός τομέα (Ρυθμίσεις, Αποθήκευση) δεν περιορίζεται σε τοπικό φάκελο: στρέψτε την κατευθείαν σε ένα απομακρυσμένο restic (s3:..., rest:http://host:8000/repo, sftp:χρήστης@host:/repo, rclone:remote:bucket/διαδρομή) και το BombVault κρατά αντίγραφο απευθείας εκεί, χωρίς ξεχωριστό τοπικό αντίγραφο και χωρίς βήμα αναπαραγωγής. Είναι πραγματικά διαφορετική μορφή από την αναπαραγωγή εκτός έδρας παραπάνω: εκεί το τοπικό αποθετήριο είναι το κύριο και το εκτός έδρας είναι αρχείο του κατά το δυνατόν· εδώ το απομακρυσμένο αποθετήριο είναι το κύριο, και είναι το μοναδικό αντίγραφο εφόσον δεν ρυθμίσετε επιπλέον αναπαραγωγή εκτός έδρας (ή δεύτερο απομακρυσμένο) για τον τομέα αυτόν.
Καθένα από τα έξι πεδία διαδρομής (Containers, VMs, Flash, Αυτο-αντίγραφο, Φάκελοι, Σύνολα δεδομένων ZFS) έχει ακριβώς δίπλα του έναν διακόπτη Τοπικό / Απομακρυσμένο:
- Τοπικό δείχνει τον γνώριμο περιηγητή φακέλων.
- Απομακρυσμένο τον αντικαθιστά με ένα απλό πεδίο URL, συν ένα κουμπί που ανοίγει τον ίδιο διάλογο ελέγχου σύνδεσης και διαπιστευτηρίων που χρησιμοποιούν οι προορισμοί εκτός έδρας, ρυθμισμένο όμως για αυτό το κύριο αποθετήριο. Από εκεί παίρνετε:
- Έναν έλεγχο σύνδεσης στην πραγματική διαδρομή, πριν στηριχθείτε σε αυτήν.
- Όρια εύρους ζώνης (αποστολή και λήψη), ώστε ένα προγραμματισμένο αντίγραφο προς απομακρυσμένο κύριο αποθετήριο να μην κορέσει τη γραμμή WAN σας: τα ίδια ορίσματα του restic
--limit-uploadκαι--limit-downloadπου χρησιμοποιεί η αναπαραγωγή εκτός έδρας, εφαρμοσμένα τώρα στο ίδιο το αντίγραφο. - Προστασία append-only (αμεταβλητότητα), επαληθευμένη με τον ίδιο ενεργό έλεγχο παραποίησης (μια πραγματική δοκιμή DELETE στην απέναντι πλευρά) που λαμβάνουν οι προορισμοί εκτός έδρας. Με ενεργή προστασία το BombVault αρνείται να κλαδέψει το ίδιο το αποθετήριο: αφού πίσω του δεν υπάρχει ξεχωριστό τοπικό αντίγραφο, τα διαπιστευτήρια σε αυτό το μηχάνημα δεν πρέπει να μπορούν να σβήσουν το μοναδικό αντίγραφο.
- Μια ειδοποίηση προϋπολογισμού αύξησης, αντλημένη από την ίδια τάση μεγέθους αποθετηρίου που ήδη παρακολουθεί η κάρτα Αποθήκευση.
Τίποτα από αυτά δεν είναι υποχρεωτικό: μια απομακρυσμένη διαδρομή γραμμένη στο χέρι, χωρίς αποθηκευμένες ρυθμίσεις ασφαλείας, κρατά αντίγραφο ακριβώς όπως πάντα (χωρίς όριο εύρους ζώνης, με δυνατότητα κλαδέματος, χωρίς ειδοποίηση προϋπολογισμού). Ο διάλογος ασφαλείας υπάρχει για όταν θέλετε τις ίδιες προστασίες που παίρνει ένα αντίγραφο εκτός έδρας, χωρίς να χρειαστεί να στήσετε προορισμό εκτός έδρας μόνο γι' αυτό.
Τα διαπιστευτήρια cloud και REST είναι κοινά
Ένα απομακρυσμένο κύριο αποθετήριο πιστοποιείται με τα ίδια διαπιστευτήρια S3/REST που έχουν οριστεί στις Ρυθμίσεις, Πρόσβαση cloud, Κοινόχρηστα διαπιστευτήρια cloud. Ξεχωριστός χώρος διαπιστευτηρίων για κύρια αποθετήρια δεν υπάρχει.
SMB και WebDAV χωρίς προσάρτηση στον host¶
Οι Ρυθμίσεις, Πρόσβαση cloud, rclone έχουν μια φόρμα για κοινόχρηστο πόρο Windows ή Samba και για διακομιστή WebDAV (Nextcloud, ownCloud, SharePoint ή οποιονδήποτε άλλο). Συμπληρώστε ένα σύντομο όνομα, τον host και τον κοινόχρηστο πόρο (SMB) ή το URL και τον τύπο διακομιστή (WebDAV), τον χρήστη και τον κωδικό, και το BombVault γράφει για εσάς την ενότητα rclone. Το ίδιο το rclone συσκοτίζει τον κωδικό πριν αποθηκευτεί· η προσθήκη προορισμού με όνομα που υπάρχει ήδη αντικαθιστά εκείνη την ενότητα αντί να προσθέσει δεύτερη.
Η φόρμα απαντά με την έτοιμη τοποθεσία, για παράδειγμα rclone:nas:backups. Βάλτε την σε μια διαδρομή αντιγράφων ή σε έναν προορισμό εκτός τόπου και προσθέστε υποφάκελο αν θέλετε (rclone:nas:backups/bombvault). Ο κοινόχρηστος πόρος είναι το πρώτο τμήμα της διαδρομής, όχι μέρος του ονόματος.
Αυτός είναι καλύτερος δρόμος από την προσάρτηση του κοινόχρηστου πόρου στο Unraid: το restic συμβουλεύει να μην κρατιέται αποθετήριο σε προσαρτημένο κοινόχρηστο πόρο CIFS, και εδώ δεν προσαρτάται τίποτα. Το NFS δεν υπάρχει στη φόρμα επειδή ούτε το restic ούτε το rclone έχουν backend NFS· για NFS, προσαρτήστε το export στον host και κατευθύνετε μια διαδρομή αντιγράφων σε αυτό.
Αμετάβλητο (append-only) εκτός τόπου¶
Επισημάνετε ένα αποθετήριο εκτός τόπου ως append-only ώστε το ransomware, ή ένας παραβιασμένος host, να μη μπορεί να διαγράψει ή να ξαναγράψει τα αντίγραφά σας. Η απέναντι πλευρά (ένας restic/rest-server που εκτελείται σε λειτουργία --append-only) το επιβάλλει. Το BombVault μόνο το επαληθεύει και δεν δείχνει ποτέ πράσινο βασισμένο μόνο σε έναν ισχυρισμό διαμόρφωσης.
Ο οδηγός καθοδηγούμενης ρύθμισης εκτός τόπου σας καθοδηγεί από την επιλογή backend (rest-server / rclone / S3) μέσα από ένα έτοιμο-για-επικόλληση απόσπασμα ανάπτυξης rest-server, μια δοκιμή σύνδεσης, τον διακόπτη αμετάβλητου (που εκτελεί τη δοκιμή αλλοίωσης αμέσως) και μια στρατηγική διατήρησης, ώστε το append-only εκτός τόπου να είναι προσβάσιμο χωρίς χειροκίνητη επεξεργασία διαμορφώσεων.
Μια επιτυχής διαγραφή στο /locks/ είναι αναμενόμενη
Το append-only δεν σημαίνει ότι δεν μπορεί πλέον να διαγραφεί τίποτα. Το restic πρέπει να παίρνει και να απελευθερώνει τα δικά του κλειδώματα, γι' αυτό το /locks/ παραμένει σκόπιμα εγγράψιμο και διαγράψιμο. Τα στιγμιότυπα και τα δεδομένα πίσω τους, δηλαδή ακριβώς ο στόχος ενός ransomware, δεν μπορούν να αφαιρεθούν. Αν ελέγξετε μόνοι σας την απομακρυσμένη πλευρά, μια διαγραφή που πετυχαίνει στο /locks/ είναι σωστή συμπεριφορά και όχι κενό ασφαλείας.
Τα αμετάβλητα αποθετήρια δεν κλαδεύονται ποτέ από αυτό το μηχάνημα
Ένα αμετάβλητο εκτός τόπου σκόπιμα δεν κλαδεύει ποτέ παλιά στιγμιότυπα. Ορίστε έναν συναγερμό προϋπολογισμού ανάπτυξης για αυτό ώστε να ειδοποιείστε πριν ξεφύγει το μέγεθος του αποθετηρίου.
Δοκιμή αλλοίωσης¶
Το BombVault αποδεικνύει περιοδικά την εγγύηση append-only επιχειρώντας πραγματικά μια διαγραφή έναντι του αποθετηρίου εκτός τόπου, στοχευμένη σε ένα ανύπαρκτο αντικείμενο:
- Απόρριψη σημαίνει προστατευμένο.
- Αποδοχή σημαίνει μη προστατευμένο.
- Ένα ασαφές αποτέλεσμα (διακομιστής μη προσβάσιμος, σφάλμα αυθεντικοποίησης) δεν αναστρέφει ποτέ την αποθηκευμένη ετυμηγορία.
Μια πραγματική ανατροπή από προστατευμένο σε μη προστατευμένο πυροδοτεί έναν μοναδικό συναγερμό.
Δοκιμές DR¶
Το BombVault προσφέρει δύο επίπεδα απόδειξης ότι τα αντίγραφά σας είναι όντως επαναφέρσιμα, όχι απλώς παρόντα.
- Δοκιμές επαλήθευσης επαναφοράς (τοπικά). Το BombVault εκτελεί περιοδικά
restic check --read-data-subset(οριοθετημένο, ποτέ μια πλήρη επαναφορά που γεμίζει τον δίσκο) και δείχνει ένα σήμα Επαληθεύτηκε ως επαναφερόμενο ανά τομέα. Η συχνότητα βρίσκεται στις Ρυθμίσεις, Προγραμματισμοί· το σήμα στις Ρυθμίσεις, Ακεραιότητα. - Δοκιμές DR (εκτός τόπου). Το BombVault επαναφέρει έναν πραγματικό στόχο από το αποθετήριο εκτός τόπου σε ένα αναλώσιμο sandbox, τον επαληθεύει αρχείο-προς-αρχείο και byte-προς-byte, και μετά καθαρίζει. Αυτό αποδεικνύει ότι μπορείτε να ανακτήσετε από το εκτός τόπου, όχι μόνο ότι το αποθετήριο απαντά.
Η κάρτα βαθμολογίας προστασίας από ransomware στον Πίνακα ελέγχου συγκεντρώνει αυτό σε μια πράσινη / πορτοκαλί / κόκκινη στάση ανά τομέα, με μια λίστα ελέγχου με σφραγίδα ηλικίας (εκτός τόπου διαμορφωμένο, append-only επαληθευμένο, αναπαραγωγή ενημερωμένη, δοκιμή επαναφοράς επιτυχής, κρυπτογράφηση ενεργή, στρατηγική κλαδέματος ορισμένη). Κάθε κόκκινη γραμμή συνδέεται απευθείας στη διόρθωση, και η κάρτα γίνεται πράσινη μόνο σε επαληθευμένα γεγονότα.
Σύζευξη εγκαταστάσεων¶
Οι δέκτες, οι πηγές άντλησης, η σελίδα Στιγμιότυπα και το Mesh εκτός τόπου μιλούν όλα με ένα άλλο BombVault. Το κάνουν ως μέλη μίας ομάδας σύζευξης, και μια εγκατάσταση μπαίνει στην ομάδα με δώδεκα λέξεις.
Στην πρώτη εγκατάσταση ανοίξτε Ρυθμίσεις → Σύζευξη και πατήστε Δημιουργία φράσης στις κάρτες σύζευξης. Εμφανίζονται δώδεκα λέξεις σε ένα παράθυρο με κουμπί Αντιγραφή. Σε κάθε άλλη εγκατάσταση ανοίξτε το ίδιο σημείο, πατήστε Εισαγωγή φράσης και επικολλήστε τις ή πληκτρολογήστε τις, ή πατήστε Επικόλληση σε αυτό το παράθυρο. Μια λέξη που δεν υπάρχει στη λίστα ονομάζεται μαζί με τη θέση της καθώς πληκτρολογείτε, και η τελευταία λέξη φέρει ένα άθροισμα ελέγχου, οπότε μια λανθασμένη ή αντιμετατεθειμένη λέξη εντοπίζεται πριν ολοκληρωθεί η σύζευξη. Δημιουργήστε τη φράση σε μία μόνο εγκατάσταση: δύο εγκαταστάσεις που δημιουργούν και οι δύο φράση σχηματίζουν δύο ξεχωριστές ομάδες. Αν δεν εμφανιστεί κανείς μέσα σε ένα λεπτό, η καρτέλα προσφέρει δύο τρόπους εξόδου: να εμφανίσετε ξανά τις λέξεις για να τις εισαγάγετε εκεί, ή να εισαγάγετε τις λέξεις της άλλης εγκατάστασης και να μπείτε στην ομάδα της με ένα βήμα. Η σύζευξη λειτουργεί και χωρίς κωδικό σύνδεσης, ορίστε όμως έναν: χωρίς αυτόν, όποιος μπορεί να ανοίξει αυτή τη διεπαφή μπορεί να διαβάσει τις λέξεις και να αποκτήσει, μέσω της ομάδας, τον κωδικό restic κάθε εγκατάστασης της ομάδας. Η κάρτα σύζευξης το αναφέρει μέχρι να οριστεί κωδικός. Με κωδικό, η επανεμφάνιση της φράσης τον ζητά. Η Αποχώρηση από την ομάδα βγάζει ξανά μια εγκατάσταση έξω.
Όποιος ξέρει τις λέξεις μπορεί να μπει στην ομάδα, οπότε αντιμετωπίστε τις σαν κωδικό πρόσβασης.
Πώς βρίσκονται τα μέλη μεταξύ τους. Κάθε εγκατάσταση μαθαίνει τη δική της διεύθυνση στο δίκτυο από τον browser σας τη στιγμή που συνδέεστε, όπως φαίνεται στην κάρτα relay ως Αυτή η εγκατάσταση στο δίκτυό σας· διορθώστε την εκεί αν μπροστά της βρίσκεται ένα reverse proxy ή μια ασυνήθιστη θύρα. Στο ίδιο δίκτυο τα μέλη ανακοινώνουν αυτή τη διεύθυνση με multicast και μιλούν απευθείας, και εκεί όπου το multicast δεν μπορεί να διασχίσει ένα δίκτυο containers, όπως το προεπιλεγμένο bridge δίκτυο του Docker, μια εγκατάσταση αναζητά αντ' αυτού στο δικό της subnet τις υπόλοιπες με μια υπογεγραμμένη κλήση που μόνο ένα μέλος της ομάδας μπορεί να απαντήσει, οπότε η σύζευξη ολοκληρώνεται και πάλι σε δευτερόλεπτα χωρίς relay. Αν δεν βρεθεί τίποτα, το Δεν τη βρίσκετε; κάτω από την κάρτα σύζευξης δέχεται μία διεύθυνση με το χέρι, για άλλο subnet ή μη τυπική θύρα. Εγκαταστάσεις σε διαφορετικά δίκτυα περνούν από ένα relay, που επιλέγεται στην ίδια καρτέλα:
- Αναμεταδότης του έργου (η προεπιλογή):
parleyport.halleluja.design, το ίδιο relay που χρησιμοποιεί και το KnightLoader. Δεν χρειάζεται να ρυθμίσετε τίποτα. - Δικός σας αναμεταδότης: το container ParleyPort από τα Unraid Community Apps, ή μία από τις εγκαταστάσεις σας που είναι ήδη προσβάσιμη από έξω με ενεργοποιημένο το Λειτουργία ως αναμεταδότης. Αυτή η εγκατάσταση απαντά τότε στο
/relay/connectστη δική της διεύθυνση, πίσω από το reverse proxy και το πιστοποιητικό που ήδη έχει, και αφήνει μέσα μόνο την ομάδα σας. Εισαγάγετε τη διεύθυνση του relay σε κάθε εγκατάσταση που πρέπει να το χρησιμοποιεί. - Χωρίς αναμεταδότη: τα μέλη βρίσκονται αυτόματα μόνο στο ίδιο δίκτυο, και πουθενά αλλού.
Τι βλέπει το relay. Κάθε κλήση μεταξύ μελών είναι σφραγισμένη με AES-256-GCM κάτω από ένα κλειδί που παράγεται από τις δώδεκα λέξεις, και αυτό το κλειδί δεν φεύγει ποτέ από τις εγκαταστάσεις σας. Το relay μαθαίνει ένα hash που ομαδοποιεί τις συνδέσεις, για ποια εγκατάσταση προορίζεται ένα μήνυμα, πόσο μεγάλο είναι και πότε περνάει. Μια απευθείας κλήση στο τοπικό δίκτυο είναι σφραγισμένη με τον ίδιο τρόπο και επιπλέον υπογεγραμμένη, οπότε τίποτα δεν εξαρτάται από το αυτο-υπογεγραμμένο πιστοποιητικό που προσφέρει μια εγκατάσταση.
Τι περνάει μέσα από την ομάδα. Οι κάρτες βαθμολογίας στη σελίδα Στιγμιότυπα, ένα αίτημα να ελεγχθεί τώρα ένας τομέας, οι προσφορές Mesh εκτός τόπου, και ό,τι χρειάζεται ένας δέκτης ή μια πηγή άντλησης: οι τοποθεσίες αποθετηρίου της άλλης εγκατάστασης και ο κωδικός restic της. Τα δεδομένα αντιγράφων δεν περνούν ποτέ από εκεί· πηγαίνουν πάντα κατευθείαν στα backend του restic. Ούτε το APP_KEY: ο κωδικός restic ανοίγει τα αποθετήρια εκείνης της εγκατάστασης και τίποτα άλλο, ούτε τα αποθηκευμένα μυστικά της, ούτε τις συνεδρίες, ούτε τους κωδικούς ανάκτησης.
Καταχωρίσεις από πριν τη σύζευξη. Οι εγκαταστάσεις που προστέθηκαν με fleet token, καθώς και οι δέκτες και οι πηγές άντλησης που ρυθμίστηκαν με το APP_KEY της άλλης εγκατάστασης, παραμένουν μετά την ενημέρωση και επισημαίνονται ως Σύζευξη ξανά. Οι δέκτες και οι πηγές άντλησης συνεχίζουν να δουλεύουν: στην πρώτη της εκκίνηση το BombVault αντικαθιστά κάθε αποθηκευμένο APP_KEY με τον κωδικό restic που παράγεται από αυτό. Συζεύξτε και τις δύο εγκαταστάσεις, μετά επεξεργαστείτε την καταχώριση και διαλέξτε την εγκατάστασή της. Μια τέτοια εγκατάσταση παίρνει πίσω την παλιά της κάρτα μόλις εμφανιστεί στην ομάδα μια εγκατάσταση με το ίδιο όνομα.
Το μόνο σημείο που εξακολουθεί να παίρνει APP_KEY με το χέρι είναι το Επαναφορά από άλλο αποθετήριο BombVault, για την περίπτωση όπου η άλλη εγκατάσταση έχει χαθεί και δεν μπορεί να απαντήσει σε μια ομάδα.
Πίνακας δέκτη (η πλευρά λήψης)¶

Η πλευρά που λαμβάνει, παρακολουθούμενη μόνο για ανάγνωση, με έλεγχο ακεραιότητας σε αυτό το μηχάνημα.
Όλα τα παραπάνω αφορούν την πλευρά αποστολής. Στο μηχάνημα που λαμβάνει αμετάβλητα αντίγραφα εκτός τόπου από ένα άλλο BombVault, ο πίνακας δέκτη σας δίνει ανεξάρτητη, μόνο για ανάγνωση παρακολούθηση εκείνων των αποθετηρίων στο υλικό λήψης, ώστε μια σιωπηλή αποτυχία στην απέναντι άκρη να μην περνά απαρατήρητη.
Ενεργοποιήστε τον διακόπτη Δέκτης στις Ρυθμίσεις για να αποκαλύψετε μια καρτέλα Δέκτης. Είναι ανενεργός εξ ορισμού· ενεργοποιήστε τον μόνο σε ένα μηχάνημα που όντως λαμβάνει αμετάβλητα αντίγραφα εκτός τόπου. Στη συνέχεια καταχωρίστε ένα ληφθέν αποθετήριο (μόνο για ανάγνωση, ανοιγμένο με τον κωδικό restic της εγκατάστασης αποστολέα, που φτάνει μέσω της ομάδας σύζευξης) για να αποκτήσετε:
- Ένα απόθεμα στιγμιότυπων ομαδοποιημένο ανά πηγή, ώστε να βλέπετε ακριβώς ποια containers, VMs και σύνολα αρχείων έχουν φτάσει.
- Τελευταία λήψη ανά πηγή, ώστε να ξέρετε πόσο φρέσκια είναι η καθεμία.
- Έναν ανεξάρτητο
restic checkπου εκτελείται στο υλικό λήψης, ώστε η ακεραιότητα να επαληθεύεται εκεί όπου βρίσκονται όντως τα δεδομένα, όχι μόνο στον αποστολέα. - Έναν διακόπτη νεκρού ανθρώπου: έναν συναγερμό όταν μια πηγή σταματήσει να στέλνει εντός ενός παραθύρου που ορίζετε.
- Συναγερμούς ακεραιότητας: έναν συναγερμό όταν ένας έλεγχος στην πλευρά λήψης αποτύχει.
Ο δέκτης είναι αυστηρά μόνο για ανάγνωση. Δεν γράφει ποτέ στο ληφθέν αποθετήριο, οπότε δεν μπορεί ποτέ να σπάσει την εγγύηση append-only στην οποία βασίζεται ο αποστολέας.
Διακομιστής λήψης¶
Το μηχάνημα λήψης μπορεί επίσης να τρέχει τον rest-server στον οποίο αντιγράφουν οι άλλοι. Η επιλογή Ρύθμιση διακομιστή λήψης στο πάνω μέρος της καρτέλας Δέκτης ζητά έναν φάκελο σε ένα share, με την επιλογή Νέος φάκελος για να δημιουργήσετε έναν, και μια θύρα (8000, εκτός αν τη χρησιμοποιεί άλλο container). Στη συνέχεια το BombVault:
- αρνείται να συνεχίσει αν υπάρχει ήδη container με το όνομα
rest-serverή αν τη θύρα την κατέχει άλλο container· - κατεβάζει το
restic/rest-serverκαι το εκκινεί μέσω του Docker socket σε λειτουργία append-only, με ιδιωτικά αποθετήρια και ένα αρχείο σύνδεσης στον φάκελο· - γράφει το template του για Unraid στο flash drive, ώστε το container να παραμένει επεξεργάσιμο στην καρτέλα Docker, ή προσφέρει το template για λήψη όταν το flash drive δεν είναι προσβάσιμο·
- εκτελεί σε αυτόν τη δοκιμή αλλοίωσης και δείχνει αν αρνείται τις διαγραφές.
Οι εγκαταστάσεις της ομάδας σας βρίσκουν έπειτα τον διακομιστή στον οδηγό προορισμού στο Από την ομάδα σας, με το όνομα του μηχανήματος λήψης. Κάθε εγκατάσταση παίρνει δική της σύνδεση την πρώτη φορά που επιλέγει τον διακομιστή, και γράφει εκεί μόνο στον δικό της φάκελο. Η κάρτα παραθέτει αυτές τις συνδέσεις, και η επιλογή Ανάκληση σύνδεσης αφαιρεί μία· ό,τι είχε ήδη αντιγράψει η εγκατάσταση παραμένει στον φάκελο. Η ρύθμιση δημιουργεί επίσης μία σύνδεση για κάποιον εκτός ομάδας, με κωδικό που η κάρτα δείχνει μία φορά.
Μια εγκατάσταση που φτάνει στο μηχάνημα λήψης μόνο μέσω του relay δεν μπορεί να χρησιμοποιήσει τον διακομιστή, επειδή το relay δεν μεταφέρει αντίγραφα ασφαλείας. Προσθέστε πρώτα τη διεύθυνση του μηχανήματος λήψης στο Ρυθμίσεις → Σύζευξη. Όταν το BombVault τρέχει σε δική του διεύθυνση IP (για παράδειγμα στο br0), συμπληρώστε το πεδίο Διεύθυνση για τους συνεργάτες, επειδή ο διακομιστής ακούει στη διεύθυνση του host.
Πλήρες παράδειγμα: δύο μηχανήματα Unraid, από άκρη σε άκρη¶
Παραπάνω περιγράφονται τα μέρη. Εδώ είναι μία ολοκληρωμένη εγκατάσταση με πραγματικές τιμές, γιατί τα μέρη συναρμολογούνται πιο εύκολα όταν τα έχετε δει συναρμολογημένα μία φορά.
Δύο μηχανήματα: το TOWER τρέχει τα containers και στέλνει τα αντίγραφα, το VAULT τα λαμβάνει και επιβάλλει την αμεταβλητότητα. Αντικαταστήστε με τα δικά σας ονόματα, διευθύνσεις και διαδρομές κοινόχρηστων φακέλων.
1. Στο VAULT, στήστε τον διακομιστή append-only. Στο BombVault στο TOWER πηγαίνετε Ρυθμίσεις → Εκτός τόπου → Ρύθμιση, διαλέξτε rest-server και δημιουργήστε τη συνταγή. Αντιγράψτε την καρτέλα Πρότυπο Unraid (XML), αποθηκεύστε την στο VAULT ως /boot/config/plugins/dockerMan/templates-user/my-rest-server.xml, μετά Docker → Add Container και διαλέξτε rest-server από τη λίστα προτύπων. Πριν το ξεκινήσετε, γράψτε τη γραμμή htpasswd που εμφανίζεται στο /mnt/user/appdata/rest-server/.htpasswd στο VAULT. Ο κωδικός μιας χρήσης εμφανίζεται μία φορά και δεν αποθηκεύεται ποτέ, αντιγράψτε τον τώρα. Αυτή η γραμμή φέρει το ίδιο συνθηματικό, ήδη κατακερματισμένο με bcrypt για εσάς: το απλό κείμενο πηγαίνει στα διαπιστευτήρια REST στο TOWER, η κατακερματισμένη γραμμή στο .htpasswd στο VAULT. Δεν χρειάζεται να κατακερματίσετε τίποτα.
Αφήστε το `--append-only` στο πεδίο OPTIONS. Αυτό είναι όλο το νόημα: χωρίς αυτό το VAULT ξαναγίνεται ένας συνηθισμένος κοινόχρηστος φάκελος.
2. Στο TOWER, στρέψτε εκεί το εκτός έδρας αποθετήριο. Η διεύθυνση του αποθετηρίου ακολουθεί το μοτίβο που τυπώνει η συνταγή:
rest:http://VAULT:8000/bombvault-containers/containers
Το πρώτο τμήμα της διαδρομής είναι ο χρήστης htpasswd, το δεύτερο το αποθετήριο. Δώστε τον χρήστη και τον κωδικό που δημιουργήθηκαν ως διαπιστευτήρια REST του προορισμού και τρέξτε τον έλεγχο σύνδεσης.
3. Στο TOWER ενεργοποιήστε το «Αμετάβλητο». Ο έλεγχος παραποίησης τρέχει αμέσως και πρέπει να πει προστατευμένο. Τι σημαίνουν οι απαντήσεις:
| Αποτέλεσμα | Τι συνέβη |
|---|---|
| προστατευμένο | Το VAULT αρνήθηκε τη διαγραφή. Είναι η μόνη επιτυχής κατάσταση. |
| ΔΕΝ προστατεύεται | Το VAULT δέχτηκε μια διαγραφή. Λείπει το --append-only ή αφαιρέθηκε. |
| ασαφές | Ούτε το ένα ούτε το άλλο. Συνήθως η διεύθυνση δεν είναι αυτή που χρησιμοποιεί το ίδιο το restic, ή άλλαξαν τα διαπιστευτήρια. Δεν καταγράφεται τίποτα και δεν ενεργοποιείται ειδοποίηση. |
4. Στο VAULT, δείτε τι φτάνει. Συζεύξτε τα δύο μηχανήματα (Σύζευξη εγκαταστάσεων), ενεργοποιήστε Ρυθμίσεις → Γενικά → Δέκτης, ανοίξτε την καρτέλα Δέκτης και καταγράψτε το αποθετήριο μόνο για ανάγνωση, με το TOWER ως την εγκατάσταση αποστολέα.
Η τοποθεσία είναι διαδρομή μέσα στο container, γραμμένη σχετικά με την προσάρτηση του host
Δώστε user/appdata/rest-server/bombvault-containers/containers, όχι /mnt/user/appdata/…. Το BombVault τρέχει σε container όπου το /mnt του host είναι προσαρτημένο αλλού· απόλυτη διαδρομή του host δεν υπάρχει εκεί. Αν επικολλήσετε μία, το BombVault σας λέει πλέον ποια σχετική διαδρομή να χρησιμοποιήσετε.
Το VAULT παίρνει τον κωδικό restic του TOWER μέσω της ομάδας όταν αποθηκεύετε· κανείς δεν πληκτρολογεί κλειδί.
5. Κάντε το αμοιβαίο, αν θέλετε. Επαναλάβετε τα ίδια πέντε βήματα αντίστροφα: ένας rest-server στο TOWER που λαμβάνει το αντίγραφο του VAULT. Τότε κάθε μηχάνημα επιβάλλει την αμεταβλητότητα για το άλλο, και κανένα δεν μπορεί να σβήσει τα αντίγραφα του άλλου.
Καθοδηγούμενη ανάκτηση¶
Μια αποκλειστική καρτέλα Ανάκτηση καθοδηγεί μια φρέσκια ή ανακατασκευασμένη εγκατάσταση μέσα από την περίπτωση καταστροφής, σε ένα μέρος:
- Επαναφέρει πρώτα τις δικές του ρυθμίσεις του BombVault, ώστε οι διαδρομές αντιγράφων, οι στόχοι εκτός τόπου και τα διαπιστευτήρια που χρειάζεται η υπόλοιπη ροή να είναι προσυμπληρωμένα (εφαρμόζονται μέσω μιας αυτο-επανεκκίνησης πάνω από το Docker socket, ώστε η ενεργή βάση δεδομένων ρυθμίσεων να μην αντικαθίσταται ποτέ κάτω από ένα ανοιχτό handle).
- Ελέγχει ότι το BombVault μπορεί να διαβάσει τα αντίγραφά σας (την παγίδα του κλειδιού κρυπτογράφησης εκ των προτέρων).
- Σας αφήνει να κατευθύνετε στο υπάρχον αποθετήριό σας (τοπικό ή εκτός τόπου).
- Εντοπίζει τα containers, τις VMs, τα σύνολα αρχείων και τα σύνολα δεδομένων ZFS που είναι αποθηκευμένα σε αυτό.
- Επαναφέρει τα containers και τις VMs μονομιάς (αφημένα σταματημένα, ώστε να τα ξεκινήσετε εσκεμμένα) και παραθέτει τα σύνολα αρχείων και τα στοιχεία ZFS για επαναφορά ένα προς ένα· τα στοιχεία ZFS επιστρέφουν απενεργοποιημένα. Το κιτ ανάκτησής σας είναι ένα κλικ μακριά.
Προγραμματισμένη μετακίνηση έναντι καταστροφής
Η καθοδηγούμενη ανάκτηση επαναφέρει τις δικές του ρυθμίσεις του BombVault από ένα αντίγραφο. Για μια προγραμματισμένη μετακίνηση σε νέο μηχάνημα, μπορείτε αντ' αυτού να μεταφέρετε τη διαμόρφωσή σας απευθείας με την κάρτα Εξαγωγή / εισαγωγή ρυθμίσεων (ένα φορητό αρχείο JSON). Δείτε Διαμόρφωση.
Επαναφορά από άλλο αποθετήριο BombVault¶
Μια ξεχωριστή κάρτα στην καρτέλα Ανάκτηση ανοίγει το αποθετήριο μιας διαφορετικής εγκατάστασης BombVault (έναν κοινόχρηστο πόρο προσαρτημένο κάτω από το /mnt, ή ένα απομακρυσμένο URL) με το APP_KEY εκείνης της εγκατάστασης, σε μια εφάπαξ, μόνο για ανάγνωση συνεδρία. Περιηγηθείτε στα containers, τις VMs και τα σύνολα αρχείων που είναι αποθηκευμένα εκεί, επιλέξτε ένα στιγμιότυπο και επαναφέρετέ το, και το επαναφερμένο αντικείμενο γίνεται ένα κανονικό τοπικό container, VM ή σύνολο αρχείων. Τίποτα δεν γράφεται ποτέ στο άλλο αποθετήριο, και οι δικές σας ρυθμίσεις αντιγράφων παραμένουν ανέγγιχτες (η συνεδρία ζει στη μνήμη και λήγει από μόνη της). Η μετακίνηση ενός container από τον διακομιστή A στον διακομιστή B δεν σημαίνει ότι πρέπει να ανακατευθύνετε τις ρυθμίσεις αποθετηρίου σας και να τις επαναφέρετε μετά. Αυτή η κάρτα είναι εφάπαξ: ανοίγει μια συνεδρία, επαναφέρει ό,τι επιλέξετε και ξεχνά την άλλη εγκατάσταση. Αν θέλετε αντί γι' αυτό μια μόνιμη διάταξη, όπου αυτό το μηχάνημα αντλεί με χρονοδιάγραμμα τα στιγμιότυπα μιας άλλης εγκατάστασης στο δικό του αποθετήριο, αυτό είναι η καρτέλα Άντληση της σελίδας Στιγμιότυπα.
Ένα container του οποίου το δίκτυο δεν υπάρχει σε αυτόν τον διακομιστή, όπως ένα δίκτυο br0 του Unraid σε έναν απλό Docker host, εμφανίζει κάτω από τη γραμμή του επιλογή δικτύου. Το BombVault το δημιουργεί στο δίκτυο που διαλέγεις, μαζί με τα άλλα δίκτυά του. Η σταθερή διεύθυνση IP και η διεύθυνση MAC ανήκαν στο παλιό δίκτυο και παραλείπονται, οπότε τις δίνει το νέο δίκτυο.
Κιτ ανάκτησης κλειδιού κρυπτογράφησης¶
Αυτό είναι το κομμάτι που καθιστά την ανάκτηση από καταστροφή δυνατή ακόμη και όταν δεν υπάρχει εκτελούμενο BombVault.
Ένα κλικ κατεβάζει το κύριο κλειδί, τον παραγόμενο κωδικό restic, και τις ακριβείς τοποθεσίες και εντολές του αποθετηρίου, ώστε να μπορείτε να επαναφέρετε κατευθείαν με το restic CLI σε οποιοδήποτε μηχάνημα. Μια υπενθύμιση στον Πίνακα ελέγχου σας πιέζει μέχρι να το αποθηκεύσετε.
Αποθηκεύστε το κιτ ανάκτησης εκτός του διακομιστή
Το κιτ περιέχει το μυστικό που αποκρυπτογραφεί τα αντίγραφά σας. Κρατήστε το σε ασφαλές μέρος, ξεχωριστά από τον διακομιστή (έναν διαχειριστή κωδικών, ένα εκτυπωμένο αντίγραφο σε ένα χρηματοκιβώτιο). Αν χάσετε και το BombVault και το APP_KEY χωρίς κιτ ανάκτησης, τα κρυπτογραφημένα αντίγραφά σας δεν μπορούν να ανακτηθούν.
Το νεότερο στιγμιότυπο δεν είναι πάντα αυτό που πρέπει να επαναφέρετε
Από το restic 0.17, το restic snapshots δείχνει το μέγεθος κάθε στιγμιοτύπου. Μετά από απώλεια δεδομένων το νεότερο στιγμιότυπο μπορεί να είναι το αδειασμένο, οπότε μην επαναφέρετε ένα στιγμιότυπο πολύ μικρότερο από τα προηγούμενα. Μετά από ransomware μπορεί να είναι το κρυπτογραφημένο, στο συνηθισμένο μέγεθος. Αν το BombVault ακόμα τρέχει, κοιτάξτε πρώτα τη σελίδα Ανωμαλίες: αναφέρει το τελευταίο καλό αντίγραφο. Μια επαναφορά δεν χρειάζεται δεδομένα ανωμαλιών του BombVault, και η παύση διατήρησης απλώς κρατά περισσότερα στιγμιότυπα.
Σφράγιση του κιτ¶
Αν έχετε ενεργοποιήσει την κρυπτογράφηση age για τις απλές εξαγωγές (Ρυθμίσεις), το κιτ σφραγίζεται κι αυτό με αυτήν και κατεβαίνει ως bombvault-recovery-kit.md.age. Είναι σε μορφή ASCII-armored αντί για δυαδική, οπότε παραμένει απλό κείμενο: η επικόλλησή του σε διαχειριστή κωδικών ή η εκτύπωσή του λειτουργεί ακριβώς όπως πριν, απλώς το περιεχόμενο δεν διαβάζεται χωρίς το κλειδί σας.
Μην αποθηκεύετε το κλειδί age μέσα στο κιτ
Για να ανοίξετε ένα σφραγισμένο κιτ χρειάζεστε το ιδιωτικό κλειδί age. Κρατήστε το κάπου που δεν εξαρτάται από το ίδιο το κιτ, αλλιώς θα έχετε δύο πράγματα να ανακτήσετε αντί για ένα. Η σφράγιση αξίζει όταν το κιτ φυλάσσεται κάπου που δεν ελέγχετε πλήρως (κοινόχρηστος διαχειριστής κωδικών, σημειώσεις στο cloud, ένα εκτυπωμένο αντίγραφο σε γραφείο)· ένα κιτ στο δικό σας χρηματοκιβώτιο προστατεύεται ήδη από το χρηματοκιβώτιο.
Με την κρυπτογράφηση ενεργή και χωρίς ρυθμισμένο χρησιμοποιήσιμο παραλήπτη, η λήψη απορρίπτεται κατευθείαν. Το BombVault δεν καταφεύγει ποτέ στο να δώσει το κύριο κλειδί ως απλό κείμενο.
Όταν το κιτ δεν είναι πρόχειρο¶
Ο κωδικός δεν αποθηκεύεται πουθενά, υπολογίζεται από το APP_KEY. Με το κλειδί και ένα κέλυφος μπορείτε λοιπόν να τον αναπαραγάγετε μόνοι σας:
printf 'bombvault:restic-repo' \
| openssl dgst -sha256 -mac HMAC -macopt hexkey:$APP_KEY -r \
| cut -d' ' -f1
Πρόκειται για HMAC-SHA256 πάνω στη σταθερή συμβολοσειρά bombvault:restic-repo, με κλειδί τα ωμά bytes του δεκαεξαδικού APP_KEY, τυπωμένο ως 64 πεζοί δεκαεξαδικοί χαρακτήρες. Η ίδια τιμή βρίσκεται στο κιτ ως ο παραγόμενος κωδικός restic· αυτό εδώ είναι για τη μέρα που το κιτ βρίσκεται αλλού από εσάς.
Για αποθετήριο που λάβατε, χρησιμοποιήστε το κλειδί της ΑΠΟΣΤΟΛΕΑ εγκατάστασης
Ένα αποθετήριο που έφτασε εδώ μέσω αναπαραγωγής εκτός έδρας δημιουργήθηκε από τη μηχανή που το έστειλε, με το δικό της APP_KEY. Η παραγωγή από το κλειδί της μηχανής που λαμβάνει δίνει κωδικό που το restic απορρίπτει, κάτι που μοιάζει ακριβώς με χαλασμένο αποθετήριο χωρίς να είναι. Αυτός είναι ο συνήθης λόγος που το restic check σε ληφθέν αποθετήριο ζητά ξανά και ξανά τον κωδικό.
Επειδή οι ορισμοί ανάκτησης ζουν μέσα σε κάθε αποθετήριο (<repo>/def, <repo>/vm-def), ένας αντιγραμμένος φάκελος αποθετηρίου είναι πλήρως αυτοτελής, οπότε το κιτ μαζί με το αποθετήριο είναι ό,τι χρειάζεται μια επαναφορά σε γυμνό υλικό.
Ανάκτηση ενός dump βάσης δεδομένων¶
Ένα dump βάσης δεδομένων είναι δικό του σημείο επαναφοράς στο αποθετήριο των containers, με την ετικέτα dbdump:<container> και ένα μόνο αρχείο, το /dbdump/<container>.sql. Το BombVault τα εμφανίζει, τα κατεβάζει και τα εισάγει στα Αντίγραφα· παρακάτω είναι τα ίδια βήματα μόνο με restic, για τη μέρα που το BombVault δεν είναι εκεί.
restic -r <repo> snapshots --tag dbdump:<container>
restic -r <repo> dump --tag dbdump:<container> latest /dbdump/<container>.sql > <container>.sql
Οι ετικέτες dbversion: και dbname: σε κάθε dump λένε από ποια έκδοση διακομιστή προέρχεται και ποιες βάσεις περιέχει. Ένα πλήρες αρχείο τελειώνει με -- PostgreSQL database cluster dump complete ή -- Dump completed.
Εισαγάγετέ το σε ένα container ίδιας ή νεότερης έκδοσης (PostgreSQL), ή ίδιας κύριας έκδοσης (MySQL και MariaDB), που ξεκίνησε μία φορά με άδειο φάκελο δεδομένων ώστε να αρχικοποιηθεί. Ο host δεν χρειάζεται πελάτη βάσης, το container έχει έναν:
docker exec -i <container> sh -c 'exec psql -X -U "${POSTGRES_USER:-postgres}" -d postgres' < <container>.sql
docker exec -i <container> sh -c 'exec mariadb -uroot -p"$MARIADB_ROOT_PASSWORD"' < <container>.sql
docker exec -i <container> sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD"' < <container>.sql
Για μία μόνο βάση μέσα από ένα πλήρες dump, η MySQL και η MariaDB δέχονται --one-database <name> στην εντολή του πελάτη. Ένα dump PostgreSQL έχει μία ενότητα ανά βάση, καθεμιά ξεκινά με μια γραμμή \connect <name>: αντιγράψτε την ενότητα σε δικό της αρχείο και εισαγάγετέ το με -d <name> αφού δημιουργήσετε τη βάση.
Ένα dump ως root φέρνει μαζί τους χρήστες του διακομιστή
Ένα πλήρες dump MySQL ή MariaDB παρμένο ως root περιέχει τη βάση συστήματος mysql, οπότε η εισαγωγή του αντικαθιστά τους λογαριασμούς του νέου διακομιστή, μαζί με τον κωδικό του root, με εκείνους του dump. Στην PostgreSQL, το role ... already exists για τον χρήστη που δημιούργησε το container είναι αναμενόμενο και αβλαβές.