Τεχνολογίες εικονικών μηχανών και χρήσεις αυτών Τεχνολογίες εικονικών μηχανών και χρήσεις αυτών Γιώργος Θάνος Παρασκευή 31 Οκτωβρίου 2008
Στόχοι του μαθήματος Τι είναι οι virtual μηχανές; Λόγοι χρήσης virtualization σε εφαρμογές e- Commerce. Αναφορά των διαθέσιμων τεχνικών λύσεων. Πλεονεκτήματα και μειονεκτήματα χρήσης και διαμόρφωση κριτηρίων επιλογής.
Τι ονομάζουμε το platform virtualization; Η εικονική δημιουργία φυσικών πόρων ενός συστήματος με χρήση s/w (CPU, μνήμη, συσκευές αποθήκευσης, περιφερειακές συσκευές). Απότερος στόχος είναι η φιλοξενία περισσότερων από ένα λειτουργικών συστημάτων (ΛΣ) σε μία φυσική μηχανή. Από το wikipedia.com In computing, platform virtualization is a term that refers to the abstraction of computer resources. Virtualization hides the physical characteristics of computing resources from their users, be they applications, or end users.
Γιατί virtualization; Οι φυσικές μηχανές συχνά υποχρησιμοποιούνται. Γρήγορη ανάπτυξη πιλοτικών υπηρεσιών χωρίς επιπλέον επένδυση σε h/w. Ασφάλεια Επιλέγουμε να τρέχουμε διαφορετικές υπηρεσίες σε διαφορετικά ΛΣ, διατηρώντας συγκεκριμένες δικτυακές διεπαφές μεταξύ τους (π.χ. web services). Αξιοπιστία Ένα σύνολο από εικονικές μηχανές εκτελούνται πάνω σε περισσότερες του ενός φυσικές μηχανές (π.χ. blades), διασυ- νδεδεμένα στο ίδιο αποθηκευτικό μέσο (π.χ. Storage array). Σε περίπτωση παύσης λειτουργίας μίας από τις φυσικές μηχανές, οι εικονικές μηχανές συνεχίζουν αδιάλειπτα στις υπόλοιπες.
Βασικές αρχές virtualization Οι εικονικές μηχανές λειτουργούν πλήρως απομονωμένες μεταξύ τους. Κάθε μηχανή εμφανίζεται να διαθέτει ξεχωριστό h/w πανομοιότυπο με τις υπόλοιπες. Οι μηχανές εκτελούνται με τα δικαιώματα (priviledges) των εφαρμογών για το host λειτουργικό σύστημα. Ο διαμοιρασμός των φυσικών πόρων του συστήματος γίνεται ανάλογα με τις ανάγκες κάθε εικονικής μηχανής.
Διαθέσιμες τεχνολογίες (1/2) Διαθέσιμες τεχνολογίες (1/2) Χρήση Hypervisor Χρήση ενός πολύ λεπτού ΛΣ (thin OS) κατευθείαν στο h/w. Οι εικονικές μηχανές εκτελούνται πάνω σε αυτό το λεπτό ΛΣ. Παράδειγμα VMware ESX.
Διαθέσιμες τεχνολογίες (2/2) Διαθέσιμες τεχνολογίες (2/2) Φιλοξενία σε υπάρχον λειτουργικό σύστημα VMware Server, Workstation (Windows, Linux) Xen (Linux) Τμήμα της συγκεκριμένης αρχιτεκτονικής είναι το λεγόμενο paravirtualization που επιτρέπει την εκτέλεση του guest ΛΣ κατευθείαν πανω στο h/w (υποστηρίζεται μόνο από το Xen).
Τεχνολογικές προκλήσεις για τους κατασκευαστές εικονικών μηχανών Κάθε επεξεργαστής έχει τουλάχιστον δύο mode λειτουργίας (priviledged mode, non-priviledged mode) Η αρχιτεκτονική x86 διαθέτει 4 mode λειτουργίας. (Ring/Domain 0 έως Ring/Domain 3) Το ΛΣ εκτελείται πάντοτε στο most priviledged mode (Domain 0). Η εκτέλεση συγκεκριμένων εντολών σε άλλα domains (εκτός του 0) είναι προβληματική Οδηγεί σε traps ή Δεν έχει την αναμενόμενη/επιθυμητή λειτουργία. Οι κατασκευαστές εικονικών μηχανών αναγκάζονται να αλλάξουν τις συγκεκριμένες εντολές του guest ΛΣ, με άλλες που είναι διαχειρίσιμες σε non priviledged mode (τεχνική VMware).
Paravirtualization (1/2) Μέσα στο host ΛΣ δημιουργείται ο δαίμονας xen hypervisor, ο οποίος επιβλεπει και εξυπηρετεί τα φιλοξενούμενα ΛΣ. Εκτελείται σε Domain 0. Κάθε φιλοξενούμενο λειτουργικό σύστημα διαφορο- ποιείται, ώστε για τα τμήματα κώδικα που απαιτούν priviledged εντολές να ζητά τη βοήθεια του xen hypervisor. Εκτελείται σε Domain 1. Προστατεύεται από τις εφαρμογές που εκτελούνται πάντοτε σε Domain 3 (τόσο για το host, όσο και για τα guest ΛΣ).
Paravirtualization (2/2) Οι εφαρμογές και το μεγαλύτερο τμήμα του φιλοξε- νούμενου (guest) λειτουργικού εκτελείται απευθείας από το h/w. Δεν λαμβάνει χώρα προσομοίωση σε s/w του επεξεργαστή (emulation). Το τελευταίο επιταχύνει πάρα πολύ τις επιδόσεις του φιλοξενούμενου ΛΣ (xen overhead μεταξύ 3%-5%). Τα μειονεκτήματα είναι ότι απαιτείται: η μεταβολή των λειτουργικού συστήματος της φιλοξενού- μενης μηχανής. Ταιριάζει σε ΛΣ ανοικτού κώδικα. Προσθήκη του hypervisor δαίμονα στον πυρήνα του host λειτουργικού.
Hardware Assisted Virtualization Οι κατασκευάστες επεξεργαστών προσδίδουν επιπλέον set εντολών στους επεξεργαστές τους προκειμένου να υποστηρίζουν λειτουργία virtualization, χωρίς να απαιτούνται αλλαγές στο φιλοξενούμενο ΛΣ Παραδείγματα: AMD virtualization (AMD-V), 2006 Intel Virtualization Technology (Intel VT), 2005 Η χρήση των συγκεκριμένων set εντολών ελαχιστοποιεί την ανάγκη s/w hacks, όπως binary translation και paravirtualization.
Προτεινόμενες λύσεις – Κριτήρια επιλογής Εφόσον επιλέξουμε ένα virtual περιβάλλον για την εκτέλεση της εφαρμογής μας πρέπει να έχουμε υπόψη τα εξής: Το xen διαθέτει εξαιρετικές επιδόσεις με τους επιπλέον περιορισμούς ότι α) απαιτεί kernel patching β) οι επιδόσεις του είναι ικανοποιητικές μόνο για Linux guest ΛΣ. Το VMware ESX ως εμπορικό προϊόν είναι οριμότερο διαχεριιστίκά δύνοντας καλύτερα εργαλεία διαχείρισης με το ανάλογο οικονομικό τίμημα. Η διάθεση set εντολών για υποστήριξη virtual μηχανών από τους επεξεργαστές, αναμένεται να διευρύνει πολύ περισσό- τερο τις δυνατότητες των μηχανών και τη χρήση της συγκεκρι- μένης τεχνολογίας.
Σχετική βιβλιογραφία “Virtualization Overview”, VMware white paper “Understanding Full Virtualization, Paravirtualization and Hardware Assist”, VMware white paper, Sept 2007. “Xen and the Art of Virtualization”, ACM SOSP 2003 “Introduction to Xen VM”, Linux Journal, Sept 2005
Τεχνολογίες εικονικών μηχανών και χρήσεις Ερωτήσεις;