Actualización dos hipervisores Intel Cloud Hypervisor 0.3 e Amazon Firecracker 0.19 escritos en Rust

Intel publicado nova versión do hipervisor Cloud Hypervisor 0.3. O hipervisor está construído sobre compoñentes
proxecto conxunto Ferruxe-VMM, no que, ademais de Intel, tamén participan Alibaba, Amazon, Google e Red Hat. Rust-VMM está escrito na linguaxe Rust e permítelle crear hipervisores específicos para tarefas. Cloud Hypervisor é un destes hipervisores que proporciona un monitor de máquina virtual (VMM) de alto nivel que se executa enriba de KVM e está optimizado para tarefas nativas da nube. Código do proxecto dispoñible licenciado baixo Apache 2.0.

Cloud Hypervisor céntrase en executar distribucións Linux modernas utilizando dispositivos paravirtualizados baseados en virtio. Entre os obxectivos fundamentais mencionados están: alta capacidade de resposta, baixo consumo de memoria, alto rendemento, configuración simplificada e redución de posibles vectores de ataque.

O soporte de emulación redúcese ao mínimo e o foco está na paravirtualización. Actualmente só se admiten sistemas x86_64, pero está previsto o soporte AArch64. Para os sistemas convidados, actualmente só se admiten compilacións de 64 bits de Linux. A CPU, a memoria, o PCI e o NVDIMM están configurados na fase de montaxe. É posible migrar máquinas virtuais entre servidores.

Na nova versión:

  • Continuouse o traballo para trasladar E/S paravirtualizadas a procesos separados. Engadiuse a posibilidade de usar backends para interactuar con dispositivos de bloque vhost-user-blk. O cambio permítelle conectar dispositivos de bloque baseados no módulo vhost-user a Cloud Hypervisor, como SPDK, como backends para almacenamento paravirtualizado;
  • Compatibilidade para mover as operacións de rede a backends, introducida na última versión vhost-user-net, ampliado cun novo backend baseado nun controlador de rede virtual TAP. O backend está escrito en Rust e agora úsase en Cloud Hypervisor como a principal arquitectura de rede paravirtualizada;
  • Para aumentar a eficiencia e seguridade das comunicacións entre o ambiente host e o sistema convidado, proponse unha implementación híbrida de sockets con direccionamento AF_VSOCK (sockets de rede virtuais), que funcionen a través de virtio. A execución baséase nos desenvolvementos do proxecto Petardo, desenvolvido por Amazon. VSOCK permítelle usar a API estándar de POSIX Sockets para a interacción entre aplicacións nos lados do convidado e do host, o que facilita a adaptación de programas de rede comúns para esa interacción e implementar a interacción de varios programas cliente cunha aplicación de servidor;
  • Proporcionou soporte inicial para a API de xestión mediante o protocolo HTTP. No futuro, esta API permitirá iniciar operacións asíncronas en sistemas convidados, como recursos de conexión en quente e ambientes de migración;
  • Engadiuse unha capa cunha implementación de transporte baseada en virtio MMIO (Memory mapped virtio), que se pode usar para crear sistemas invitados minimalistas que non requiren emulación de bus PCI;
  • Como parte da iniciativa para ampliar o soporte para a execución de sistemas convidados anidados, Cloud Hypervisor engadiu a posibilidade de reenviar dispositivos IOMMU paravirtualizados a través de virtio, o que mellora a seguridade do reenvío anidado e directo de dispositivos.
  • Soporte proporcionado para Ubuntu 19.10;
  • Engadida a posibilidade de executar sistemas convidados con máis de 64 GB de RAM.

Ademais, pódese sinalar nova versión adxacentes desenvolvido monitor de máquina virtual Petardo, tamén escrito en Rust, baseado en Rust-VMM e funcionando enriba de KVM. Firecracker é unha bifurcación do proxecto CrosVM, usado por Google para lanzar aplicacións Linux и androide en ChromeOS. Firecracker está a ser desenvolvido por Amazon Web Services para mellorar o rendemento e a eficiencia das plataformas AWS Lambda e AWS Fargate.

A plataforma está deseñada para executar máquinas virtuais cunha sobrecarga mínima e ofrece ferramentas para crear e xestionar ambientes illados e servizos construídos mediante un modelo de desenvolvemento sen servidor (función como servizo). Firecracker ofrece máquinas virtuais lixeiras, chamadas microVM, que usan tecnoloxías de virtualización de hardware para proporcionar un illamento completo ao tempo que ofrecen o rendemento e a flexibilidade dos contedores tradicionais. Por exemplo, ao utilizar Firecracker, o tempo desde o momento en que se inicia a microVM ata o inicio da execución da aplicación non supera os 125 ms, o que permite lanzar novas máquinas virtuais cunha intensidade de ata 150 ambientes por segundo.

A nova versión de Firecracker engade un modo de funcionamento sen iniciar o manejador de API ("—no-api"), limitando o ambiente só aos axustes codificados no ficheiro de configuración. A configuración estática especifícase a través da opción "--config-file" e defínese en formato JSON. Desde as opcións da liña de comandos, tamén se engadiu soporte para o separador "—", as marcas especificadas despois pasan ao longo da cadea sen procesar.

Amazon, que desenvolve Firecracker, tamén anunciou en proporcionar patrocinio aos desenvolvedores da linguaxe de programación Rust. Nótase que Rust úsase cada vez máis nos proxectos da compañía e que xa se implementaron desenvolvementos sobre el en servizos como Lambda, EC2 e S3. Amazon proporcionou ao proxecto Rust a infraestrutura para almacenar versións e compilacións en S3, realizar probas de regresión en EC2 e manter un sitio docs.rs con documentación para todos os paquetes do repositorio crates.io.

Amazon tamén introducido o programa Crédito promocional de AWS, onde os proxectos de código aberto poden ter acceso gratuíto aos servizos de AWS que se poden usar para almacenar recursos, construír, integrar continuamente e probar. Entre os proxectos xa aprobados para participar no programa, ademais de Rust, destacáronse AdoptOpenJDK, Maven Central, Kubernetes, Prometheus, Envoy e Julia. Acéptanse envíos de calquera proxecto de código aberto entregado baixo licenzas aprobadas por OSI.

Fonte: opennet.ru

Engadir un comentario