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

Παράθυρα συντήρησης: τι γίνεται υπό φορτίο αντί γι' αυτά

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

Από EuroVPS EngineeringΤο μηχανοστάσιο

6 λεπτά ανάγνωσης
Σε αυτό το άρθρο 5 ενότητες
Εν συντομία
  • Διπλοί controllers, διπλά fabrics, ζεύγη switches και live migration υπάρχουν για να μπορούν firmware, hardware και διαμόρφωση να αλλάζουν ενώ η πλατφόρμα συνεχίζει να σερβίρει.
  • Η πειθαρχία βρίσκεται στην επαλήθευση πριν την αλλαγή: μια εφεδρική διαδρομή μετράει μόνο αφού έχει φανεί να κουβαλά το φορτίο.
  • Κάποιες αλλαγές αξίζουν όντως παράθυρο. Ένα καλοσχεδιασμένο παράθυρο κατονομάζει το εξάρτημα, τον μηχανισμό, την αναμενόμενη ορατή επίπτωση και μια οριοθετημένη διάρκεια, και ο χρόνος του συμφωνείται μαζί σας.

Δύο είδη προγραμματισμένης εργασίας

Η προγραμματισμένη εργασία χωρίζεται σε δύο ομάδες. Την πρώτη την απορροφά ο σχεδιασμός: ένας controller storage που παίρνει νέο firmware, ένα leaf switch που αντικαθίσταται, ένας host hypervisor που κατεβαίνει για μνήμη, ένα ζεύγος firewalls που περνά μια ενημέρωση. Η δεύτερη αλλάζει κάτι που εκείνη τη στιγμή δεν έχει ταίρι: ένα cutover πλατφόρμας, ο τελικός συγχρονισμός μιας μεταφοράς storage, μια μη αναστρέψιμη αλλαγή schema. Η πρώτη ομάδα γίνεται υπό φορτίο. Η δεύτερη παίρνει παράθυρο, και το παράθυρο σχεδιάζεται αντί απλώς να ανακοινώνεται.

Τι απορροφά ο σχεδιασμός

Μια συστοιχία HPE 3PAR έχει δύο κόμβους controller που σερβίρουν τα ίδια volumes, με κάθε host συνδεδεμένο μέσα από δύο ανεξάρτητα Brocade fabrics. Το firmware μπαίνει σε έναν κόμβο τη φορά. Όσο επανεκκινεί, το επίπεδο multipath των hosts κρατά τα I/O να ρέουν από τις διαδρομές που επιβιώνουν, και ο κόμβος επανεντάσσεται πριν αγγιχτεί ο δεύτερος. Το ίδιο μοτίβο ισχύει σε κάθε επίπεδο που χτίστηκε σε ζεύγη. Τα leaves Cisco Nexus 9000 εγκαθίστανται σε ζεύγη, με κάθε host σε bond και στα δύο, ώστε ένα switch να μπορεί να πάρει αναβάθμιση ή αντικατάσταση ενώ το άλλο link κουβαλά την κίνηση. Οι hosts hypervisor αδειάζουν με live migration πριν τους γίνει οτιδήποτε, και οι εικονικές μηχανές επιστρέφουν μετά. Οι edge routers κρατούν sessions με περισσότερους από έναν carrier, και ένα session αποστραγγίζεται πριν αγγιχτεί ο router του.

Τίποτα από αυτά δεν είναι ασυνήθιστο σε ένα σοβαρό datacenter. Αυτό που μετράει είναι αν τα ζεύγη εξασκούνται. Ένα ταίρι που υπάρχει στο διάγραμμα αλλά δεν έχει κουβαλήσει παραγωγή είναι μια εικασία, και η στιγμή να ανακαλύψετε ότι ήταν εικασία δεν είναι κατά τη διάρκεια της αλλαγής.

Επαληθεύστε το ταίρι πριν αγγίξετε το κύριο

Η χρήσιμη πειθαρχία είναι ο έλεγχος που γίνεται πριν την αλλαγή. Πριν κατέβει ένας controller, κάθε συνδεδεμένος host ερωτάται πόσες ενεργές διαδρομές κρατά προς τη συστοιχία. Ένας host που αναφέρει μία μόνο διαδρομή διορθώνεται πρώτα, γιατί για εκείνον τον host το παράθυρο θα ερχόταν απρόσκλητο. Πριν αγγιχτεί ένα switch, διαβάζεται το bond σε κάθε host για να επιβεβαιωθεί ότι και τα δύο μέλη είναι up και περνούν κίνηση, και επιβεβαιώνεται ότι το δεύτερο switch προωθεί και όχι απλώς ότι έχει ρεύμα. Πριν αδειάσει ένας host, επιβεβαιώνεται ότι ο προορισμός της migration έχει το περιθώριο για ό,τι έρχεται.

TERMINAL
# on each attached host, before controller work: every LUN should show two or more active paths
$ multipath -ll | grep -c 'active ready'

# before switch work: both bond members up and passing traffic
$ grep -E 'Slave Interface|MII Status' /proc/net/bonding/bond0

Μετά γίνεται η αλλαγή, και οι ίδιες μετρήσεις παίρνονται ξανά καθώς το ταίρι επανεντάσσεται. Το αποτέλεσμα είναι προγραμματισμένη εργασία που δεν σας διακόπτει, κάτι διαφορετικό από προγραμματισμένη εργασία που δεν ανακοινώνεται: η αλλαγή είναι στο log μας και, όπου αγγίζει την πλατφόρμα σας, στο inbox σας, με τον μηχανισμό δηλωμένο.

