Ενισχύσεις και αποκατάσταση καταστροφών
Αντίγραφα ασφαλείας και αποκατάσταση καταστροφών
1) Ορισμοί και στόχοι
Εφεδρικό σύστημα - συνεκτικό αντίγραφο δεδομένων/διαμορφώσεων για την επακόλουθη ανάκτηση (από τυχαίες διαγραφές, σφάλματα, κρυπτογραφήματα, καταστροφές).
DR (Αποκατάσταση Καταστροφών) - η διαδικασία αποκατάστασης της υποδομής/των υπηρεσιών σε εργαζόμενους SLO μετά από μεγάλο ατύχημα (πυρκαγιά, απώλεια περιοχής, μαζικός συμβιβασμός).
RPO (Στόχος σημείου ανάκτησης) - μέγιστη επιτρεπόμενη απώλεια δεδομένων εγκαίρως (για παράδειγμα, 15 λεπτά).
RTO (Στόχος χρόνου ανάκτησης) - Στόχος χρόνου ανάκτησης υπηρεσίας (για παράδειγμα, 30 λεπτά).
Βασική αρχή: αντιγραφή ≠ αντιγράφων ασφαλείας. Η αντιγραφή γρήγορα αμαυρώνει σφάλματα και κρυπτογράφηση σε όλα τα αντίγραφα. Ένα αντίγραφο ασφαλείας είναι ένα απομονωμένο, επαληθευμένο, δυνητικά αμετάβλητο αντίγραφο.
2) Ταξινόμηση δεδομένων και επίπεδα καίριας σημασίας
Διαχωρίζονται τα περιουσιακά στοιχεία σε κατηγορίες:- (ζωτικής σημασίας): βάσεις δεδομένων συναλλαγών, πληρωμές, λογιστική ισολογισμού, μυστικά/PKI.
- Βαθμίδα 1 (κρίσιμη): ρυθμίσεις υπηρεσιών, ουρές αναμονής, τεχνουργήματα CI/CD, μητρώα εμπορευματοκιβωτίων.
- (σημαντικό): ανάλυση, εκθέσεις, δευτερεύοντες δείκτες, αρχεία καταγραφής.
- (βοηθητικά): κρύπτες, χρονικά δεδομένα (μπορούν να αποκατασταθούν με ανακατασκευή).
Για κάθε κατηγορία, προσδιορίστε τον RPO/RTO, την περίοδο διατήρησης, τις απαιτήσεις αμετάβλητης ισχύος και τη θέση.
3) Στρατηγικές διατήρησης: άρθρο 3-2-1-1-0
3 αντίγραφα δεδομένων (prod + 2 backups).
2 διαφορετικοί τύποι μέσων/αποθήκευσης.
1 αντίγραφο εκτός τόπου (διαφορετική περιοχή/σύννεφο).
1 αμετάβλητο κενό/κενό αέρα (WORM/κλειδαριά αντικειμένου/ταινία).
0 σφάλματα στους ελέγχους ανάκτησης (τακτικές δοκιμές).
4) Τύποι αντιγράφων ασφαλείας
Πλήρες - πλήρες αντίγραφο. Αργή/ακριβή αλλά βάση για όλες τις στρατηγικές.
Επαυξητική - η διαφορά με το τελευταίο εφεδρικό. Βέλτιστος όγκος.
Διαφορά - η διαφορά με το τελευταίο πλήρες. Ταχύτερη ανάκαμψη, περισσότερος χώρος.
Στιγμιότυπο - στιγμιότυπο ενός όγκου/δίσκου (EBS/ZFS/LVM). Χρειαζόμαστε στιγμιότυπα συνεκτικά με την εφαρμογή (quiesce).
PITR (Point-in-Time Recovery) - βασικά εφεδρικά + αρχεία καταγραφής (WAL/binlog) για την ανατροπή σε ακριβή χρόνο/LSN.
Αντικείμενο/αρχείο/συμβολικό - για συγκεκριμένους τύπους δεδομένων (εικόνες VM, αντικείμενα S3, χωματερές DB).
5) Συνέπεια των εφεδρειών ασφαλείας
Συνεπής προς τη σύγκρουση: όπως μετά από ξαφνική διακοπή λειτουργίας - κατάλληλη για απάτριδες/περιοδικά FS.
Η εφαρμογή «παγώνει» (fsfreeze/pre-post scripts) → εγγυημένη ακεραιότητα.
Συνέπεια βάσης δεδομένων: API του εφεδρικού εργαλείου (pgBackRest, Xtrabackup), λειτουργία hot-backup, σημεία ελέγχου κατάψυξης.
6) Κρυπτογράφηση, κλειδιά και πρόσβαση
Κρυπτογράφηση κατά την ανάπαυση και τη διαμετακόμιση για όλα τα αντίγραφα.
Κλειδιά στο KMS/HSM, εναλλαγή ανά πολιτική (90/180 ημέρες), ξεχωριστά κλειδιά ανά περιβάλλον.
Διαχωρισμός καθηκόντων: ποιος δημιουργεί/αφαιρεί αντίγραφα ασφαλείας ≠ ποιος μπορεί να τα αποκρυπτογραφήσει/να τα διαβάσει.
Μη κρατάτε τα κλειδιά αποκρυπτογράφησης στο ίδιο πεδίο εμπιστοσύνης με τα αντίγραφα-στόχους.
7) Μη τροποποιήσιμα αντίγραφα και προστασία ransomware
Κλείδωμα αντικειμένου/WORM (συμμόρφωση/διακυβέρνηση) με διατήρηση και νομικό περιορισμό.
Κενό αέρα: απομονωμένη/εκτός δικτύου αποθήκευση (τροφοδοσία, νέφος/λογαριασμός εκτός σύνδεσης).
Πολιτικές διαγραφής «καθυστερημένης ενεργοποίησης», ΜΧΣ-Διαγραφή, χωριστός λογαριασμός για εφεδρικούς κουβάδες, απαγόρευση πρόσβασης του κοινού.
Επαλήθευση για κακόβουλο λογισμικό/δείκτες συμβιβασμού πριν από την τοποθέτηση.
8) Συχνότητα, χρονοδιάγραμμα και κατακράτηση
GFS (Grandfather-Father-Son): ημερήσιες προσαυξήσεις, εβδομαδιαία πλήρης/diff, μηνιαία πλήρης με μακρά αποθήκευση.
Το RPO υπαγορεύει τη συχνότητα των προσαυξήσεων και την αρχειοθέτηση WAL/binlog (για παράδειγμα, κάθε 5-15 λεπτά).
Αποθήκευση: κρίσιμη - ≥ 35-90 ημέρες + μηνιαία για 12-36 μήνες (νομικές απαιτήσεις).
Οι εποχιακές κορυφές είναι ξεχωριστά σημεία ελέγχου (πριν από την προώθηση/απελευθέρωση).
9) μοντέλα και σενάρια DR
Ενεργός: Και οι δύο περιοχές εξυπηρετούν την κυκλοφορία. Ο ελάχιστος RTO, η κατάρρευση των δεδομένων απαιτεί αυστηρή πολιτική σύγκρουσης.
Ενεργητική παθητική (θερμή/θερμή): θερμή - ξεδιπλωμένη και συγχρονισμένη (λεπτά RTO), θερμή - μερικώς έτοιμη (ώρες RTO).
Κρύο: αποθηκεύει αντίγραφα και Terraform/Ansible/εικόνες, αυξάνει κατά παραγγελία (RTO ημέρα +).
DraaS: ενορχήστρωση VM/δικτύων/διευθύνσεων σε άλλη ζώνη.
10) Feilover ενορχήστρωση και προτεραιότητες αποκατάστασης
Προτεραιότητα εκκίνησης: network/VPN/DNS → secrets/KMS → databases/clusters → queues/cache → εφαρμογές → περίμετρο/CDN → analytics.
Αυτοματοποίηση: σενάρια/δράσεις runbook, προφίλ Terraform/Ansible/Helm/ArgoCD για περιβάλλον DR.
Δεδομένα: DB PITR rendex/replica θερμές υπηρεσίες εκτόξευσης με σημαίες συμβατότητας σχήματος.
DNS/GSLB: Η TTL υποβαθμίζεται εκ των προτέρων, αλλάζει σενάρια με επικύρωση.
11) Εφεδρικές δοκιμές επαλήθευσης
Επαναφορά των δοκιμών σε ένα χρονοδιάγραμμα: δειγματοληψία N% των αντιγράφων ασφαλείας, εγκατάσταση αμμοκιβωτίων, αυτόματοι έλεγχοι σχήματος/αμετάβλητοι έλεγχοι.
Πλήρες τρυπάνι DR (ημέρα παιχνιδιού): περιοχή απενεργοποίησης/AZ, έλεγχος RTO/RPO σε ζωντανή κυκλοφορία (ή σκιές κυκλοφορίας).
Δοκιμές ακεραιότητας: κατάλογοι hash, checksums, προσπάθεια ανάγνωσης όλων των στρωμάτων (πλήρης + αλυσίδα).
Έκθεση εγγράφου: χρόνος, βήματα, ανωμαλίες, μέγεθος του χάσματος από τους στόχους, διορθώσεις.
12) Πρακτική για τις βασικές τεχνολογίες
Βάσεις δεδομένων
PostgreSQL: base backup + αρχείο WAL (PITR), εργαλεία pgBackRest/Barman; χρονοθυρίδες αναπαραγωγής, παρακολούθηση 'lsn'.
MySQL/MariaDB: Percona Xtrabackup/Enterprise backup, αρχειοθέτηση binlog.
MongoDB: 'mongodump' για λογικό αντίγραφο + στιγμιότυπο για μεγάλα σύνολα? Oplog για το PITR.
Redis: RDB/AOF για κρίσιμη κατάσταση (εάν το Redis δεν είναι μόνο κρύπτη), αλλά συχνότερα - λογική ανακατασκευή από την πηγή + στιγμιότυπο για ατυχήματα.
Kafka/Pulsar: αντίγραφο ασφαλείας μεταδεδομένων (ZK/Kraft/Bookkeeper), στιγμιότυπα δίσκων, θέμα/log mirroring.
Kubernetes
etcd στιγμιότυπο + Velero για πόρους/τόμους (στιγμιότυπα CSI).
Εφεδρικά μυστικά/PKI ξεχωριστά (στιγμιότυπο θησαυροφυλακίου).
Ξεχωριστή εγγραφή εικόνων: αμετάβλητες ετικέτες.
VM και συστήματα αρχείων
ZFS: 'zfs snapshot' + 'zfs send
Στιγμιότυπα LVM/EBS με σενάρια προ/μετά (συνεπή με εφαρμογή).
Καταστήματα αντικειμένων - Εκδόσεις + Κλειδαριά αντικειμένων.
13) Καταγραφή και έλεγχος έκδοσης των αντιγράφων ασφαλείας
Κατάλογος (κατάλογος μεταδεδομένων): τι, πού, πότε, από ό, τι γίνεται, hashes, πλήκτρο KMS, ιδιοκτήτης, περίοδος διατήρησης.
: 'env = pro stage', 'system = db' k8 v , 'tier = 0 1 2', 'reservation = 35d 1y'.
Σημεία ελέγχου χρυσού: πριν από τις μεταναστεύσεις/DDL/εκλύσεις μεγάλης κλίμακας.
14) Παρατηρησιμότητα και μετρήσεις
Ποσοστό επιτυχίας στην εργασία:% επιτυχημένο/αποτυχημένο, λόγοι.
Αντίγραφο ασφαλείας/επαναφορά χρόνου, πλάτος παραθύρου.
RPO-πραγματικό: log archive log (WAL/binlog) p95.
Ακεραιότητα: ποσοστό των αλυσίδων που ελέγχθηκαν, σφάλματα αντιπαραβολής hash.
Κόστος: χωρητικότητα αποθήκευσης ανά κατηγορία, λόγος απεμπλοκής/συμπίεσης.
ετοιμότητα DR: συχνότητα και αποτέλεσμα ασκήσεων (πέρασμα/αποτυχία).
15) Πολιτικές πρόσβασης και συμμόρφωσης
χωριστοί λογαριασμοί/έργα για εφεδρική αποθήκευση· πρόσβαση σύμφωνα με την αρχή NaC (δεν επιτρέπουμε τη διαγραφή/κρυπτογράφηση από λογαριασμούς παραγωγής).
Καταχωρίσεις πρόσβασης/αλλαγών (διαδρομή ελέγχου), καταχωρίσεις για μαζικές διαγραφές/αλλαγές retshn.
Συμμόρφωση: GDPR (δικαίωμα διαγραφής έναντι αρχείων), PCI DSS (κρυπτογράφηση, κλειδιά, κατάτμηση), τοπικές ρυθμιστικές αρχές.
16) Αντι-μοτίβα
«Υπάρχει ένα αντίγραφο, που σημαίνει ότι δεν χρειάζεσαι ενισχύσεις».
Χωρίς αμετάβλητο κενό/κενό αέρα: ένα σφάλμα/κακόβουλο λογισμικό διαγράφει τα πάντα.
Εφεδρείες στον ίδιο λογαριασμό/περιοχή όπως το prod.
Ποτέ μην ελέγξετε την ανάκτηση (εφεδρικό «νεκρό πριν από τον έλεγχο»).
Δεν υπάρχει έλεγχος καταλόγου και έκδοσης → χάους σε ατύχημα.
Κοινόχρηστα κλειδιά κρυπτογράφησης για όλα τα περιβάλλοντα.
Στιγμιότυπα χωρίς συνεκτική λειτουργία app για τη βάση δεδομένων.
Το εφεδρικό παράθυρο τέμνεται με κορυφές (επηρεάζει το p99 και το SLO).
17) Κατάλογος ελέγχου εφαρμογής (0-60 ημέρες)
0- 10 ηµέρες
Απογραφή συστημάτων/δεδομένων, κλάσεις κρίσιμης σημασίας.
Ορισμός στόχων RPO/RTO ανά κατηγορία.
Ενεργοποίηση πλήρους + επαυξητικής για Tier-0/1, αρχείο WAL/binlog.
Post backups: ξεχωριστή περιοχή/λογαριασμός + ενεργοποίηση κρυπτογράφησης KMS.
11- 30 ημέρες
Ρύθμιση αμετάβλητου (κλειδαριά αντικειμένου/WORM) για κρίσιμα αντίγραφα.
Εισάγετε καταλόγους, ετικέτες, υποβολή εκθέσεων. ειδοποιήσεις για αποτυχίες και καθυστερημένα περιοδικά.
Πρώτη άσκηση DR: αποκατάσταση ξεχωριστής υπηρεσίας από εφεδρικό σύστημα σε απομονωμένο περιβάλλον.
31-60 ημέρες
Automate runbook: Terraform/Ansible/Helm profiles DR.
Τακτικές δοκιμές αποκατάστασης (εβδομάδα/μήνα) + τριμηνιαίο πλήρες σενάριο DR.
Βελτιστοποίηση του κύκλου ζωής της αφαίρεσης του κόστους/συμπίεσης/αποθήκευσης.
18) Μετρήσεις διάρκειας
Επαναφορά των δοκιμών: 1 ευρώ/εβδομάδα για (επιλεκτικό), 1 ευρώ/μήνα - πλήρες σενάριο.
Αμετάβλητη κάλυψη для Tier-0/1 = 100%.
RPO-πραγματικός στόχος p95 (π.χ. 15 λεπτά).
Πραγματικός RTO σε ασκήσεις DR ≤ στόχος (π.χ. ≤ 30 λεπτά).
Πληρότητα καταλόγου = 100% (κάθε αντίγραφο ασφαλείας περιγράφεται και ελέγχεται).
Περιστατικό προς αποκατάσταση - Χρόνος από την ανίχνευση έως την έναρξη της ανάκτησης.
19) Παραδείγματα (snippets)
PostgreSQL - Πολιτική PITR (ιδέα):bash base backup once a day pgbackrest --stanza = prod --type = full backup archive WAL every 5 minutes pgbackrest --stanza = prod archive-push restore to time pgbackrest --stanza = prod restore --type = time --target =" 2025-11-03 14:00:00 + 02"
MySQL - επαυξητικός βρόχος:
bash xtrabackup --backup --target-dir=/backup/full-2025-11-01 xtrabackup --backup --incremental-basedir=/backup/full-2025-11-01 --target-dir=/backup/inc-2025-11-02 xtrabackup --prepare --apply-log-only --target-dir=/backup/full-2025-11-01 xtrabackup --prepare --target-dir=/backup/full-2025-11-01 --incremental-dir=/backup/inc-2025-11-02
Kubernetes - Velero (ιδέες μανιφέστο):
yaml apiVersion: velero. io/v1 kind: Backup metadata: { name: prod-daily }
spec:
includedNamespaces: ["prod-"]
ttl: 720h storageLocation: s3-immutable
S3 Κλειδαριά αντικειμένων (πολιτική κύκλου ζωής δείγματος):
json
{
"Rules": [{
"ID": "prod-immutable",
"Status": "Enabled",
"NoncurrentVersionExpiration": { "NoncurrentDays": 365 }
}]
}
20) Επικοινωνίες και επιχειρησιακοί ρόλοι
Διοικητής Συμβάντων, Επικεφαλής των Κοινοτήτων, Επικεφαλής Επιχειρήσεων, Επικεφαλής της DB, Ασφάλεια.
Υποδείγματα μηνυμάτων για ενδιαφερόμενους/ρυθμιστικές αρχές/χρήστες.
Μεταθανάτια με ενέργειες: όπου έχασαν λίγα λεπτά, πού να βελτιώσουν την αυτοματοποίηση.
21) Συμπέρασμα
Ένας αξιόπιστος βρόχος backups και DR δεν είναι ένα «make a copy», αλλά ένας κύκλος: ταξινόμηση στόχων RPO/RTO πολυεπίπεδη και αμετάβλητη αντίγραφα αυτοματοποιημένα runbook και τακτική αποκατάσταση και άσκηση. Προσκολληθείτε σε 3-2-1-1-0, ξεχωριστή αντιγραφή από αντίγραφα ασφαλείας, κρυπτογράφηση και απομόνωση κλειδιών, τεκμηρίωση και επαλήθευση. Τότε ακόμα και ο «μαύρος κύκνος» θα μετατραπεί σε μια διαχειρίσιμη διαδικασία με προβλέψιμο χρόνο διακοπής και ελάχιστη απώλεια δεδομένων.