Μετάβαση στο περιεχόμενο
EuroVPSEuroVPS
Περιοχή πελατών

Κάντε replication στο group, όχι στον δίσκο: συνέπεια στο replication συστοιχιών

Γιατί το replication κάθε volume χωριστά αφήνει αντίγραφα που δεν ξεκινούν, πώς το λύνουν τα consistency groups και πώς δοκιμάζετε ένα replica με ασφάλεια.

Από EuroVPS Engineering

5 λεπτά ανάγνωσης
Κάντε replication στο group, όχι στον δίσκο: συνέπεια στο replication συστοιχιών

Το replication συστοιχιών ακούγεται σαν το απλούστερο είδος disaster recovery: η συστοιχία αντιγράφει τους δίσκους σας σε μια άλλη συστοιχία σε ένα άλλο datacenter, και τίποτα μέσα στους servers σας δεν χρειάζεται να αλλάξει. Είναι όντως τόσο απλό, με την προϋπόθεση ότι αντιγράφετε τα σωστά πράγματα μαζί. Κάντε replication κάθε volume μόνο του και μπορεί να καταλήξετε με ένα τέλειο αντίγραφο κάθε δίσκου και μια βάση δεδομένων που αρνείται να ξεκινήσει.

Ένα αντίγραφο κάθε δίσκου δεν είναι αντίγραφο της εφαρμογής

Οι περισσότερες σοβαρές εφαρμογές γράφουν σε περισσότερα από ένα volumes. Μια βάση δεδομένων κρατά τα αρχεία δεδομένων της σε έναν δίσκο και το transaction log σε έναν άλλο. Ένας mail server χωρίζει το message store από τα logs του. Μια εικονική μηχανή μπορεί να έχει δίσκο συστήματος και δίσκο δεδομένων που έχουν νόημα μόνο μαζί.

Αυτές οι εφαρμογές εξαρτώνται από τη σειρά των εγγραφών. Η βάση γράφει πρώτα την εγγραφή στο log και αργότερα τη σελίδα δεδομένων, και στην ανάκαμψη επαναλαμβάνει το log για να φέρει τα αρχεία δεδομένων σε ένα συνεπές σημείο. Αν το αντίγραφο του volume του log στο απομακρυσμένο site είναι λίγα δευτερόλεπτα παλαιότερο από το αντίγραφο του volume των δεδομένων, το απομακρυσμένο site κρατά σελίδες δεδομένων που αναφέρονται σε εγγραφές log που εκεί δεν υπάρχουν. Η βάση βλέπει μια αδύνατη κατάσταση. Στην καλύτερη περίπτωση ανακάμπτει με κόπο. Στη χειρότερη δεν ανοίγει.

Όταν κάθε volume αντιγράφεται ανεξάρτητα, κάθε αντίγραφο κινείται με τον δικό του ρυθμό, οπότε οι απομακρυσμένοι δίσκοι σχεδόν ποτέ δεν βρίσκονται στην ίδια χρονική στιγμή. Η απάντηση είναι ένα consistency group: ένα σύνολο volumes που η συστοιχία αντιγράφει ως μία μονάδα, διατηρώντας τη σειρά των εγγραφών σε όλα τους. Στα HPE 3PAR αυτό είναι ένα Remote Copy group. Άλλες συστοιχίες έχουν το δικό τους όνομα για την ίδια ιδέα. Όπως κι αν λέγεται, ο κανόνας είναι ο ίδιος. Ό,τι χρειάζεται μια εφαρμογή για να ξεκινήσει μπαίνει σε ένα group.

Επιλέγοντας τι μπαίνει σε ένα group

Ξεκινήστε από την εφαρμογή, όχι από τη λίστα των volumes:

  • Καταγράψτε κάθε volume στο οποίο γράφει η εφαρμογή, μαζί με αυτά που ξεχνιούνται εύκολα: το volume με το αρχείο του binary log ή του write-ahead log, ένα ξεχωριστό προσωρινό tablespace, έναν δίσκο διαμόρφωσης.
  • Βάλτε τα όλα σε ένα group.
  • Κρατήστε άσχετες εφαρμογές σε ξεχωριστά groups, ώστε η μία να μπορεί να κάνει failover, να δοκιμαστεί ή να παύσει χωρίς να αγγίξει την άλλη.

Μετά αποφασίστε πόσο κοντά ακολουθεί το αντίγραφο το πρωτότυπο.

Πόσο κοντά πρέπει να είναι το αντίγραφο;

Υπάρχουν δύο μεγάλες οικογένειες τρόπων replication, και η επιλογή είναι θέμα φυσικής όσο και προτίμησης.

Το σύγχρονο κρατά το αντίγραφο επίκαιρο με κόστος ένα round trip σε κάθε εγγραφή, που είναι μικρό σε απόσταση metro και μετρήσιμο μεταξύ χωρών. Το ασύγχρονο τρέχει με τοπική ταχύτητα και η υστέρηση είναι το recovery point σας.

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

Κρατήστε το replication έξω από τη διαδρομή της παραγωγής

Η κίνηση του replication ανταγωνίζεται το I/O των hosts αν την αφήσετε. Δώστε της αποκλειστικές θύρες στη συστοιχία, κρατήστε αυτές τις θύρες χωριστά από εκείνες που χρησιμοποιούν οι hosts, και κρατήστε κάθε replication link σε έναν partner. Παρακολουθήστε την υστέρηση του replication, όχι μόνο την κατάσταση του link. Ένα link που είναι up ενώ το αντίγραφο μένει κάθε ώρα και πιο πίσω είναι ο τρόπος αποτυχίας που μετατρέπει ένα σχέδιο disaster recovery σε έκπληξη.

Δοκιμάστε το replica χωρίς να το χαλάσετε

Ένα replica που δεν ξεκίνησε ποτέ είναι μια ελπίδα. Τα καλά νέα είναι ότι μπορείτε να το δοκιμάσετε χωρίς να διακόψετε το replication:

  1. Πάρτε ένα point-in-time snapshot των secondary volumes του group στην απομακρυσμένη συστοιχία. Κάντε snapshot όλο το group μαζί, ώστε το αντίγραφο δοκιμής να είναι τόσο συνεπές όσο το replica.
  2. Παρουσιάστε τα snapshots σε έναν απομονωμένο host δοκιμής στο απομακρυσμένο site. Κρατήστε αυτόν τον host εκτός δικτύου παραγωγής, ώστε το αντίγραφο να μην μπορεί να απαντήσει σε πραγματική κίνηση, να στείλει πραγματικά email ή να τρέξει προγραμματισμένες εργασίες σε πραγματικά συστήματα.
  3. Ξεκινήστε την εφαρμογή ακριβώς όπως θα κάνατε σε μια καταστροφή, με το γραπτό runbook σας και τίποτα άλλο.
  4. Ελέγξτε την σε επίπεδο εφαρμογής: η βάση ανοίγει και περνά τον δικό της έλεγχο συνέπειας, τα πλήθη γραμμών και οι νεότερες εγγραφές είναι εκεί που λέει το recovery point, και μια είσοδος χρήστη στην εφαρμογή δουλεύει.
  5. Χρονομετρήστε το, από την απόφαση για failover μέχρι την πρώτη επιτυχημένη συναλλαγή. Αυτός ο αριθμός είναι ο πραγματικός σας χρόνος ανάκαμψης, ό,τι κι αν λέει το σχέδιο.
  6. Αφαιρέστε τα snapshots και καταγράψτε το αποτέλεσμα, μαζί με ό,τι σας εξέπληξε.

Τρέξτε τη δοκιμή μετά από κάθε αλλαγή στο group, και σε τακτικό πρόγραμμα ακόμη κι όταν δεν άλλαξε τίποτα, γιατί οι εφαρμογές προσθέτουν volumes αθόρυβα.

Το replication δεν είναι backup

Το replication αντιγράφει τις αλλαγές πιστά, και σε αυτές περιλαμβάνονται ένας πίνακας που διαγράφηκε, μια κρυπτογράφηση από ransomware και ένα κακό deployment. Μέσα σε δευτερόλεπτα ή λεπτά το λάθος βρίσκεται και στα δύο μέρη. Ένα replica σάς προστατεύει από την απώλεια ενός site. Τα backups με ιστορικό σάς προστατεύουν από τα ίδια σας τα δεδομένα. Χρειάζεστε και τα δύο, και τα backups πρέπει να τα τραβά ένα σύστημα που η πλευρά της παραγωγής δεν μπορεί να φτάσει.

Πώς το κάνουμε εμείς

Ανάμεσα στα datacenters μας σε Αθήνα και Άμστερνταμ, τα volumes των πελατών μπορούν να κάνουν replication συστοιχία προς συστοιχία σε HPE 3PAR, με τα σχετιζόμενα volumes τοποθετημένα στο ίδιο Remote Copy group ώστε να μένουν συνεπή μεταξύ τους. Ο τρόπος replication συμφωνείται ανά υπηρεσία, το replication τρέχει σε αποκλειστικές θύρες, ένας partner ανά ζεύγος θυρών, πάνω από τη δική μας ιδιωτική διασύνδεση μεταξύ των sites, και τα replicas δεδομένων που φιλοξενούνται στην ΕΕ μένουν μέσα στην υποδομή μας στην ΕΕ. Μέσα σε κάθε site οι συστοιχίες είναι σε federation, οπότε τα volumes μετακινούνται και μεταξύ συστοιχιών online. Τα backups βρίσκονται δίπλα, ξεχωριστά και pull-only.

Αν δεν είστε σίγουροι ότι το απομακρυσμένο αντίγραφό σας θα ξεκινούσε τη μέρα που θα το χρειαστείτε, αξίζει να το μάθετε σε μια ήσυχη μέρα. Ευχαρίστως να βοηθήσουμε στον σχεδιασμό των groups και της δοκιμής.

cta: Μιλήστε με έναν μηχανικό

Related

  • /what-we-do/storage-compute/storage-replication-federation/
  • /what-we-do/storage-compute/disaster-recovery/
  • /what-we-do/storage-compute/enterprise-san-storage/

Δημοσιεύθηκε 25 Αυγούστου 2026.

Όλες οι σημειώσεις