Jump to content
  • entries
    56
  • comments
    190
  • views
    8775

HYPER V In DEPTH PART 1


Vangelis

548 views

 Share

Καλησπέρα σας, έπειτα από ένα χρονικό διάστημα, αφήνοντας το blog μου χωρίς πνοή, έφτασε επιτέλους ο καιρός να το ξαναζωντανέψω κάνοντας ένα review στην τεχνολογία του Virtualization.

Αποφάσισα να εμβαθύνω στην τεχνολογία του Hypervisor της Microsoft, λόγω του ότι (την χρησιμοποιώ κατά κόρον), πολύ από εμάς δεν μπορούμε να κατανοήσουμε το πώς δουλεύουν από αρχιτεκτονικής πλευράς οι πλατφόρμες virtualization. Ας ξεδιαλύνουμε λοιπόν τα πράγματα εμβαθύνοντας λίγο στο πώς τα Virtual Machines (Εικονικοί Σερβερ) επικοινωνούν με το Hardware αλλά και με τον υπόλοιπο κόσμο σαν πραγματικοί διακομιστές.

Ο Hypervisor λοιπόν ή κατά κόσμο HYPER V, είναι η νέα τεχνολογία Hardware Assisted Virtualization της Microsoft που μπορούμε να την αποκτήσουμε είτε στις εκδόσεις Windows Server 2008 std, Ent,Datacenter (x64 only) και σε δωρεάν έκδοση με τον HYPER V Server 2008. O Hyper V λοιπόν ανήκει στην κατηγορία του Server Virtualization της Microsoft o οποίος μας επιτρέπει την δημιουργία πολλαπλών εικονικών server ανεξαρτήτως OS πάνω σε έναν server ο οποίος ονομάζετε HOST server.

Πάμε όμως να δούμε και να κατανοήσουμε πως εργάζονται οι πλατφόρμες αυτές.

Ας ξεκινήσουμε με τι άλλο με τον Microkernelized Hypervisor.

1-h.JPG     

Εικόνα 1Α   

4-h.JPG

Εικόνα 1Β

Αυτός λοιπόν είναι ο σχεδιασμός του Microkernelized Hypervisor.

Παρατηρώντας την εικόνα 1α. Βλέπουμε ότι ο HyperV βρίσκεται στο Ring 1* (Θα το δούμε παρακάτω αναλυτικότερα) δηλαδή κάτω ακόμη και από το HOST. Είναι λοιπόν ένα λεπτό στρώμα από software το οποίο μας δίνει την δυνατότητα να παρέχουμε συσκευές και επικοινωνία μέσω αυτού στους εικονικούς μας servers.

Βλέποντας καλύτερα την εικόνα 1β. παρατηρούμε ότι το virtualization stack ,(όλες αυτές οι υπηρεσίες που διαχειρίζονται, και δίνουν στα VMs «Virtual Machines» τις δυνατότητες που χρειάζονται) αλλά και οι drivers για τα VMs βρίσκονται στο πρώτο Virtual Machine που στην ουσία δεν είναι VM αλλά το HOST. Αυτό ονομάζετε parent partition ενώ τα VM ονομάζονται Child Partitions.

Οι πλατφόρμες που χρησιμοποιούν αυτού του είδους την τεχνολογία είναι :

1) Microsoft HYPER V

2) Citrix XEN Server

Ας συνεχίσουμε όμως με τις υπόλοιπες πλατφόρμες και θα δούμε αναλυτικότερα παρακάτω το πώς εργάζεται ο HYPER V .

Πριν τον ΗYPERV η Microsoft αλλά και ή VMware πριν τον ESX είχαν κάτι άλλο στο μυαλό τους.. Δείτε λίγο την εικόνα 2 μήπως σας θυμίζει κάτι…

2-h.JPG

Εικόνα 2

Αυτό που βλέπετε είναι η προηγούμενη γενιά του Virtualization που τα προϊόντα τα οποία χρησιμοποιούσαν αυτήν την τεχνολογία είναι τα γνωστά σε πολλούς από εμάς

