Ομαδοποίηση στο Proxmox VE

Ομαδοποίηση στο Proxmox VE

Σε προηγούμενα άρθρα, αρχίσαμε να μιλάμε για το τι είναι το Proxmox VE και πώς λειτουργεί. Σήμερα θα μιλήσουμε για το πώς μπορείτε να χρησιμοποιήσετε τη δυνατότητα ομαδοποίησης και να δείξουμε τι οφέλη προσφέρει.

Τι είναι ένα σύμπλεγμα και γιατί χρειάζεται; Ένα σύμπλεγμα (από το αγγλικό σύμπλεγμα) είναι μια ομάδα διακομιστών που ενώνονται με κανάλια επικοινωνίας υψηλής ταχύτητας, που λειτουργούν και εμφανίζονται στο χρήστη ως ενιαίο σύνολο. Υπάρχουν πολλά κύρια σενάρια για τη χρήση ενός συμπλέγματος:

  • Παροχή ανοχής σφαλμάτων (μεγάλη διαθεσιμότητα).
  • Εξισορρόπηση φορτίου (Εξισορρόπηση φορτίου).
  • Αύξηση της παραγωγικότητας (υψηλή απόδοση).
  • Εκτέλεση Κατανεμημένων Υπολογιστών (Κατανεμημένη Υπολογιστική).

Κάθε σενάριο έχει τις δικές του απαιτήσεις για τα μέλη του συμπλέγματος. Για παράδειγμα, για ένα σύμπλεγμα που εκτελεί κατανεμημένους υπολογισμούς, η κύρια απαίτηση είναι η υψηλή ταχύτητα λειτουργιών κινητής υποδιαστολής και η χαμηλή καθυστέρηση δικτύου. Τέτοιες συστάδες χρησιμοποιούνται συχνά για ερευνητικούς σκοπούς.

Δεδομένου ότι έχουμε αγγίξει το θέμα των κατανεμημένων υπολογιστών, θα ήθελα να σημειώσω ότι υπάρχει επίσης κάτι όπως σύστημα πλέγματος (από το αγγλικό grid - lattice, network). Παρά τη γενική ομοιότητα, μην συγχέετε το σύστημα πλέγματος και το σύμπλεγμα. Το πλέγμα δεν είναι ένα σύμπλεγμα με τη συνήθη έννοια. Σε αντίθεση με ένα σύμπλεγμα, οι κόμβοι που περιλαμβάνονται στο πλέγμα είναι τις περισσότερες φορές ετερογενείς και χαρακτηρίζονται από χαμηλή διαθεσιμότητα. Αυτή η προσέγγιση απλοποιεί τη λύση κατανεμημένων υπολογιστικών προβλημάτων, αλλά δεν επιτρέπει τη δημιουργία ενός ενιαίου συνόλου από κόμβους.

Ένα εντυπωσιακό παράδειγμα συστήματος πλέγματος είναι μια δημοφιλής πλατφόρμα υπολογιστών BOINC (Berkeley Open Infrastructure for Network Computing). Αυτή η πλατφόρμα δημιουργήθηκε αρχικά για το έργο SETI @ σπίτι (Αναζήτηση για Εξωγήινη Νοημοσύνη στο Σπίτι), που αντιμετωπίζει το πρόβλημα της εύρεσης εξωγήινης νοημοσύνης με την ανάλυση ραδιοφωνικών σημάτων.

Πώς λειτουργεί;Μια τεράστια σειρά δεδομένων που λαμβάνονται από ραδιοτηλεσκόπια χωρίζεται σε πολλά μικρά κομμάτια και αποστέλλονται στους κόμβους του συστήματος πλέγματος (στο έργο SETI@home, εθελοντές υπολογιστές παίζουν το ρόλο τέτοιων κόμβων). Τα δεδομένα υποβάλλονται σε επεξεργασία στους κόμβους και αφού ολοκληρωθεί η επεξεργασία, αποστέλλονται στον κεντρικό διακομιστή του έργου SETI. Έτσι, το έργο επιλύει το πιο σύνθετο παγκόσμιο πρόβλημα χωρίς να έχει στη διάθεσή του την απαιτούμενη υπολογιστική ισχύ.

