A Intel anunciou o lançamento de uma nova versão do seu "Cloud Hypervisor 0.3", um monitor de máquinas virtuais de código aberto que funciona sobre o KVM. O projeto foca-se exclusivamente na execução de cargas de trabalho modernas na nuvem, juntamente com um conjunto limitado de arquiteturas e plataformas de hardware.
As cargas de trabalho em nuvem referem-se àquelas normalmente executadas por clientes dentro do ambiente de um provedor de nuvem. O hipervisor é baseado em componentes do projeto conjunto Rust-VMM, que também inclui Alibaba, Amazon, Google e Red Hat, além da Intel.
O Rust-VMM é escrito em Rust e permite criar hipervisores projetados especificamente para tarefas específicas. O Cloud Hypervisor é um desses hipervisores, fornecendo um monitor de máquina virtual (VMM) de alto nível e otimizado para atender aos desafios da computação em nuvem.
O Cloud Hypervisor tem como foco a execução de distribuições Linux modernas usando dispositivos Paravirtio.
As principais características incluem: alta capacidade de resposta, baixo consumo de memória, alto desempenho, configuração simplificada e vetores de ataque reduzidos.
O suporte à emulação é minimizado, com ênfase na paravirtualização. Atualmente, apenas sistemas x86_64 são suportados, mas há planos para suporte também ao AArch64. Dos sistemas convidados, apenas versões de 64 bits do Linux são suportadas no momento. CPU, memória, PCI e NVDIMM são configurados durante a fase de compilação, e máquinas virtuais também podem ser migradas entre servidores.
O código do projeto está disponível sob a licença Apache 2.0.
Principais novos recursos do Cloud Hypervisor 0.3
Esta nova versão do Cloud Hypervisor 0.3 elimina notavelmente a E/S paravirtualizada em processos individuais . Para interação com dispositivos de bloco, foi adicionada a capacidade de usar backends vhost-user-blk.
A alteração permite conectar dispositivos de bloco baseados no módulo vhost-user, como o SPDK, ao Cloud Hypervisor como backends para armazenamento paravirtualizado.
O suporte para remoção de operações de rede nos backends vhost-user-net , presente na versão anterior, foi ampliado com um novo backend baseado no controlador de rede virtual TAP. Este backend foi escrito em Rust e agora é utilizado pelo Cloud Hypervisor como sua principal arquitetura de rede paravirtualizada.
Para aumentar a eficiência e a segurança das comunicações entre o ambiente do host e o sistema convidado, propõe-se uma implementação de socket híbrida com endereçamento AF_VSOCK (soquetes de rede virtuais), funcionando através do virtio.
A implementação é baseada na experiência do projeto Firecracker, desenvolvido pela Amazon. O VSOCK permite o uso da API de sockets POSIX padrão para interação entre aplicações no sistema convidado e no host, facilitando a adaptação de programas de rede comuns para essa interação e a implementação da interação entre múltiplos programas clientes e uma aplicação servidora.
Outra mudança notável é a introdução do suporte inicial para a API de gerenciamento usando o protocolo HTTP . No futuro, essa API permitirá operações assíncronas em sistemas convidados, como a conexão dinâmica de recursos e a migração de ambientes.
Também se destaca a adição de uma camada com a implementação de transporte baseada em virtio MMIO (virtio memory mapped), que pode ser usada para criar sistemas convidados minimalistas que não requerem emulação de barramento PCI.
Como parte de uma iniciativa para expandir o suporte para lançamento de convidado incorporado, o Cloud Hypervisor adicionou a capacidade de encaminhar dispositivos IOMMU paravirtualizados via virtio, o que pode aumentar a segurança do encaminhamento direto e incorporado de dispositivos.
Por fim, entre as outras novidades destacadas no anúncio, estão o suporte para o Ubuntu 19.10 e a capacidade adicional de executar sistemas convidados com mais de 64 GB de RAM.
Se você quiser saber mais sobre isso, bem como trabalhar com esse hipervisor, pode encontrar os detalhes no seguinte link.