1) Microsoft Virtual Server

2) VMware Server

3) Microsoft Virtual PC

H τεχνολογία αυτή λέγετε hosted Virtualization και μας προσφέρει ένα virtualization περιβάλλον πάνω από το λειτουργικό σύστημα. Βέβαια όπως βλέπουμε και στο σχεδιασμό του hosted virtualization οι δυνατότητες που υπάρχουν όσο αφορά το workload του OS, αλλά και το performance είναι απολύτως ανάλογα με το πόσα VMs είναι σε λειτουργία ταυτόχρονα πάνω στο OS.

Ας δούμε τώρα άλλη μια τεχνολογία Hardware Assisted που είναι κάπως διαφορετική.

3-h.JPG  

Εικόνα 3A 

HypervisorMon.png

Εικόνα 3B

Αυτό είναι το σχέδιο του Monolithic Hypervisor. Όπως βλέπουμε και στην εικόνα 3Α,3β ο Hypervisor είναι πάλι κάτω από το HOST αλλά αυτός ο ίδιος φιλοξενεί το Virtualization Stack αλλά και τους driver που δίνουν την δυνατότητα επικοινωνίας στα VMs. To κακό με αυτού του είδους αρχιτεκτονικής είναι ότι,

Το hardware το οποίο θα φιλοξενεί τα virtual machines πρέπει να έχει drivers οι οποίοι να είναι HYPERVISOR AWARE έτσι ώστε να μπορεί ο Monolithic Hypervisor να εργαστεί και να δώσει στα VMs την δυνατότητα των emulated και synthetic devices. Επίσης άλλο ένα σοβαρό θέμα είναι το κομμάτι του networking, εάν ένας ιός είτε κάποιο malware χτυπήσει τον Hypervisor τότε όλα τα VMs θα έχουν σοβαρές επιπτώσεις. Όπως βλέπετε και στο σχέδιο ο όγκος του software layer δεν είναι τυχαία σχεδιασμένος έτσι. Περίπου 32Μb είναι το Software Layer του Monolithic Hypervisor . Με τον monolithic hypervisor λοιπόν δεν έχουμε το λεγόμενο Hardware Independence.

Προϊόντα που χρησιμοποιούν αυτού του είδους την τεχνολογία είναι

1) VMware ESX Server

2) VMware ESX i Server

Ας πάμε όμως τώρα μετά την αναδρομή στις πλατφόρμες virtualization, στην Microkernelized.

Microkernel.png

Εικόνα 4

Όπως βλέπουμε αναλυτικά στο σχέδιο ο hypervisor εδώ έχει να κάνει καθαρά με το θέμα hardware independence. Και αυτό γιατί οι drivers που χρειάζεται είναι απλά οι drivers που δίνει η κάθε εταιρεία για τον Windows Server 2008 x64. Βέβαια το Hardware και στις δυο τεχνολογίες του virtualization χρειάζεται την τεχνολογία Intel VT ή AMD V.Επίσης μην ξεχνάμε και ένα άλλο πραγματάκι που ποτέ δεν το κοιτάμε το λεγόμενο DEP (Data Execution Prevention) και αυτό πρέπει να είναι Enable στο BIOS.

Το πάχος εδώ του software είναι περίπου 5ΜB και αυτό γιατί όλοι οι drivers και το stack είναι σε ξεχωριστό κομμάτι από τον Hypervisor που του δίνει επίσης την δυνατότητα να έχει λιγότερο “overhead”. Άλλο ένα σημαντικό στοιχείο που κάνει τον Microkernelized ξεχωριστό είναι η αξιοποίηση της Τεχνολογίας “Defense in Depth” αυτό φανταστείτε ότι είναι ένα φίλτρο το οποίο δεν επιτρέπει την εκτέλεση malware κώδικα ώστε να επηρεάσει τον hypervisor όπου στην συνέχεια τα υπόλοιπα VMs. Αυτό παρέχετε μέσω του WMI από το Parent Partition στα Child Partitions.

 

to be continued…

 Share

1 Comment


Recommended Comments

Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...