Τώρα που έχουμε μια σαφή κατανόηση του τι είναι ένα σύμπλεγμα, προτείνουμε να εξετάσουμε πώς μπορεί να δημιουργηθεί και να χρησιμοποιηθεί. Θα χρησιμοποιήσουμε ένα σύστημα εικονικοποίησης ανοιχτού κώδικα Proxmox VE.

Είναι ιδιαίτερα σημαντικό να κατανοήσετε με σαφήνεια τους περιορισμούς και τις απαιτήσεις συστήματος του Proxmox πριν ξεκινήσετε τη δημιουργία ενός συμπλέγματος, και συγκεκριμένα:

  • μέγιστος αριθμός κόμβων σε ένα σύμπλεγμα - 32;
  • όλοι οι κόμβοι πρέπει να έχουν την ίδια έκδοση του Proxmox (υπάρχουν εξαιρέσεις, αλλά δεν συνιστώνται για παραγωγή).
  • εάν στο μέλλον σχεδιάζεται να χρησιμοποιηθεί η λειτουργία Υψηλής Διαθεσιμότητας, τότε το σύμπλεγμα θα πρέπει να έχει τουλάχιστον 3 κόμβους;
  • Οι θύρες πρέπει να είναι ανοιχτές για να επικοινωνούν οι κόμβοι μεταξύ τους UDP/5404, UDP/5405 για corosync και TCP/22 για SSH?
  • Η καθυστέρηση δικτύου μεταξύ των κόμβων δεν πρέπει να υπερβαίνει 2 ms.

Δημιουργήστε ένα σύμπλεγμα

Σπουδαίος! Η παρακάτω διαμόρφωση είναι δοκιμαστική. Μην ξεχάσετε να ελέγξετε με επίσημη τεκμηρίωση Proxmox V.E.

Για να εκτελέσουμε ένα δοκιμαστικό σύμπλεγμα, πήραμε τρεις διακομιστές με εγκατεστημένο τον υπερεπόπτη Proxmox με την ίδια διαμόρφωση (2 πυρήνες, 2 GB μνήμης RAM).

Εάν θέλετε να μάθετε πώς μπορείτε να εγκαταστήσετε το Proxmox, τότε σας συνιστούμε να διαβάσετε το προηγούμενο άρθρο μας - Η μαγεία της εικονικοποίησης: ένα εισαγωγικό μάθημα στο Proxmox VE.

Αρχικά, μετά την εγκατάσταση του λειτουργικού συστήματος, εκτελείται ένας μόνο διακομιστής αυτόνομη λειτουργία.

Ομαδοποίηση στο Proxmox VE
Δημιουργήστε ένα σύμπλεγμα κάνοντας κλικ στο κουμπί Δημιουργία συμπλέγματος στη σχετική ενότητα.

Ομαδοποίηση στο Proxmox VE
Ορίζουμε ένα όνομα για το μελλοντικό σύμπλεγμα και επιλέγουμε μια ενεργή σύνδεση δικτύου.

Ομαδοποίηση στο Proxmox VE
Κάντε κλικ στο κουμπί Δημιουργία. Ο διακομιστής θα δημιουργήσει ένα κλειδί 2048-bit και θα το γράψει μαζί με τις παραμέτρους του νέου συμπλέγματος στα αρχεία διαμόρφωσης.

Ομαδοποίηση στο Proxmox VE
Λεζάντα ΕΡΓΑΣΙΑ ΟΚ υποδηλώνει την επιτυχή ολοκλήρωση της λειτουργίας. Τώρα, κοιτάζοντας τις γενικές πληροφορίες για το σύστημα, μπορεί να φανεί ότι ο διακομιστής έχει αλλάξει σε λειτουργία συμπλέγματος. Μέχρι στιγμής, το σύμπλεγμα αποτελείται από έναν μόνο κόμβο, δηλαδή δεν έχει ακόμη τις δυνατότητες για τις οποίες χρειάζεται ένα σύμπλεγμα.