Οι αλλαγές που αξίζουν παράθυρο

Το παράθυρο είναι η σωστή απάντηση όταν ένα βήμα είναι μη αναστρέψιμο, όταν το εξάρτημα από τη φύση του δεν έχει ταίρι εκείνη τη στιγμή, ή όταν η διαδικασία του κατασκευαστή απαιτεί η υπηρεσία να σταματήσει. Το cutover πλατφόρμας είναι η συνηθισμένη περίπτωση: τη στιγμή που η κίνηση μετακινείται από το παλιό περιβάλλον στο νέο, υπάρχει ένα διάστημα, συνήθως οριοθετημένο από τη διάδοση του DNS ή τη μετακίνηση ενός VIP, κατά το οποίο η υπηρεσία είναι «εν κινήσει».

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

ΑλλαγήΠώς γίνεταιΤι βλέπετε
Firmware controller storageΈνας κόμβος τη φορά. Οι hosts μένουν στις διαδρομές που επιβιώνουνΜια ειδοποίηση. Η υπηρεσία σας κουβαλιέται από τη διαδρομή του ταιριού καθ' όλη τη διάρκεια
Αντικατάσταση leaf switchΈνα μέλος του ζεύγους. Οι hosts μένουν στο άλλο μέλος του bondΜια ειδοποίηση. Η υπηρεσία σας κουβαλιέται από το link του ταιριού καθ' όλη τη διάρκεια
Συντήρηση host hypervisorΟι guests μεταφέρονται με live migration αλλού, και μετά πίσωΜια ειδοποίηση. Οι guests σας συνεχίζουν να τρέχουν
Cutover πλατφόρμαςΈνα σχεδιασμένο παράθυρο, οριοθετημένο από τη μετακίνηση DNS ή VIPΈνας συμφωνημένος χρόνος, μια κατονομασμένη επίπτωση, μια αναφορά μετά

Πώς διαβάζεται μια ειδοποίηση συντήρησης

Τρεις ερωτήσεις σάς λένε τα περισσότερα από όσα χρειάζεστε για τον σχεδιασμό κάτω από οποιαδήποτε πλατφόρμα, και τη δική μας: ποιο είναι το εξάρτημα, γιατί δεν μπορεί να γίνει υπό φορτίο, και ποια είναι η αναμενόμενη ορατή επίπτωση σε σχέση με τη διάρκεια της εργασίας. Μια ειδοποίηση που απαντά και στις τρεις είναι σχέδιο. Τις δικές μας τις γράφουμε για να τις απαντούν.

Ευθείες απαντήσεις

Είναι φυσιολογικό το προγραμματισμένο downtime για συντήρηση στο hosting;+

Η προγραμματισμένη εργασία είναι φυσιολογική. Το ορατό downtime για το μεγαλύτερο μέρος της δεν είναι απαραίτητο σε υποδομή χτισμένη σε ζεύγη. Firmware controllers, αντικατάσταση switch και συντήρηση host γίνονται υπό φορτίο. Τα παράθυρα κρατιούνται για τα βήματα που αλλάζουν κάτι χωρίς ταίρι.

Πότε παραμένει σωστή επιλογή το παράθυρο συντήρησης;+

Όταν ένα βήμα είναι μη αναστρέψιμο, όταν το εξάρτημα δεν έχει ταίρι εκείνη τη στιγμή, ή όταν η διαδικασία του κατασκευαστή απαιτεί να σταματήσει η υπηρεσία. Τα cutovers πλατφόρμας και ο τελικός συγχρονισμός μιας μεταφοράς storage είναι τυπικές περιπτώσεις.

Τι πρέπει να μου λέει μια ειδοποίηση συντήρησης;+

Το εξάρτημα, τον μηχανισμό, γιατί δεν μπορεί να γίνει υπό φορτίο, την αναμενόμενη ορατή στον πελάτη επίπτωση δηλωμένη χωριστά από τη διάρκεια της εργασίας, το rollback, και τον συμφωνημένο χρόνο. Μετά, το πραγματικό σε σχέση με το ανακοινωμένο.

Πώς ξέρετε ότι η πλεονάζουσα διαδρομή θα κουβαλήσει το φορτίο πριν βασιστείτε σε αυτήν;+

Διαβάζεται πριν την αλλαγή, από τη σκοπιά του host: αριθμός ενεργών διαδρομών προς τη συστοιχία, κατάσταση μελών του bond προς τα switches, περιθώριο στον προορισμό της migration. Ένας host με μία μόνο διαδρομή διορθώνεται πριν ξεκινήσει η εργασία.

Σχεδιάζετε μια αλλαγή που κανονικά θα χρειαζόταν παράθυρο;

Μιλήστε με έναν μηχανικό για να γίνει υπό φορτίο.

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

Φτάσατε στο τέλος.

Βάλτε την ανάγνωση σε εφαρμογή

Τι τρέχετε;

Πείτε μας για τον φόρτο εργασίας, την κίνηση και τις απαιτήσεις ανάκαμψης. Ξεκινήστε από το εργαλείο διαμόρφωσης server ή συζητήστε τις λεπτομέρειες με έναν μηχανικό.

Γραμμένο από τους μηχανικούς που χτίζουν και λειτουργούν την υποδομή που περιγράφει.
Μιλήστε με έναν μηχανικό
XIn

6 λεπτά ακόμη