
La ένθετη εικονικοποίηση Από κάτι σπάνιο σε εργαστήρια, έχει εξελιχθεί σε βασικό στοιχείο για τη δημιουργία σύνθετων περιβαλλόντων για δοκιμές, εκπαίδευση, ανάπτυξη, ακόμη και ορισμένα σενάρια στο δημόσιο cloud. Η δυνατότητα εκτέλεσης εικονικών μηχανών μέσα σε άλλες εικονικές μηχανές ανοίγει ένα τεράστιο φάσμα δυνατοτήτων, από τη δημιουργία ενός μίνι κέντρου δεδομένων στον φορητό υπολογιστή σας έως την έναρξη μιας πλήρους εκπαιδευτικής εγκατάστασης στο Azure ή τη δοκιμή νέων εκδόσεων hypervisors στο AWS χωρίς να ξοδέψετε μια περιουσία.
Σε αυτό το άρθρο θα εξηγήσουμε ακριβώς τι είναι η nested virtualization και πώς εφαρμόζεται. VMware, Hyper-V (Azure) και AWS EC2Αυτό το άρθρο καλύπτει τις απαιτήσεις του, τις κύριες περιπτώσεις χρήσης στον πραγματικό κόσμο, τις επιπτώσεις στην απόδοση, τη δικτύωση, τις άδειες χρήσης και τις βέλτιστες πρακτικές. Στόχος είναι, μέχρι το τέλος αυτού του άρθρου, να έχετε μια ολοκληρωμένη και πρακτική κατανόηση του πότε είναι σχετικό να το χρησιμοποιείτε, πώς να το ρυθμίσετε και ποιους περιορισμούς ενδέχεται να αντιμετωπίσετε.
Τι είναι η ενσωματωμένη εικονικοποίηση;
Όταν μιλάμε για nested virtualization, αναφερόμαστε στην ικανότητα να εκτελέστε έναν υπερεπόπτη ως εικονική μηχανή μέσα σε έναν άλλο hypervisor που εκτελείται σε φυσικό υλικό και, με τη σειρά του, να είναι σε θέση να δημιουργήσει εικονικές μηχανές (VM) μέσα σε αυτόν τον guest hypervisor. Δηλαδή, μια VM μέσα σε μια άλλη VM, με πολλά επίπεδα εικονικοποίησης το ένα πάνω στο άλλο.
Σε αυτό το πλαίσιο, χρησιμοποιούνται διάφοροι όροι που θα πρέπει να είναι σαφείς για την αποφυγή σύγχυσης: ο υπερεπόπτης που εκτελείται απευθείας στον φυσικό διακομιστή είναι ο υπερεπόπτης κεντρικού υπολογιστή, ενώ ο υπερεπόπτης που εγκαθιστούμε μέσα σε μια εικονική μηχανή ονομάζεται συνήθως υπερεπόπτης επισκέπτηΟι εικονικές μηχανές (VM) που εκτελούνται απευθείας στον φυσικό κεντρικό υπολογιστή ονομάζονται εξωτερικοί επισκέπτες (external guests), ενώ εκείνες που εκτελούνται μέσα σε αυτόν τον hypervisor guest ονομάζονται εσωτερικοί επισκέπτες (internal guests). εσωτερικοί επισκέπτες ή ένθετες εικονικές μηχανές.
Από τεχνική άποψη, ο guest hypervisor πιστεύει ότι επικοινωνεί με πραγματικό φυσικό υλικό, αλλά στην πραγματικότητα λειτουργεί ενάντια σε ένα εικονικοποιημένο υλικό που παρουσιάζεται από τον υπερεπόπτη κεντρικού υπολογιστή. Εάν έχετε επαρκείς πόρους, μπορείτε ακόμη και να συνδέσετε περισσότερα επίπεδα (επίπεδο 4, επίπεδο 5, κ.λπ.), αν και η απόδοση και η διαχείριση γίνονται σημαντικά πιο περίπλοκες και στην πράξη σπάνια ξεπερνούν τα δύο ή τρία επίπεδα.
Εικονικοποίηση με υποβοήθηση υλικού και βασικές απαιτήσεις
Για να λειτουργήσει αρκετά καλά η nested virtualization, είναι απαραίτητο να έχετε εικονικοποίηση υποβοηθούμενη από το υλικό (Intel VT-x, AMD-V ή ισοδύναμο). Αυτές οι επεκτάσεις επιτρέπουν στον υπερεπόπτη να χειρίζεται μεταβάσεις περιβάλλοντος και διεργασίες ευαίσθητες σε εντολές πολύ πιο αποτελεσματικά από ό,τι με παλαιότερες τεχνικές όπως η δυαδική μετάφραση ή η παραεικονικοποίηση.
Στην πράξη, αυτό σημαίνει ότι πρέπει να βεβαιωθείτε ότι η CPU του φυσικού διακομιστή υποστηρίζει αυτές τις επεκτάσεις και ότι είναι ενεργοποιημένο στο BIOS/UEFIΕπιπλέον, ο υπερεπόπτης κεντρικού υπολογιστή πρέπει να έχει τη δυνατότητα να εκθέτει αυτές τις επεκτάσεις εικονικοποίησης στο λειτουργικό σύστημα guest, έτσι ώστε ο υπερεπόπτης που εκτελείται ως εικονική μηχανή να μπορεί με τη σειρά του να δημιουργεί εικονικές μηχανές 64-bit και να επωφελείται από την επιτάχυνση υλικού.
Μια άλλη σημαντική απαίτηση σε περιβάλλοντα VMware είναι το επίπεδο εικονικό υλικό της εικονικής μηχανής το οποίο θα φιλοξενήσει τον guest hypervisor. Για να ενεργοποιηθεί η nested virtualization, απαιτείται τουλάχιστον η έκδοση υλικού 9 της εικονικής μηχανής. Από τότε και στο εξής, οι πιο πρόσφατες εκδόσεις των Workstation, Player, Fusion και ESXi περιλαμβάνουν ρητή υποστήριξη για την εικονικοποίηση επεκτάσεων CPU εντός εικονικών μηχανών.
Υπερεπόπτες και συμβατότητες
Η nested virtualization είναι διαθέσιμη τόσο σε hypervisors Τύπου 1 (bare metal) όσο και σε hypervisors Τύπου 1. υπερεπόπτες τύπου 2Στο οικοσύστημα VMware, το ESXi είναι ο κλασικός υπερεπόπτης τύπου 1, ενώ τα Workstation, Player και Fusion είναι υπερεπόπτες τύπου 2 που εγκαθίστανται πάνω σε ένα λειτουργικό σύστημα κεντρικού υπολογιστή.
Αυτά τα προϊόντα μπορούν να εκτελέσουν μια άλλη εικονική μηχανή ESXi ή ακόμα και υπερεπόπτες τρίτων κατασκευαστών, όπως Microsoft Hyper-V ή VirtualBoxυπό την προϋπόθεση ότι ο υπερεπόπτης κεντρικού υπολογιστή επιτρέπει την εσωτερική εικονικοποίηση υλικού (HV). Σε γενικές γραμμές, οι τεχνικά υποστηριζόμενοι συνδυασμοί θα ήταν:
- ESXi ως εικονική μηχανή σε VMware Workstation, Player ή Fusion.
- ESXi ως VM στο ESXi (περιβάλλον πλήρως ενσωματωμένο μέσα στην ίδια τη στοίβα VMware).
- ESXi ως VM σε hypervisors τρίτων κατασκευαστών (για παράδειγμα, στο Hyper-V).
- Υπερεπόπτες που δεν είναι VMware όπως εικονικές μηχανές (VM) σε ESXi, Workstation, Player ή Fusion, εφόσον είναι σε θέση να αξιοποιήσουν την εικονικοποίηση υλικού.
Στο Hyper-V, η nested virtualization χρησιμοποιείται κυρίως σε περιβάλλοντα όπως Υπηρεσίες Azure Labόπου είναι δυνατό να ενεργοποιηθεί το Hyper-V μέσα σε μια εικονική μηχανή εργαστηρίου για τη δημιουργία ενσωματωμένων εικονικών μηχανών. Και στο AWS, η άφιξη επίσημης υποστήριξης για ενσωματωμένη εικονικοποίηση για Πρότυπο EC2 (όχι μόνο οι μεταλλικές παρουσίες) αποτέλεσαν ένα σημαντικό άλμα προς τα εμπρός για πολλά περιβάλλοντα δοκιμών και ανάπτυξης.
Επίσημη υποστήριξη και περιορισμοί στο VMware
Παρόλο που η nested virtualization λειτουργεί πολύ καλά στο VMware στην πράξη, είναι σημαντικό να λάβουμε υπόψη την πτυχή του επίσημη υποστήριξηΗ VMware δεν θεωρεί τις ενσωματωμένες εικονικές μηχανές (VM) ως υποστηριζόμενη διαμόρφωση για περιβάλλοντα παραγωγής, πράγμα που σημαίνει ότι εάν ανοίξετε μια υπόθεση υποστήριξης και το πρόβλημα σχετίζεται με ένα ενσωματωμένο περιβάλλον, είναι πολύ πιθανό να μην παρέχουν υποστήριξη.
Η κύρια εξαίρεση στο οικοσύστημα VMware είναι η χρήση του Συσκευή vSAN WitnessΜια ενσωματωμένη εικονική μηχανή ESXi λειτουργεί ως μάρτυρας στις αρχιτεκτονικές vSAN Stretched Clusters. Σε αυτήν την περίπτωση, το VMware αναγνωρίζει και τεκμηριώνει ρητά αυτήν τη χρήση, καθώς αποτελεί μέρος της επίσημης αρχιτεκτονικής του προϊόντος.
Υπάρχει ένα άλλο σχετικό σενάριο: το Ασφάλεια που βασίζεται σε εικονικοποίηση της Microsoft (VBS) Σε εικονικές μηχανές (VM) των Windows. Από την έκδοση vSphere 6.7, το VMware υποστηρίζει την ενεργοποίηση του VBS σε εικονικές μηχανές των Windows, πράγμα που στην πράξη σημαίνει την εκτέλεση του Hyper-V και ορισμένων λειτουργιών απομόνωσης εικονικοποίησης μέσα σε μια εικονική μηχανή. Αυτό το σενάριο είναι καλά τεκμηριωμένο και καλύπτεται από υποστήριξη εάν πληροίτε τις απαιτήσεις έκδοσης και διαμόρφωσης.
Άδειες χρήσης σε ένθετα περιβάλλοντα
Κατά την εγκατάσταση των στοιχείων ESXi, vCenter ή άλλων στοιχείων vSphere ως εικονικές μηχανές για τη δημιουργία ενός ένθετου περιβάλλοντος, είναι σημαντικό να έχετε κατά νου ότι η αδειοδότηση είναι ακριβώς η ίδια από ό,τι αν ήταν εγκατεστημένα σε φυσικούς διακομιστές. Κάθε παρουσία του ESXi, ακόμη και αν είναι εικονική, απαιτεί τη δική της άδεια χρήσης ή, εναλλακτικά, η δωρεάν έκδοση ή οι δοκιμαστικές εκδόσεις μπορούν να χρησιμοποιηθούν για εργαστηριακά περιβάλλοντα.
Αυτό ισχύει είτε αναπτύσσετε nested ESXi πάνω από VMware είτε τα εκτελείτε ως VM σε hypervisors τρίτων κατασκευαστών. Ένας συνηθισμένος τρόπος βελτιστοποίησης των αδειών χρήσης CPU σε αυτά τα εργαστήρια είναι να πειραματιστείτε με τον αριθμό των πυρήνες ανά υποδοχή που έχει εκχωρηθεί στην εικονική μηχανή ESXi (παράμετρος cpuid.coresPerSocket), υπό την προϋπόθεση ότι οι όροι της άδειας χρήσης το επιτρέπουν και ότι τηρείτε τους περιορισμούς της συμβατικής έκδοσης.
Πραγματικές περιπτώσεις χρήσης της nested virtualization στο VMware
Η μεγάλη ελκυστικότητα της nested virtualization είναι ότι σας επιτρέπει να κάνετε mount εξαιρετικά πολύπλοκα περιβάλλοντα σε έναν μόνο φυσικό κεντρικό υπολογιστή χωρίς την ανάγκη ανάπτυξης rack διακομιστών, συστοιχιών αποθήκευσης ή αποκλειστικών διακοπτών. Μερικές από τις πιο συνηθισμένες χρήσεις στο VMware είναι ιδιαίτερα σαφείς.
Εργαστήρια εκπαίδευσης και αυτοδιδασκαλίας
Ίσως η πιο χαρακτηριστική περίπτωση είναι αυτή του εργαστήρια εκπαίδευσηςΜπορείτε να αναπτύξετε πολλαπλές εικονικές μηχανές ESXi, έναν διακομιστή vCenter και μια εικονική μηχανή για κοινόχρηστο χώρο αποθήκευσης (εικονικό NAS, vSAN ή παρόμοιο) σε έναν μόνο φυσικό κεντρικό υπολογιστή και να αναπαράγετε σχεδόν πλήρως ένα περιβάλλον παραγωγής vSphere: clusters, HA, DRS, Storage DRS, vMotion κ.λπ.
Αυτή η προσέγγιση είναι ιδανική για έναν διαχειριστή για να ρυθμίσει ένα οικιακό εργαστήριο στον οικιακό σας υπολογιστή ή διακομιστή ή για εσωτερική εκπαίδευση σε μια εταιρεία. Το γεγονός ότι όλα εκτελούνται σε ενσωματωμένη μορφή απλοποιεί σημαντικά τις δοκιμές: εάν ένας μαθητής προκαλέσει βλάβη σε έναν εικονικό κεντρικό υπολογιστή ESXi ή στις ενσωματωμένες εικονικές μηχανές (VM), η απλή επαναφορά της εξωτερικής εικονικής μηχανής ESXi από ένα αντίγραφο ασφαλείας θα επαναφέρει τα πάντα στην κανονικότητα.
Ανάπτυξη λύσεων για το vSphere
Οι ομάδες που αναπτύσσουν εφαρμογές ή ενσωματώσεις ειδικά για VMware (plugins, εργαλεία δημιουργίας αντιγράφων ασφαλείας, αυτοματοποίηση, ενορχήστρωση κ.λπ.) συνήθως χρειάζονται επαναλήψιμα περιβάλλοντα όπου ανεβάζω συγκεκριμένες εκδόσεις του ESXi, του vCenter και διαφορετικών διαμορφώσεων δικτύου και αποθήκευσης.
Χάρη στην ενσωματωμένη εικονικοποίηση, μπορείτε να αναπτύξετε πολλά περιβάλλοντα δοκιμών πολύ γρήγορα, με διαφορετικούς συνδυασμούς εκδόσεων, συμπλεγμάτων και πολιτικών, χωρίς να χρειάζεστε μεγάλο στόλο φυσικών διακομιστών ή ακριβούς πίνακες αποθήκευσης. Ξεκινάτε το περιβάλλον, εκτελείτε τη δοκιμή και, στη συνέχεια, το καταστρέφετε ή το κλωνοποιείτε ανάλογα με τις ανάγκες, όλα στον ίδιο υπερεπόπτη κεντρικού υπολογιστή.
Δοκιμές, ενημερώσεις και επιδείξεις
Μια άλλη πολύ ισχυρή χρήση είναι αυτή του δοκιμή νέων εκδόσεων των hypervisors ή αρχιτεκτονικές αλλαγές. Πριν από την αναβάθμιση του ESXi σε φυσικούς κεντρικούς υπολογιστές παραγωγής ή την εισαγωγή μιας νέας λύσης αποθήκευσης, πολλοί διαχειριστές ρυθμίζουν το ένθετο περιβάλλον, προσομοιώνουν την αναβάθμιση και επικυρώνουν ότι όλα λειτουργούν όπως αναμένεται.
Ομοίως, οι ομάδες πωλήσεων και προπωλήσεων χρησιμοποιούν συχνά ένθετα περιβάλλοντα vSphere για να κάνουν ζωντανές επιδείξεις Για τους πελάτες: μπορούν να εγκαταστήσουν αρκετούς κεντρικούς υπολογιστές ESXi, ένα vCenter, έναν εικονικό διακομιστή αποθήκευσης και ορισμένες εικονικές μηχανές (VM), όλα μέσα σε ένα μόνο φυσικό εργαστηριακό μηχάνημα ή ακόμα και σε έναν ισχυρό φορητό υπολογιστή, και μπορούν να επιδείξουν λειτουργίες όπως vMotion, HA, DRS ή SRM χωρίς να βασίζονται σε έναν πλήρη τεχνικό χώρο.
Μικτά περιβάλλοντα και δημόσια clouds
Η ενσωματωμένη εικονικοποίηση αξιοποιείται επίσης για να επιτρέπει στους παρόχους διαχειριζόμενων υπηρεσιών να φιλοξενούν VMware σε δημόσια clouds ή σε ετερογενείς πλατφόρμες. Ένα πρακτικό παράδειγμα είναι η ανάπτυξη ενός εικονικού ESXi σε έναν δημόσιο κεντρικό υπολογιστή cloud και η φιλοξενία των εικονικών μηχανών ενός πελάτη εκεί, διατηρώντας παράλληλα τα εργαλεία και τις διαδικασίες τους.
Επιπλέον, η δυνατότητα να γίνει δημιουργία αντιγράφων ασφαλείας σε ένθετο περιβάλλον Με διάφορους τρόπους (δημιουργώντας αντίγραφα ασφαλείας της εικονικής μηχανής που περιέχει τον guest hypervisor ή των ενσωματωμένων εικονικών μηχανών ξεχωριστά) προσφέρει μεγάλη ευελιξία στην προστασία δεδομένων σε αυτά τα υβριδικά σενάρια.
Απόδοση ενσωματωμένων εικονικών μηχανών
Όσον αφορά την απόδοση, πρέπει να είμαστε ρεαλιστές: κάθε επιπλέον επίπεδο εικονικοποίησης εισάγει επιβάρυνση. Στο VMware, για κάθε εκτελούμενη εικονική μηχανή υπάρχει μία διεργασία στον κεντρικό υπολογιστή ESXi η οποία καταναλώνει RAM και CPU. Εάν μέσα σε μία από αυτές τις εικονικές μηχανές εκτελείτε με τη σειρά σας ένα ESXi με αρκετές ένθετες εικονικές μηχανές, στην πραγματικότητα συσσωρεύετε πολλά επίπεδα διεργασιών, διακόπτες περιβάλλοντος και προγραμματισμό στους ίδιους φυσικούς πυρήνες.
Στην πράξη, οι ενσωματωμένες εικονικές μηχανές (VM) είναι συνήθως πιο αργές από τις κανονικές εικονικές μηχανές. Το μέγεθος της επίδρασης εξαρτάται από παράγοντες όπως η απόδοση του φυσικού επεξεργαστή, η ποσότητα της διαθέσιμης μνήμης, ο τύπος αποθήκευσης και, πάνω απ' όλα, ο αριθμός των επιπέδων ένθεσης και των ταυτόχρονων εικονικών μηχανών. Για ελαφριά φόρτα εργασίας εργαστηρίου, είναι απόλυτα διαχειρίσιμο, αλλά για απαιτητική παραγωγή Δεν είναι συνήθως η καλύτερη επιλογή.
Εργαλεία VMware ειδικά για nested ESXi
Όταν εγκαθιστάτε το ESXi μέσα σε μια εικονική μηχανή, είναι επίσης σημαντικό να έχετε Εργαλεία VMware για αυτό το εικονικοποιημένο ESXi. Είναι το σύνολο των προγραμμάτων οδήγησης και των υπηρεσιών που επιτρέπει στον υπερεπόπτη κεντρικού υπολογιστή να επικοινωνεί καλύτερα με την εικονική μηχανή επισκέπτη και να βελτιώνει τη διαχείρισή της.
Στην περίπτωση του nested ESXi, το VMware Tools παρέχει λειτουργίες όπως η εμφάνιση της διεύθυνσης IP και του ονόματος κεντρικού υπολογιστή του εικονικού ESXi από τον πελάτη vSphere, καθώς και η δυνατότητα ομαλό κλείσιμο ή επανεκκίνηση Το nested ESXi από την κονσόλα διαχείρισης και η εκτέλεση σεναρίων όταν αλλάζει η κατάσταση ισχύος του, καθώς και υποστήριξη για λειτουργίες εντός της εικονικής μηχανής μέσω του Guest Operations API.
Σε παλαιότερες εκδόσεις του ESXi 5.x, αυτά τα εργαλεία έπρεπε να εγκατασταθούν χειροκίνητα χρησιμοποιώντας ένα πακέτο VIB. Από το vSphere 6.0 και μετά, περιλαμβάνονται τα απαραίτητα εργαλεία. ενσωματωμένο στο ESXiΕπομένως, όταν εγκαθιστάτε το ESXi σε μια εικονική μηχανή με τον τυπικό τρόπο, τα Εργαλεία VMware εμφανίζονται απευθείας ως παρόντα και σε λειτουργία, απλοποιώντας σημαντικά την καθημερινή διαχείριση.
Πολιτικές δικτύου και ασφάλειας σε ένθετα περιβάλλοντα VMware
Το επίπεδο δικτύου είναι μια από τις πιο απαιτητικές πτυχές της δημιουργίας ενός ενσωματωμένου περιβάλλοντος ESXi. Από προεπιλογή, οι εικονικοί διακόπτες ESXi δεν σχεδιάστηκαν με αυτό κατά νου. υπερεπόπτες εντός εικονικών μηχανώνΕπομένως, ορισμένες πολιτικές ασφαλείας πρέπει να προσαρμοστούν, ώστε οι ενσωματωμένες εικονικές μηχανές (VM) να μπορούν να επικοινωνούν σωστά με τον έξω κόσμο.
Σε έναν φυσικό κεντρικό υπολογιστή ESXi που θα φιλοξενεί ένθετους υπερεπόπτες, το vSwitch (ή η αντίστοιχη ομάδα θυρών) πρέπει να τροποποιηθεί ενεργοποιώντας το αδιάκριτη λειτουργίαΑυτό επιτρέπει αλλαγές διεύθυνσης MAC και δέχεται πλαίσια με πλαστογραφημένες διευθύνσεις MAC πηγής (Πλαστοποιημένες Μεταδόσεις). Εάν αυτές οι παράμετροι παραμείνουν στην προεπιλεγμένη τιμή (Απόρριψη), ο εικονικός διακόπτης απορρίπτει την κίνηση από τις ενσωματωμένες εικονικές μηχανές (VMs) επειδή η ενεργή διεύθυνση MAC δεν ταιριάζει με αυτήν της εικονικής κάρτας δικτύου ESXi guest.
Αχαλίνωτη συμπεριφορά και οι επιπτώσεις της
Η αδιάκριτη λειτουργία είναι μια πολιτική ασφαλείας που προκαλεί τη λήψη μιας διεπαφής δικτύου. όλα τα διαγράμματα L2 που περνούν μέσω του vSwitch, όχι μόνο αυτά που κατευθύνονται στη δική του διεύθυνση MAC. Χρησιμοποιείται συνήθως για την παρακολούθηση δικτύου, την ανάλυση κίνησης και, στην περίπτωσή μας, ώστε ο ένθετος υπερεπόπτης να μπορεί να δει την κίνηση των εσωτερικών εικονικών μηχανών του.
Η ενεργοποίηση της λειτουργίας promiscuous σε ένα vSwitch ή σε μια ομάδα θυρών το κάνει να συμπεριφέρεται περισσότερο σαν κόμβος: όλη η κίνηση προωθείται σε αυτήν τη διεπαφή. Αυτό διευκολύνει την εικονική μηχανή ESXi να μαθαίνει και να διαχειρίζεται τις διευθύνσεις MAC των ενσωματωμένων εικονικών μηχανών, αλλά σε αντάλλαγμα μειώνει την απόδοση του δικτύουΑυτό είναι ιδιαίτερα αισθητό εάν τα φορτία είναι πολύ φορτωμένα με κυκλοφορία.
Αλλαγές MAC και πλαστές μεταδόσεις
Από προεπιλογή, ένα τυπικό vSwitch στο ESXi δεν επιτρέπει μια εικονική μηχανή. Αλλάξτε τη διεύθυνση MAC σας Όσον αφορά τη διαμόρφωση στο αρχείο VMX, αυτό είναι ένα μέτρο ασφαλείας κατά των επιθέσεων δηλητηρίασης ARP και της πλαστογράφησης ταυτότητας. Ομοίως, τα εξερχόμενα πλαίσια των οποίων η διεύθυνση MAC πηγής δεν ταιριάζει με την πραγματική διεύθυνση MAC της εικονικής μηχανής αποκλείονται, θεωρώντας τα πλαστογραφημένες μεταδόσεις.
Σε ένα σενάριο ένθετης σύνδεσης, οι εσωτερικές εικονικές μηχανές (VM) έχουν συνήθως διαφορετικές διευθύνσεις MAC από τον φιλοξενούμενο κεντρικό υπολογιστή ESXi. Εάν αυτές οι πολιτικές δεν έχουν οριστεί σε Αποδοχή, ο εικονικός διακόπτης στον φυσικό κεντρικό υπολογιστή θα θεωρήσει τα πλαίσια που εξέρχονται από τον εικονικό κεντρικό υπολογιστή ESXi με διαφορετικές διευθύνσεις MAC ως ύποπτα και θα τα προωθήσει. θα απορρίψει, διακόπτοντας τη συνδεσιμότητα των nested VM με το υπόλοιπο δίκτυο.
Ξεκινώντας με το vSphere 6.7, οι Κατανεμημένοι Εικονικοί Διακόπτες (VDS) ενσωματώνουν επιλογές για Εκμάθηση διεύθυνσης MAC μέσω της επιλογής macManagementPolicy, η οποία μειώνει την ανάγκη χρήσης της λειτουργίας promiscuous και παρέχει συμπεριφορά που μοιάζει περισσότερο με αυτή ενός παραδοσιακού φυσικού διακόπτη σε ένθετα περιβάλλοντα.
Βασικά βήματα για τη δημιουργία ενός περιβάλλοντος ESXi σε ένθετα
Στην πράξη, η τυπική ανάπτυξη ενός nested περιβάλλοντος ESXi σε έναν φυσικό κεντρικό υπολογιστή ESXi περιλαμβάνει μια σειρά από σχετικά τυπικά βήματα, αν και με ορισμένες κρίσιμες λεπτομέρειες για να διασφαλιστεί ότι όλα λειτουργούν σωστά.
Πρώτον, ένα εικονική μηχανή που θα λειτουργεί ως κεντρικός υπολογιστής ESXiΣτον οδηγό, επιλέγετε ένα κατάλληλο επίπεδο συμβατότητας υλικού (για παράδειγμα, ESXi 6.5 ή νεότερη έκδοση), επιλέγετε "VMware ESXi" ως λειτουργικό σύστημα guest και, στην ενότητα υλικού, εκχωρείτε τουλάχιστον 2 vCPU, 8 GB RAM ή περισσότερο και έναν επαρκή εικονικό δίσκο (τουλάχιστον 32 GB για ESXi 7.x, αν και είναι προτιμότερο να παρέχετε περισσότερους).
Το βασικό σημείο είναι να επιλέξετε την επιλογή Έκθεση εικονικοποίησης με υποβοήθηση υλικού στο λειτουργικό σύστημα guest. Εάν αυτό δεν γίνει, κατά την εγκατάσταση του ESXi στην εικονική μηχανή θα εμφανιστεί μια προειδοποίηση που υποδεικνύει ότι η εικονικοποίηση υλικού δεν υποστηρίζεται ή δεν είναι ενεργοποιημένη στην CPU και δεν θα είναι δυνατή η εκκίνηση ενσωματωμένων εικονικών μηχανών (VM) μέσα σε αυτό το εικονικό ESXi.
Μόλις δημιουργηθεί η εικονική μηχανή, η εικόνα ISO εγκατάστασης του ESXi τοποθετείται από ένα χώρο αποθήκευσης δεδομένων και ο υπερεπόπτης εγκαθίσταται σε αυτήν την εικονική μηχανή σαν να ήταν φυσικός διακομιστής: ο δίσκος διαμορφώνεται, το δίκτυο διαχείρισης διαμορφώνεται με μια διεύθυνση IP και ένα όνομα κεντρικού υπολογιστή και επαληθεύεται η πρόσβαση. VMware Host Client μέσω προγράμματος περιήγησης.
Ενσωματωμένοι χώροι αποθήκευσης και αποθήκες δεδομένων ESXi
Με το ESXi 7.x, το σχήμα διαμέρισης έχει αλλάξει σε σύγκριση με τις προηγούμενες εκδόσεις. Σε μικρούς δίσκους (κάτω των 128 GB), δημιουργείται ένα διαμέρισμα VMFSL για δεδομένα συστήματος (coredump, εργαλεία, scratch, κ.λπ.) και ενδέχεται να μην υπάρχει αρκετός χώρος για τη δημιουργία ενός... Αποθήκη δεδομένων VMFS επιπλέον χώρος για τη φιλοξενία ενσωματωμένων εικονικών μηχανών (VM).
Επομένως, είναι πολύ συνηθισμένο να προσθέτετε έναν ή περισσότερους επιπλέον εικονικούς δίσκους στην εικονική μηχανή guest ESXi. Αυτό περιλαμβάνει πρώτα τον τερματισμό λειτουργίας του μηχανήματος, την επεξεργασία των ρυθμίσεών του και τη δημιουργία νέων δίσκων με λεπτή παροχή (για παράδειγμα, 30 GB, 50 GB ή περισσότερο, ανάλογα με τις ανάγκες). Στη συνέχεια, ο ενσωματωμένος κεντρικός υπολογιστής-πελάτης ESXi εντοπίζει αυτόν τον νέο δίσκο και δημιουργεί ένα χώρο αποθήκευσης δεδομένων VMFS (συνήθως VMFS 6) για την αποθήκευση των εσωτερικών εικονικών μηχανών.
Προσάρτηση ISO και δημιουργία nested VMs
Για να εγκαταστήσετε λειτουργικά συστήματα σε ενσωματωμένες εικονικές μηχανές (VM) εντός του ESXi guest, υπάρχουν δύο κύριες προσεγγίσεις από τις οποίες μπορείτε να επιλέξετε όταν: χρήση εικόνων ISO εγκατάστασης:
Αφενός, μπορείτε να ανεβάσετε τα ISO απευθείας στο ενσωματωμένο datastore ESXi και να τα επιλέξετε από εκεί κατά τη δημιουργία των εσωτερικών VM. Αυτή η προσέγγιση είναι απλή αλλά καταναλώνει χώρο αποθήκευσης μέσα στο ίδιο το ενσωματωμένο περιβάλλον. Από την άλλη πλευρά, μπορείτε να προσαρτήσετε το ISO στη μονάδα CD/DVD της φιλοξενούμενης VM ESXi από ένα datastore στον φυσικό κεντρικό υπολογιστή και, μέσα στο εικονικό ESXi, να διαμορφώσετε τη μονάδα CD/DVD της ενσωματωμένου VM ως "Συσκευή Κεντρικού Υπολογιστή", εκμεταλλευόμενοι τη δυνατότητα passthrough.
Αυτή η δεύτερη μέθοδος είναι συνήθως προτιμότερη επειδή επιτρέπει την συγκέντρωση των ISO σε ένα μόνο datastore στον φυσικό κεντρικό υπολογιστή, εξοικονομεί χώρο στο guest datastore ESXi και παρέχει ένα ελαφρύ, καλύτερη απόδοση πρόσβαση σε μέσα. Μόλις μονταριστεί το ISO, η διαδικασία δημιουργίας της ενσωματωμένης εικονικής μηχανής είναι παρόμοια με αυτή οποιασδήποτε άλλης εικονικής μηχανής: ορίζονται το όνομα, ο τύπος του λειτουργικού συστήματος guest (Windows, Linux, κ.λπ.), οι πόροι (CPU, RAM, δίσκος) και ξεκινά η εγκατάσταση.
Μετά την εγκατάσταση του λειτουργικού συστήματος στην ενσωματωμένη εικονική μηχανή, είναι σημαντικό να προσθέσετε Εργαλεία VMware μέσα σε αυτήν την εικονική μηχανή για βελτιστοποίηση της απόδοσης του δικτύου, του βίντεο και των λειτουργιών τερματισμού και επανεκκίνησης. Ανάλογα με την διανομή ESXi που χρησιμοποιείται, οι εικόνες ISO των εργαλείων ενδέχεται να περιλαμβάνονται ή να χρειάζεται να ληφθούν από την πύλη VMware.
Κλωνοποίηση και αντιγραφή ενσωματωμένων κεντρικών υπολογιστών ESXi
Μόλις ένας ενσωματωμένος κεντρικός υπολογιστής ESXi έχει διαμορφωθεί με την επιθυμητή έκδοση, δίκτυο, χώρο αποθήκευσης δεδομένων και ορισμένες εσωτερικές εικονικές μηχανές, το επόμενο βήμα που πρέπει να κάνετε είναι να κλωνοποίηση αυτής της εικονικής μηχανής να έχετε αρκετούς πανομοιότυπους εικονικούς κεντρικούς υπολογιστές ESXi, για παράδειγμα για να σχηματίσετε ένα σύμπλεγμα εργαστηρίου με το vCenter.
Πριν ξεκινήσετε την κλωνοποίηση, συνιστάται να κάνετε κάποιες προσαρμογές στον αρχικό φιλοξενούμενο κεντρικό υπολογιστή ESXi: να ενεργοποιήσετε τον VMkernel ώστε να ακολουθεί τη διεύθυνση MAC του εικονικού υλικού με την κατάλληλη παράμετρο στο ESXCLI και να αφαιρέσετε το UUID συστήματος από το αρχείο /etc/vmware/esx.conf, έτσι ώστε, όταν ξεκινήσει η κλωνοποίηση, ένα νέο μοναδικό αναγνωριστικόΜετά την κλωνοποίηση, κατά την ενεργοποίηση κάθε εικονικού ESXi, θα είναι απαραίτητο να αλλάξετε το όνομα κεντρικού υπολογιστή, τις IP και οποιεσδήποτε άλλες ρυθμίσεις που πρέπει να είναι διαφορετικές.
Ενσωματωμένη εικονικοποίηση στις υπηρεσίες Azure Lab Services (Hyper-V)
Οι Υπηρεσίες Azure Lab προσφέρουν έναν πολύ βολικό τρόπο για την παροχή ολοκληρωμένων εργαστηρίων σε φοιτητές ή εσωτερικούς χρήστες χρησιμοποιώντας εικονικά εργαστηριακά μηχανήματα. Εδώ, η ενσωματωμένη εικονικοποίηση υποστηρίζεται από Hyper-V ως υπερεπόπτης μέσα στο πρότυπο VM. Η ιδέα είναι ότι από αυτό το πρότυπο VM, ενεργοποιούνται οι λειτουργίες Hyper-V, δημιουργούνται οι απαραίτητες ενσωματωμένες VM και, όταν δημοσιευτεί το εργαστήριο, κάθε χρήστης λαμβάνει το δικό του αντίγραφο αυτού του προτύπου με όλα τα στοιχεία ήδη ρυθμισμένα.
Σε αυτό το σενάριο, η ενσωματωμένη εικονικοποίηση είναι διαθέσιμη μόνο σε Εικονικές μηχανές εργαστηρίου που βασίζονται σε WindowsΠαρόλο που τόσο οι φιλοξενούμενοι υπολογιστές με Windows όσο και οι υπολογιστές με Linux μπορούν να εκτελούνται στο Hyper-V, εάν το λειτουργικό σύστημα προτύπου είναι Windows Server, συνήθως είναι απαραίτητο να διαμορφώσετε ένα δίκτυο NAT εντός της εικονικής μηχανής του εργαστηρίου, ώστε οι ενσωματωμένες εικονικές μηχανές να μπορούν να επικοινωνούν μεταξύ τους και να έχουν πρόσβαση στο διαδίκτυο.
Κατά τη ρύθμιση αυτών των εργαστηρίων, πρέπει να ληφθούν υπόψη αρκετές πρακτικές πτυχές: εάν δημιουργηθούν λογαριασμοί χρηστών χωρίς δικαιώματα διαχειριστή, είναι απαραίτητο να τους προσθέσετε στην ομάδα "Διαχειριστές Hyper-V"ώστε να μπορούν να ξεκινούν και να τερματίζουν τις εικονικές μηχανές. Επιπλέον, τα αρχεία VHDX των ενσωματωμένων εικονικών μηχανών πρέπει να βρίσκονται σε διαδρομές προσβάσιμες σε αυτόν τον χρήστη και, για εξοικονόμηση χώρου στο δίσκο, συνιστάται η χρήση της δυναμικής μορφής VHDX αντί για μεγάλους επίπεδους δίσκους."
Όσον αφορά την υπολογιστική ισχύ, τα μεγέθη εικονικών μηχανών (VM) που έχουν σχεδιαστεί για nested virtualization στο Azure (για παράδειγμα, Standard_D4s_v4 και Standard_D8s_v4) βασίζονται σε επεξεργαστές Intel Xeon Platinum 3ης γενιάς. Δεδομένου ότι ο υποκείμενος επεξεργαστής μπορεί να διαφέρει εντός της ίδιας οικογένειας κατά τη διακοπή και την εκκίνηση εικονικών μηχανών (VM) στο Azure, συνιστάται η ενεργοποίηση της κατάλληλης λειτουργίας. συμβατότητα επεξεργαστή σε ένθετα εικονικά μηχανήματα Hyper-V για την ελαχιστοποίηση των προβλημάτων μετεγκατάστασης μεταξύ διαφορετικών φυσικών κεντρικών υπολογιστών.
Ένα άλλο κρίσιμο σημείο είναι η ρύθμιση των εικονικών μηχανών Hyper-V ώστε να τερματίζονται ομαλά όταν τερματίζεται η εικονική μηχανή του εργαστηρίου, συνήθως χρησιμοποιώντας το cmdlet. Σύνολο-VM για να ορίσετε την ενέργεια αυτόματου τερματισμού λειτουργίας και να αποτρέψετε την καταστροφή δεδομένων. Και, όπως πάντα, πρέπει να σχεδιάσετε προσεκτικά τη μνήμη και τον αριθμό των vCPU ανά ένθετη εικονική μηχανή για να διασφαλίσετε αποδεκτή συνολική απόδοση.
Υπάρχουν επίσης σημαντικοί περιορισμοί: δεν υποστηρίζουν όλα τα μεγέθη εικονικών μηχανών Azure την ένθετη εικονικοποίηση, οι ένθετες εικονικές μηχανές δεν έχουν άμεση πρόσβαση σε πόρους Azure, όπως το VNet DNS, και υποστηρίζονται μόνο ορισμένες εικονικές μηχανές. Hyper-V ως τεχνολογία εικονικοποίησηςΑυτό αποκλείει άλλες λύσεις που απαιτούν επεκτάσεις υλικού όπως KVM ή VMware εντός αυτού του επιπέδου.
Ενσωματωμένη εικονικοποίηση στο AWS EC2
Μέχρι πρόσφατα, αν θέλατε nested virtualization στο AWS, ήσασταν πρακτικά αναγκασμένοι να πάτε στο γυμνά μεταλλικά αντίγραφαμε άμεση πρόσβαση στο υλικό αλλά με πολύ υψηλότερο κόστος και λιγότερη ευελιξία. Η ανακοίνωση επίσημης υποστήριξης για nested virtualization σε τυπικές εικονικές παρουσίες EC2 έχει αλλάξει εντελώς το τοπίο.
Η ενημέρωση, η οποία αντικατοπτρίζεται για παράδειγμα σε πρόσφατες εκδόσεις του AWS SDK για Go, επιτρέπει τη δυνατότητα εκτέλεσης guest hypervisors και nested VMs σε μη-bare metal instances EC2, υπό την προϋπόθεση ότι ανήκουν σε συμβατές οικογένειες (συνήθως instances με CPU Intel VT-x ή AMD-V από τις σειρές M, C, R κ.λπ.). Αυτό ανοίγει την πόρτα σε... νεοσύστατες επιχειρήσεις και ομάδες ανάπτυξης Δημιουργήστε σύνθετα εργαστήρια, προηγμένες πλατφόρμες CI/CD ή περιβάλλοντα ενορχήστρωσης VM χωρίς να υπερβείτε τον προϋπολογισμό σας.
Σε αυτό το πλαίσιο, οι πιο συχνές περιπτώσεις χρήσης περιλαμβάνουν δοκιμές αγωγών που αναπαράγουν ολοκληρωμένες αρχιτεκτονικές παραγωγής (διαφορετικά λειτουργικά συστήματα, επίπεδα δικτύου, τείχη προστασίας κ.λπ.), πλατφόρμες τεχνικής εκπαίδευσης που παρέχουν σε κάθε μαθητή ένα μίνι κέντρο δεδομένων εντός ενός EC2 ή την ανάπτυξη εργαλείων cloud-native που χρειάζονται για τη διαχείριση εικονικών μηχανών (VM) ως μέρος της λειτουργικότητάς τους (π.χ. λύσεις δημιουργίας αντιγράφων ασφαλείας, ασφάλειας ή αυτοματισμού).
Από οικονομικής άποψης, η υποστήριξη nested virtualization στο πρότυπο EC2 μπορεί να οδηγήσει σε σημαντική μείωση του κόστους σε σύγκριση με το bare metal, της τάξης του 60-70% σε πολλά εργαστηριακά σενάρια. Επιπλέον, προσφέρει πλεονεκτήματα σε ελαστικότηταΟι παρουσίες κατ' απαίτηση μπορούν να συνδυαστούν με το Spot, να κλιμακωθούν προς τα πάνω ή προς τα κάτω ανάλογα με τις ανάγκες δοκιμών, και τα περιβάλλοντα μπορούν να παρέχονται σε δευτερόλεπτα σε σύγκριση με τους συνήθεις χρόνους bare metal.
Ωστόσο, είναι επίσης σημαντικό να έχετε κατά νου ότι κάθε επίπεδο εικονικοποίησης προσθέτει επιπλέον κόστος. Οι ενσωματωμένες εικονικές μηχανές (VM) στο EC2 τείνουν να υφίστανται μείωση απόδοσης μεταξύ 10-20% σε σύγκριση με μια ισοδύναμη μη ενσωματωμένη εικονική μηχανή (VM), επομένως η φυσική τους θέση βρίσκεται σε περιβάλλοντα ανάπτυξης, δοκιμών, απόδειξης της ιδέας και εργαστηρίου, ενώ για κρίσιμα περιβάλλοντα παραγωγής, συνιστάται να αξιολογήσετε προσεκτικά εάν αυτή η απώλεια απόδοσης αξίζει τον κόπο.
Για το οικοσύστημα του νεοσύστατες επιχειρήσεις στη Λατινική Αμερική Και σε άλλες αγορές cloud που είναι ευαίσθητες στο κόστος, αυτή η δυνατότητα είναι ιδιαίτερα σημαντική: οι εταιρείες κυβερνοασφάλειας μπορούν να δημιουργήσουν πολυεπίπεδα εργαστήρια κακόβουλου λογισμικού στο cloud χωρίς να πληρώνουν για bare metal, οι ομάδες DevOps μπορούν να αναπαράγουν τοπολογίες παραγωγής σε περιβάλλοντα staging με ελεγχόμενο κόστος και οι πάροχοι SaaS μπορούν να προετοιμάσουν σύνθετες επιδείξεις για πελάτες με πραγματικές αρχιτεκτονικές χωρίς να αναπτύξουν φυσικό υλικό.
Τέλος, η ενσωμάτωση με το AWS SDK for Go και άλλα SDK επιτρέπει την αυτοματοποίηση της διαχείρισης αυτών των ενσωματωμένων περιβαλλόντων, συμπεριλαμβανομένης της επαλήθευσης συμβατότητας στιγμιότυπων, της ενεργοποίησης δυνατοτήτων εικονικοποίησης και της ενορχήστρωσης του κύκλου ζωής της εικονικής μηχανής (VM) εντός των στιγμιότυπων EC2 μέσω αγωγών. Υποδομή ως Κώδικας.
Η nested virtualization έχει καθιερωθεί ως ένα εξαιρετικά ευέλικτο εργαλείο για εργαστηριακές δοκιμές και εκπαίδευση σε σύνθετες υποδομές χωρίς να απαιτούνται σημαντικές επενδύσεις σε υλικό. Από σενάρια εκπαίδευσης με nested εργαστήρια ESXi και Hyper-V στο Azure έως προηγμένες πλατφόρμες δοκιμών στο AWS EC2, το μοτίβο είναι συνεπές: η έξυπνη χρήση αυτής της τεχνολογίας επιτρέπει αυξημένη ευελιξία, μειωμένο κόστος και επιταχυνόμενο κύκλο δοκιμών, υπό την προϋπόθεση ότι τηρούνται οι περιορισμοί απόδοσης, υποστήριξης και αδειοδότησης και ότι τα δίκτυα, η ασφάλεια και οι πόροι είναι καλά σχεδιασμένα.