Ομαδοποίηση στο Proxmox VE

Συμμετοχή σε ένα σύμπλεγμα

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

Ομαδοποίηση στο Proxmox VE
Στο παράθυρο που ανοίγει, μας ενδιαφέρουν τα περιεχόμενα του ομώνυμου πεδίου. Θα χρειαστεί να αντιγραφεί.

Ομαδοποίηση στο Proxmox VE
Όλες οι απαραίτητες παράμετροι σύνδεσης κωδικοποιούνται εδώ: η διεύθυνση διακομιστή για τη σύνδεση και το ψηφιακό δακτυλικό αποτύπωμα. Πηγαίνουμε στον διακομιστή που πρέπει να συμπεριληφθεί στο σύμπλεγμα. Πατάμε το κουμπί Εγγραφείτε στο Cluster και στο παράθυρο που ανοίγει, επικολλήστε το αντιγραμμένο περιεχόμενο.

Ομαδοποίηση στο Proxmox VE
Πεδίο Διεύθυνση ομοτίμου и Δακτυλικό αποτύπωμα θα συμπληρωθεί αυτόματα. Εισαγάγετε τον κωδικό πρόσβασης root για τον αριθμό κόμβου 1, επιλέξτε τη σύνδεση δικτύου και πατήστε το κουμπί Συμμετοχή.

Ομαδοποίηση στο Proxmox VE
Κατά τη διαδικασία ένταξης σε ένα σύμπλεγμα, η ιστοσελίδα GUI ενδέχεται να σταματήσει να ενημερώνεται. Δεν πειράζει, απλώς φορτώστε ξανά τη σελίδα. Με τον ίδιο ακριβώς τρόπο, προσθέτουμε έναν άλλο κόμβο και ως αποτέλεσμα παίρνουμε ένα πλήρες σύμπλεγμα 3 κόμβων εργασίας.

Ομαδοποίηση στο Proxmox VE
Τώρα μπορούμε να ελέγξουμε όλους τους κόμβους συμπλέγματος από ένα GUI.

Ομαδοποίηση στο Proxmox VE

Οργάνωση Υψηλής Διαθεσιμότητας

Το Proxmox out of the box υποστηρίζει τη λειτουργικότητα οργάνωσης HA τόσο για εικονικές μηχανές όσο και για κοντέινερ LXC. Χρησιμότητα χα-διαχειριστής ανιχνεύει και χειρίζεται σφάλματα και αστοχίες, εκτελώντας μια ανακατεύθυνση από έναν αποτυχημένο κόμβο σε έναν κόμβο που λειτουργεί. Για να λειτουργεί σωστά ο μηχανισμός, είναι απαραίτητο οι εικονικές μηχανές και τα κοντέινερ να έχουν κοινό χώρο αποθήκευσης αρχείων.

Μετά την ενεργοποίηση της λειτουργίας High Availability, η στοίβα λογισμικού ha-manager θα παρακολουθεί συνεχώς την κατάσταση της εικονικής μηχανής ή του κοντέινερ και θα αλληλεπιδρά ασύγχρονα με άλλους κόμβους συμπλέγματος.

Επισύναψη κοινόχρηστου χώρου αποθήκευσης

Για παράδειγμα, αναπτύξαμε ένα μικρό κοινόχρηστο αρχείο NFS στο 192.168.88.18. Για να μπορούν όλοι οι κόμβοι του συμπλέγματος να το χρησιμοποιούν, πρέπει να κάνετε τους παρακάτω χειρισμούς.

Επιλέξτε από το μενού διεπαφής web Datacenter - Storage - Add - NFS.

Ομαδοποίηση στο Proxmox VE
Συμπληρώστε τα πεδία ID и διακομιστή. Στην αναπτυσσόμενη λίστα εξαγωγή επιλέξτε τον επιθυμητό κατάλογο από τους διαθέσιμους και στη λίστα Περιεχόμενο — απαιτούμενοι τύποι δεδομένων. Αφού πατήσετε το κουμπί Πρόσθεση η αποθήκευση θα συνδεθεί με όλους τους κόμβους συμπλέγματος.

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

