Ενημέρωση για το Intel Cloud Hypervisor 0.3 και το Amazon Firecracker 0.19 γραμμένο σε Rust

Intel опубликовала νέα έκδοση του hypervisor Cloud Hypervisor 0.3. Ο hypervisor βασίζεται σε στοιχεία
κοινό έργο Rust-VMM, στην οποία εκτός από την Intel συμμετέχουν και η Alibaba, η Amazon, η Google και η Red Hat. Το Rust-VMM είναι γραμμένο στη γλώσσα Rust και σας επιτρέπει να δημιουργείτε hypervisors για συγκεκριμένες εργασίες. Το Cloud Hypervisor είναι ένας τέτοιος hypervisor που παρέχει μια οθόνη εικονικής μηχανής υψηλού επιπέδου (VMM) που τρέχει πάνω από το KVM και είναι βελτιστοποιημένη για εγγενείς εργασίες στο cloud. Κωδικός έργου διαθέσιμος άδεια σύμφωνα με το Apache 2.0.

Το Cloud Hypervisor επικεντρώνεται στην εκτέλεση σύγχρονων διανομών Linux χρησιμοποιώντας παραεικονικές συσκευές βασισμένες σε virtio. Μεταξύ των βασικών στόχων που αναφέρονται είναι: υψηλή ανταπόκριση, χαμηλή κατανάλωση μνήμης, υψηλή απόδοση, απλοποιημένη διαμόρφωση και μείωση πιθανών διανυσμάτων επίθεσης.

Η υποστήριξη εξομοίωσης περιορίζεται στο ελάχιστο και η εστίαση είναι στην παραεικονικοποίηση. Προς το παρόν υποστηρίζονται μόνο συστήματα x86_64, αλλά σχεδιάζεται υποστήριξη AArch64. Για φιλοξενούμενα συστήματα, υποστηρίζονται επί του παρόντος μόνο εκδόσεις Linux 64-bit. Η CPU, η μνήμη, το PCI και το NVDIMM διαμορφώνονται στο στάδιο της συναρμολόγησης. Είναι δυνατή η μετεγκατάσταση εικονικών μηχανών μεταξύ διακομιστών.

Στη νέα έκδοση:

  • Συνεχίστηκαν οι εργασίες για τη μετακίνηση των παραεικονικών I/O σε ξεχωριστές διεργασίες. Η δυνατότητα χρήσης backends έχει προστεθεί για αλληλεπίδραση με μπλοκ συσκευές vhost-user-blk. Η αλλαγή σάς επιτρέπει να συνδέσετε συσκευές μπλοκ που βασίζονται στη μονάδα vhost-user στο Cloud Hypervisor, όπως π.χ. SPDK, ως backend για παραεικονική αποθήκευση.
  • Υποστήριξη για τη μετακίνηση λειτουργιών δικτύου σε backends, που παρουσιάστηκε στην τελευταία έκδοση vhost-user-net, επεκτάθηκε με ένα νέο backend που βασίζεται σε πρόγραμμα οδήγησης εικονικού δικτύου TAP. Το backend είναι γραμμένο σε Rust και τώρα χρησιμοποιείται στο Cloud Hypervisor ως η κύρια παρα-εικονική αρχιτεκτονική δικτύου.
  • Για να αυξηθεί η αποτελεσματικότητα και η ασφάλεια των επικοινωνιών μεταξύ του περιβάλλοντος υποδοχής και του συστήματος φιλοξενούμενων, προτείνεται μια υβριδική υλοποίηση υποδοχών με διευθυνσιοδότηση AF_VSOCK (εικονικές υποδοχές δικτύου), που λειτουργούν μέσω virtio. Η υλοποίηση βασίζεται στις εξελίξεις του έργου Πυροσβέστη, που αναπτύχθηκε από την Amazon. Το VSOCK σάς επιτρέπει να χρησιμοποιείτε το τυπικό POSIX Sockets API για αλληλεπίδραση μεταξύ εφαρμογών στην πλευρά του επισκέπτη και του κεντρικού υπολογιστή, το οποίο διευκολύνει την προσαρμογή των συνηθισμένων προγραμμάτων δικτύου για τέτοια αλληλεπίδραση και την υλοποίηση της αλληλεπίδρασης πολλών προγραμμάτων πελάτη με μία εφαρμογή διακομιστή.
  • Παρείχε αρχική υποστήριξη για το API διαχείρισης χρησιμοποιώντας το πρωτόκολλο HTTP. Στο μέλλον, αυτό το API θα καταστήσει δυνατή την εκκίνηση ασύγχρονων λειτουργιών σε συστήματα φιλοξενούμενων, όπως πόρων hot-plugging και περιβάλλοντα μετεγκατάστασης.
  • Προστέθηκε ένα επίπεδο με υλοποίηση μεταφοράς που βασίζεται στο virtio MMIO (Memory Mapped virtio), το οποίο μπορεί να χρησιμοποιηθεί για τη δημιουργία μινιμαλιστικών συστημάτων φιλοξενούμενων που δεν απαιτούν εξομοίωση διαύλου PCI.
  • Ως μέρος της πρωτοβουλίας για την επέκταση της υποστήριξης για τη λειτουργία ένθετων συστημάτων επισκέπτη, το Cloud Hypervisor έχει προσθέσει τη δυνατότητα προώθησης παραεικονικών συσκευών IOMMU μέσω virtio, η οποία βελτιώνει την ασφάλεια της ένθετης και άμεσης προώθησης συσκευών.
  • Παρείχε υποστήριξη για το Ubuntu 19.10.
  • Προστέθηκε η δυνατότητα εκτέλεσης φιλοξενούμενων συστημάτων με περισσότερα από 64 GB μνήμης RAM.

