Virtualization: Ποια είναι η διαφορά μεταξύ KVM και QEMU;


Απάντηση 1:

Το KVM είναι ένας hypervisor τύπου 1 και το Qemu είναι ένας υπερπιστωτής Τύπου 2. Ο υποβιβαστής τύπου 1 έρχεται εγκατεστημένος με το σύστημα υλικού, όπως το KVM στο Linux. Η KVM παρέχει επιτάχυνση υλικού για εικονικές μηχανές, αλλά χρειάζεται Qemu για να μιμηθεί οποιοδήποτε λειτουργικό σύστημα.

Το Qemu είναι ένας υποβιβαστής Τύπου 2, μπορεί να εγκατασταθεί σε ένα λειτουργικό σύστημα και λειτουργεί ως ανεξάρτητη διαδικασία και οι οδηγίες που δίνουμε στο Quemu θα εκτελεστούν στο μηχάνημα υποδοχής. Το Qemu μπορεί να τρέξει ανεξάρτητα χωρίς KVM ως εξομοιωτή, ωστόσο η απόδοση θα είναι φτωχή καθώς το Qemu δεν επιταχύνει το υλικό

Υπάρχει ένα έργο που βρίσκεται σε εξέλιξη για την ενσωμάτωση της Qemu και της KVM. Αυτό θα είναι ένας hypervisor τύπου 1. Έτσι θα έχουμε όλα τα πλεονεκτήματα της Qemu ως εξομοιωτή και επιτάχυνση υλικού KVM για καλύτερη απόδοση.


Απάντηση 2:

KVM - βρίσκεται στον πυρήνα του Linux ως φορτωτή. Μόλις φορτωθεί, το KVM μετατρέπει τον πυρήνα του Linux σε έναν hypervisor τύπου 1, δηλαδή έναν hypervisor γυμνού μεταλλικού. Η εικονικοποίηση KVM χρησιμοποιεί τον πυρήνα του Linux ως τον hypervisor (ο VM είναι ουσιαστικά μια διαδικασία). Ωστόσο, εξαρτάται από τις επεκτάσεις εικονικοποίησης Intel-VT και AMD-V σε Intel και AMD αντίστοιχα για το υλικό που βοηθάει να επιτρέψει την ισχυρή εικονικοποίηση. Συνεργαζόμενοι με αυτές τις επεκτάσεις, η KVM συμβάλλει στην καλύτερη δυνατή εμπειρία εικονικοποίησης με υψηλότερη απόδοση σχεδόν σχεδόν μηδενικής καθυστέρησης. Επομένως, όλα τα VM (διαδικασία ανάγνωσης) μπορούν να τρέξουν χωρίς να χτυπήσουν επιδόσεις ή συμβατότητα, σαν να λειτουργούσαν εγγενώς σε μια ειδική CPU. Επίσης, λόγω των προαναφερθέντων επεκτάσεων, τα VMs έχουν μεγαλύτερη επίγνωση των δυνατοτήτων της υποκείμενης πλατφόρμας υλικού. Επομένως, είναι δίκαιο να πούμε ότι η KVM προσφέρει virtualization υλικού στην πιο ειλικρινή και καλύτερη μορφή της.

QEMU - Από την άλλη πλευρά, βρίσκεται στο χώρο του χρήστη και παρέχει εξομοίωση συστήματος, συμπεριλαμβανομένου του επεξεργαστή και των διαφόρων περιφερειακών. Συνήθως, το QEMU αναπτύσσεται μαζί με την KVM ως επιταχυντής στον πυρήνα όπου το KVM εκτελεί το μεγαλύτερο μέρος του κώδικα φιλοξενίας, ενώ το QEMU προσομοιώνει το υπόλοιπο της μηχανής (περιφερειακά) που χρειάζεται ο επισκέπτης. Σε μέρη όπου το VM πρέπει να μιλήσει σε εξωτερικές συσκευές, το QEMU χρησιμοποιεί το passthrough.

Τα KVM και QEMU μπορούν να υπάρχουν ξεχωριστά, αλλά όταν αναπτύσσονται από κοινού, παρέχουν μια πλουσιότερη εμπειρία εικονικοποίησης. HTH