Ρύθμιση HA

Για παράδειγμα, ας δημιουργήσουμε ένα κοντέινερ με το Ubuntu 18.04 και ας διαμορφώσουμε την Υψηλή Διαθεσιμότητα για αυτό. Αφού δημιουργήσετε και εκτελέσετε το κοντέινερ, μεταβείτε στην ενότητα Datacenter-HA-Add. Στο πεδίο που ανοίγει, καθορίστε το αναγνωριστικό εικονικής μηχανής/κοντέινερ και τον μέγιστο αριθμό προσπαθειών επανεκκίνησης και μετακίνησης μεταξύ κόμβων.

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

Ομαδοποίηση στο Proxmox VE
Αφού πατήσετε το κουμπί Πρόσθεση χρησιμότητα χα-διαχειριστής θα ειδοποιήσει όλους τους κόμβους του συμπλέγματος ότι τώρα το VM με το καθορισμένο αναγνωριστικό ελέγχεται και σε περίπτωση σφάλματος πρέπει να γίνει επανεκκίνηση σε άλλον κόμβο.

Ομαδοποίηση στο Proxmox VE

Ας κάνουμε μια συντριβή

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

Ομαδοποίηση στο Proxmox VE

Η λειτουργία του μηχανισμού HA δεν σημαίνει τη συνέχεια του VM. Μόλις «πέσει» ο κόμβος, η λειτουργία VM διακόπτεται προσωρινά μέχρι να επανεκκινηθεί αυτόματα σε άλλον κόμβο.

Και εδώ αρχίζει η «μαγεία» - το σύμπλεγμα επαναδιέθεσε αυτόματα τον κόμβο για να τρέξει το VM μας και μέσα σε 120 δευτερόλεπτα η εργασία αποκαταστάθηκε αυτόματα.

Ομαδοποίηση στο Proxmox VE
Σβήνουμε τον κόμβο 2 στη διατροφή. Ας δούμε αν το σύμπλεγμα θα επιβιώσει και αν το VM θα επιστρέψει αυτόματα σε κατάσταση λειτουργίας.

Ομαδοποίηση στο Proxmox VE
Δυστυχώς, όπως μπορούμε να δούμε, έχουμε πρόβλημα με το γεγονός ότι δεν υπάρχει πλέον απαρτία στον μοναδικό εναπομένον κόμβο, ο οποίος απενεργοποιεί αυτόματα το HA. Δίνουμε την εντολή αναγκαστικής εγκατάστασης απαρτίας στην κονσόλα.

pvecm expected 1

Ομαδοποίηση στο Proxmox VE
Μετά από 2 λεπτά, ο μηχανισμός HA λειτούργησε σωστά και, μη βρίσκοντας τον κόμβο2, ξεκίνησε το VM μας στον κόμβο3.

Ομαδοποίηση στο Proxmox VE
Μόλις ενεργοποιήσαμε ξανά τον κόμβο1 και τον κόμβο2, το σύμπλεγμα αποκαταστάθηκε πλήρως. Λάβετε υπόψη ότι η εικονική μηχανή δεν επανέρχεται στον κόμβο1 από μόνη της, αλλά αυτό μπορεί να γίνει χειροκίνητα.

Ανακεφαλαίωση

Σας είπαμε πώς λειτουργεί ο μηχανισμός ομαδοποίησης Proxmox και σας δείξαμε επίσης πώς ρυθμίζεται το HA για εικονικές μηχανές και κοντέινερ. Η σωστή χρήση της ομαδοποίησης και του ΥΑ αυξάνει σημαντικά την αξιοπιστία της υποδομής, καθώς και την παροχή αποκατάστασης από καταστροφές.

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

Πείτε μας - χρησιμοποιείτε τις δυνατότητες ομαδοποίησης του Proxmox; Σας περιμένουμε στα σχόλια.

Προηγούμενα άρθρα σχετικά με τον Proxmox VE hypervisor:

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο