Mise à jour pour Intel Cloud Hypervisor 0.3 et Amazon Firecracker 0.19 écrits en Rust

Intel опубликовала nouvelle version de l'hyperviseur Hyperviseur cloud 0.3. L'hyperviseur est construit sur des composants
rejoindre le projet Rouille-VMM, auquel participent, outre Intel, Alibaba, Amazon, Google et Red Hat. Rust-VMM est écrit en langage Rust et vous permet de créer des hyperviseurs spécifiques à des tâches. Cloud Hypervisor est l'un de ces hyperviseurs qui fournit un moniteur de machine virtuelle (VMM) de haut niveau fonctionnant sur KVM et optimisé pour les tâches cloud natives. Code de projet est disponible sous licence Apache 2.0.

Cloud Hypervisor se concentre sur l'exécution de distributions Linux modernes à l'aide de périphériques paravirtualisés basés sur Virtio. Parmi les objectifs clés évoqués figurent : une réactivité élevée, une faible consommation mémoire, des performances élevées, une configuration simplifiée et une réduction des vecteurs d'attaque possibles.

La prise en charge de l'émulation est réduite au minimum et l'accent est mis sur la paravirtualisation. Actuellement, seuls les systèmes x86_64 sont pris en charge, mais la prise en charge d'AArch64 est prévue. Pour les systèmes invités, seules les versions 64 bits de Linux sont actuellement prises en charge. Le CPU, la mémoire, le PCI et le NVDIMM sont configurés au stade de l'assemblage. Il est possible de migrer des machines virtuelles entre serveurs.

Dans la nouvelle version:

  • Les travaux se sont poursuivis pour déplacer les E/S paravirtualisées vers des processus séparés. La possibilité d'utiliser des backends a été ajoutée pour interagir avec les appareils bloqués vhost-user-blk. Le changement vous permet de connecter des périphériques de bloc basés sur le module vhost-user à Cloud Hypervisor, tels que SPDK, comme backends pour le stockage paravirtualisé ;
  • Prise en charge du déplacement des opérations réseau vers les backends, introduite dans la dernière version vhost-user-net, étendu avec un nouveau backend basé sur un pilote de réseau virtuel TAP. Le backend est écrit en Rust et est désormais utilisé dans Cloud Hypervisor comme principale architecture réseau para-virtualisée ;
  • Pour augmenter l'efficacité et la sécurité des communications entre l'environnement hôte et le système invité, une implémentation hybride de sockets avec adressage AF_VSOCK (sockets réseau virtuels), fonctionnant via virtio, est proposée. La mise en œuvre est basée sur les évolutions du projet Pétard, développé par Amazon. VSOCK vous permet d'utiliser l'API standard POSIX Sockets pour l'interaction entre les applications côté invité et hôte, ce qui facilite l'adaptation des programmes réseau ordinaires pour une telle interaction et la mise en œuvre de l'interaction de plusieurs programmes clients avec une seule application serveur ;
  • Fourniture d'un support initial pour l'API de gestion à l'aide du protocole HTTP. À l'avenir, cette API permettra d'initier des opérations asynchrones sur les systèmes invités, telles que le branchement à chaud de ressources et la migration d'environnements ;
  • Ajout d'une couche avec une implémentation de transport basée sur virtio MMIO (Memory mapped virtio), qui peut être utilisée pour créer des systèmes invités minimalistes qui ne nécessitent pas d'émulation de bus PCI ;
  • Dans le cadre de l'initiative visant à étendre la prise en charge de l'exécution de systèmes invités imbriqués, Cloud Hypervisor a ajouté la possibilité de transférer des appareils IOMMU paravirtualisés via virtio, ce qui améliore la sécurité du transfert direct et imbriqué des appareils.
  • Prise en charge d'Ubuntu 19.10 ;
  • Ajout de la possibilité d'exécuter des systèmes invités avec plus de 64 Go de RAM.

De plus, on peut noter nouveau numéro adjacent développé moniteur de machine virtuelle Pétard, également écrit en Rust, basé sur Rust-VMM et fonctionnant sur KVM. Firecracker est un fork du projet CrosVM, utilisé par Google pour lancer des applications Linux/Unix и Android dans Chrome OS. Firecracker est développé par Amazon Web Services pour améliorer les performances et l'efficacité des plateformes AWS Lambda et AWS Fargate.

La plate-forme est conçue pour exécuter des machines virtuelles avec une surcharge minimale et fournit des outils pour créer et gérer des environnements et des services isolés construits à l'aide d'un modèle de développement sans serveur (fonction en tant que service). Firecracker propose des machines virtuelles légères, appelées microVM, qui utilisent des technologies de virtualisation matérielle pour fournir une isolation complète tout en offrant les performances et la flexibilité des conteneurs traditionnels. Par exemple, lors de l'utilisation de Firecracker, le temps écoulé entre le lancement de la microVM et le début de l'exécution de l'application ne dépasse pas 125 ms, ce qui permet de lancer de nouvelles machines virtuelles avec une intensité allant jusqu'à 150 environnements par seconde.

La nouvelle version de Firecracker ajoute un mode de fonctionnement sans lancer le gestionnaire d'API (« —no-api »), limitant l'environnement uniquement aux paramètres codés en dur dans le fichier de configuration. La configuration statique est spécifiée via l'option « --config-file » et est définie au format JSON. Parmi les options de ligne de commande, la prise en charge du séparateur « - » a également été ajoutée, les indicateurs spécifiés après quoi sont transmis le long de la chaîne sans traitement.

Amazon, qui développe Firecracker, également annoncé le pour le parrainage des développeurs du langage de programmation Rust. Il est à noter que Rust est de plus en plus utilisé dans les projets de l’entreprise et que ses développements ont déjà été mis en œuvre dans des services tels que Lambda, EC2 et S3. Amazon a fourni au projet Rust l'infrastructure nécessaire pour stocker les versions et les builds dans S3, exécuter des tests de régression dans EC2 et maintenir un site docs.rs avec la documentation de tous les packages du référentiel crates.io.

Amazon aussi представил programme Crédit promotionnel AWS, où les projets open source peuvent bénéficier d'un accès gratuit aux services AWS qui peuvent être utilisés pour le stockage, la construction, l'intégration continue et les tests de ressources. Parmi les projets déjà approuvés pour participer au programme, outre Rust, ont été notés AdoptOpenJDK, Maven Central, Kubernetes, Prometheus, Envoy et Julia. Les soumissions sont acceptées pour tout projet open source livré sous des licences approuvées par OSI.

Source: opennet.ru

Ajouter un commentaire