Παρακολούθηση διακομιστή και το δίκτυο mesh
Πώς το CreateYourVPN παρακολουθεί την υγεία των διακομιστών: αυτο-έλεγχοι, ένα δίκτυο mesh αμοιβαίων ελέγχων ανάμεσα σε διακομιστές, και αυτόματη απόκρυψη μη προσβάσιμων διακομιστών από τους χρήστες.
Ένας διακομιστής μπορεί να σας απογοητεύσει τη χειρότερη δυνατή στιγμή: μια υπηρεσία καταρρέει, ο πάροχος κάνει επανεκκίνηση στο μηχάνημα — ή, ακόμα χειρότερα, ο διακομιστής αποκλείεται στη χώρα ενός χρήστη και σταματά να είναι προσβάσιμος παρόλο που τεχνικά λειτουργεί. Οι χρήστες σας δεν πρέπει ποτέ να το αντιληφθούν αυτό. Αυτή η ενότητα καλύπτει πώς το CreateYourVPN επιβλέπει τους διακομιστές σας και τι συμβαίνει όταν ένας από αυτούς έχει πρόβλημα.
Δύο επίπεδα ελέγχων
Το σύστημα κοιτάζει κάθε διακομιστή από δύο οπτικές γωνίες.
1. Ο διακομιστής ελέγχει τον εαυτό του
Κάθε λίγα λεπτά, κάθε διακομιστής αναφέρει: είναι ζωντανός ο ακροατής κίνησης στη θύρα 443, και τρέχει η υπηρεσία VPN; Οι μετρικές από την ενότητα 3 φτάνουν με την ίδια αναφορά. Αν η αναφορά λέει «δεν είμαι καλά», ο διακομιστής παίρνει την κατάσταση «Ο διακομιστής δεν είναι διαθέσιμος». Αν οι αναφορές σταματήσουν εντελώς, η κατάσταση γίνεται «Δεν υπάρχουν δεδομένα από τον διακομιστή» — το μηχάνημα μπορεί να είναι κλειστό ή να έχασε το δίκτυό του.
2. Οι διακομιστές «χτυπούν την πόρτα» ο ένας του άλλου
Οι αυτο-έλεγχοι δεν μπορούν να πιάσουν την πιο ύπουλη περίπτωση: ένας διακομιστής πιστεύει ότι είναι υγιής, αλλά από έξω δεν είναι προσβάσιμος — για παράδειγμα, το IP του έχει αποκλειστεί. Γι' αυτό όλοι οι διακομιστές σας ενώνονται σε ένα δίκτυο mesh αμοιβαίων ελέγχων: κάθε διακομιστής προσπαθεί τακτικά να φτάσει κάθε γείτονα — με τον ίδιο τρόπο που θα το έκανε η εφαρμογή ενός χρήστη.
Από εκεί και πέρα, αναλαμβάνει μια «ψηφοφορία»:
- Ένα μεμονωμένο αποτυχημένο χτύπημα δεν σημαίνει τίποτα — το δίκτυο μπορεί απλώς να τρεμόπαιξε. Μόνο παρατεταμένες σειρές αποτυχιών μετράνε.
- Ένας διακομιστής σημειώνεται ως «Μη προσβάσιμος από τους διακομιστές σας» μόνο όταν αρκετοί ανεξάρτητοι διακομιστές αποτυγχάνουν σταθερά να τον φτάσουν — η γνώμη ενός διακομιστή δεν είναι ετυμηγορία.
- Υπάρχει επίσης προστασία από τον «αναξιόπιστο μάρτυρα»: αν κάποιος διακομιστής ξαφνικά ισχυρίζεται ότι δεν βλέπει τους μισούς γείτονές του, το πρόβλημα είναι πιθανότατα δικό του — και οι ψήφοι του απορρίπτονται.
Αυτό είναι ακριβώς το σχήμα που πιάνει τους αποκλεισμούς: αν ένας διακομιστής αποκλειστεί σε μια χώρα όπου ζουν οι υπόλοιποι διακομιστές σας, οι γείτονες από αυτή τη χώρα θα σταματήσουν σύντομα να τον φτάνουν, μια απαρτία χτίζεται, και το σύστημα σημειώνει τον διακομιστή ως μη προσβάσιμο. Εν τω μεταξύ, διακομιστές σε χώρες χωρίς τον αποκλεισμό θα συνεχίζουν να τον βλέπουν — και η διαφορά γνωμών κάνει την εικόνα προφανή.
Τι συμβαίνει σε έναν προβληματικό διακομιστή
Οι καταστάσεις τροφοδοτούν απευθείας την εξισορρόπηση: οι διακομιστές με τις καταστάσεις «Ο διακομιστής δεν είναι διαθέσιμος» και «Μη προσβάσιμος από τους διακομιστές σας» αποσύρονται από την περιστροφή — καμία νέα σύνδεση δεν στέλνεται προς αυτούς, και στις συνδρομές των χρηστών τη θέση τους παίρνουν υγιείς διακομιστές από τις ίδιες διαδρομές.
Ταυτόχρονα, το σύστημα είναι προσεκτικό — είναι χτισμένο πάνω στην αρχή «μην κάνεις κακό»:
- Μια διαδρομή δεν μένει ποτέ κενή. Αν όλοι οι διακομιστές μιας διαδρομής αποδειχθούν «κακοί», το σύστημα θα προσφέρει στους χρήστες την καλύτερη διαθέσιμη επιλογή αντί για μια άδεια λίστα — διαφορετικά οι εφαρμογές θα αποφάσιζαν ότι οι διακομιστές έχουν εξαφανιστεί και θα τους διέγραφαν.
- Η σιωπή δεν είναι ετυμηγορία. Η κατάσταση «Δεν υπάρχουν δεδομένα από τον διακομιστή» δεν αφαιρεί μόνη της έναν διακομιστή από την περιστροφή: χωρίς φρέσκα δεδομένα, το σύστημα δεν κάνει απότομες κινήσεις.
Όλα επουλώνονται μόνα τους
Καμία από τις καταστάσεις δεν «κολλάει» για πάντα — η κατάσταση επαναπροσδιορίζεται από φρέσκα δεδομένα:
- ο διακομιστής στέλνει ξανά μια υγιή αναφορά → η κατάσταση «Ο διακομιστής δεν είναι διαθέσιμος» αίρεται·
- οι γείτονες αρχίζουν να τον φτάνουν ξανά → η σειρά αποτυχιών επαναφέρεται, και η ένδειξη «Μη προσβάσιμος από τους διακομιστές σας» εξαφανίζεται·
- οι αναφορές συνεχίζονται → η «Δεν υπάρχουν δεδομένα από τον διακομιστή» εξαφανίζεται.
Διορθώστε τον διακομιστή (ή περιμένετε να ξεμπλοκαριστεί) — και επανέρχεται μόνος του σε λειτουργία. Καμία χειροκίνητη «ενεργοποίηση».
Πού να το δείτε στον πίνακα
Ανοίξτε την κάρτα οποιουδήποτε χρήστη → τη λίστα διακομιστών του: δίπλα σε κάθε διακομιστή υπάρχει μια κουκκίδα κατάστασης, και όταν κάτι δεν πάει καλά — μια λεζάντα με τον λόγο: «Ο διακομιστής δεν είναι διαθέσιμος», «Μη προσβάσιμος από τους διακομιστές σας» (συμπεριλαμβανομένου του πόσοι από τους διακομιστές σας δεν τον βλέπουν), ή «Δεν υπάρχουν δεδομένα από τον διακομιστή». Έμμεσα σημάδια εμφανίζονται και στις κάρτες διακομιστών: μια ετικέτα «παλαιωμένο» στις μετρικές και «Δεν υπάρχουν δεδομένα — ο agent δεν αποκρίνεται».
Οι έλεγχοι mesh είναι εξαιρετικά οικονομικοί: είναι μικροσκοπικά αγγίγματα δοκιμής με αυστηρό ημερήσιο όριο όγκου — δεν έχουν καμία επίπτωση στην κίνηση ή την απόδοση των διακομιστών σας.
Βασικά συμπεράσματα
- Δύο επίπεδα ελέγχου: ένας διακομιστής ελέγχει τον εαυτό του, και οι γείτονές του στο mesh τον ελέγχουν από έξω.
- Οι αποκλεισμοί πιάνονται με «ψηφοφορία» αρκετών διακομιστών — καμία πανικοβολή για μεμονωμένα κολλήματα.
- Οι προβληματικοί διακομιστές αποσύρονται από την περιστροφή· οι χρήστες μετακινούνται σιωπηλά σε υγιείς.
- Όλα επουλώνονται μόνα τους: τη στιγμή που ένας διακομιστής επανέρχεται στη ζωή, επανεντάσσεται αυτόματα.
Επόμενο βήμα
Η υποδομή ξέρει πώς να διορθώνει τον εαυτό της, αλλά υπάρχει ένα πράγμα που αξίζει να προστατέψετε ξεχωριστά — τη βάση χρηστών σας.
Multihop: αλυσίδες διακομιστών
Πώς να δημιουργήσετε ένα multihop inbound στο CreateYourVPN: η κίνηση μπαίνει σε έναν διακομιστή και βγαίνει από άλλον. Γιατί να το θέλετε, πώς να δημιουργήσετε ένα, και τι βλέπει ο χρήστης.
Αντίγραφα ασφαλείας: αποθήκευση και επαναφορά των χρηστών σας
Η τελευταία ενότητα του μαθήματος: γιατί πρέπει να κρατάτε αντίγραφα ασφαλείας της βάσης χρηστών σας, πώς να ρυθμίσετε αυτόματα αντίγραφα στο Google Drive ή S3, και πώς να επαναφέρετε από ένα αντίγραφο.