Επιπλέον, μπορεί να σημειωθεί νέα έκδοση γειτονικός αναπτηγμένος οθόνη εικονικής μηχανής Πυροσβέστη, επίσης γραμμένο σε Rust, βασισμένο στο Rust-VMM και τρέχει πάνω από το KVM. Το Firecracker είναι μια διχάλα του έργου CrosVM, που χρησιμοποιείται από την Google για την εκκίνηση εφαρμογών Linux и Android στο ChromeOS. Το Firecracker αναπτύσσεται από την Amazon Web Services για τη βελτίωση της απόδοσης και της αποδοτικότητας των πλατφορμών AWS Lambda και AWS Fargate.

Η πλατφόρμα έχει σχεδιαστεί για να τρέχει εικονικές μηχανές με ελάχιστη επιβάρυνση και παρέχει εργαλεία για τη δημιουργία και τη διαχείριση απομονωμένων περιβαλλόντων και υπηρεσιών που έχουν δημιουργηθεί χρησιμοποιώντας ένα μοντέλο ανάπτυξης χωρίς διακομιστή (λειτουργία ως υπηρεσία). Το Firecracker προσφέρει ελαφριές εικονικές μηχανές, που ονομάζονται microVM, που χρησιμοποιούν τεχνολογίες εικονικοποίησης υλικού για να παρέχουν πλήρη απομόνωση, ενώ παρέχουν την απόδοση και την ευελιξία των παραδοσιακών κοντέινερ. Για παράδειγμα, όταν χρησιμοποιείτε το Firecracker, ο χρόνος από τη στιγμή της εκκίνησης του microVM έως την έναρξη της εκτέλεσης της εφαρμογής δεν υπερβαίνει τα 125ms, γεγονός που σας επιτρέπει να εκκινήσετε νέες εικονικές μηχανές με ένταση έως και 150 περιβάλλοντα ανά δευτερόλεπτο.

Η νέα έκδοση του Firecracker προσθέτει έναν τρόπο λειτουργίας χωρίς να εκκινεί το πρόγραμμα χειρισμού API ("—no-api"), περιορίζοντας το περιβάλλον μόνο στις ρυθμίσεις που είναι κωδικοποιημένες στο αρχείο διαμόρφωσης. Η στατική διαμόρφωση καθορίζεται μέσω της επιλογής «--config-file» και ορίζεται σε μορφή JSON. Από τις επιλογές της γραμμής εντολών, έχει επίσης προστεθεί υποστήριξη για το διαχωριστικό «—», οι σημαίες που καθορίζονται μετά από το οποίο περνούν κατά μήκος της αλυσίδας χωρίς επεξεργασία.

Η Amazon, η οποία αναπτύσσει το Firecracker, επίσης ανακοινώθηκε σχετικά με την παροχή χορηγίας στους προγραμματιστές της γλώσσας προγραμματισμού Rust. Σημειώνεται ότι το Rust χρησιμοποιείται όλο και περισσότερο στα έργα της εταιρείας και οι εξελίξεις σε αυτό έχουν ήδη εφαρμοστεί σε υπηρεσίες όπως το Lambda, το EC2 και το S3. Η Amazon παρείχε στο έργο Rust την υποδομή για την αποθήκευση εκδόσεων και εκδόσεων στο S3, την εκτέλεση δοκιμών παλινδρόμησης στο EC2 και τη διατήρηση ενός ιστότοπου docs.rs με τεκμηρίωση για όλα τα πακέτα από το αποθετήριο crates.io.

Amazon επίσης εισήχθη το πρόγραμμα Προωθητική πίστωση AWS, όπου τα έργα ανοιχτού κώδικα μπορούν να έχουν δωρεάν πρόσβαση σε υπηρεσίες AWS που μπορούν να χρησιμοποιηθούν για αποθήκευση πόρων, κατασκευή, συνεχή ενοποίηση και δοκιμές. Μεταξύ των έργων που έχουν ήδη εγκριθεί για συμμετοχή στο πρόγραμμα, εκτός από τα Rust, σημειώθηκαν τα AdoptOpenJDK, Maven Central, Kubernetes, Prometheus, Envoy και Julia. Οι υποβολές γίνονται δεκτές από οποιοδήποτε έργο ανοιχτού κώδικα που παραδίδεται με άδειες εγκεκριμένες από το OSI.

Πηγή: opennet.ru

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