వార్తలు

Microsoft cria hipervisor Rust para potencializar cargas de trabalho do Azure

A Microsoft publicou no início deste mês o código para um novo hipervisor, ou monitor de máquina virtual (VMM), escrito em Rust.

OpenVMM é um hipervisor tipo 2, que roda sobre um sistema operacional, em oposição a um hipervisor tipo 1 que roda em bare metal e interage diretamente com o hardware. Portanto, tem mais em comum com Oracle VM VirtualBox, VMware Workstation ou Microsoft Virtual PC do que VMware ESXi, KVM ou Microsoft Hyper-V.

Rust acaba sendo bastante popular para virtualização. Hipervisor de nuvemum tipo 2 VMM escrito em ferrugemremonta a 2019. Amazon e Google também desenvolveram VMMs baseados em Rust, Fogo de artifício (tipo 1) e crosvm (tipo 2), respectivamente.

No entanto, o OpenVMM é um trabalho em andamento e a Microsoft alerta que não está pronto para uso em produção, observando que a experiência de executá-lo em um contexto de host tradicional não é tão agradável.

“Neste momento, o OpenVMM no host ainda não está pronto para executar cargas de trabalho do usuário final e deve ser tratado mais como uma plataforma de desenvolvimento para implementação de novos recursos do OpenVMM, em vez de um aplicativo pronto para implantação”, diz o site do projeto. diz.

Além do mais, as interfaces de gerenciamento do software ainda não estão bem documentadas, o desempenho do dispositivo permanece não otimizado, alguns recursos estão faltando e não há garantia de estabilidade da API.

Mas, fora isso, o projeto pelo menos mostra que a Microsoft, assim como seus pares, está expandindo sua presença no Rust para fornecer garantias mais fortes de segurança de memória – o que se tornou um mandato internacional porque a segurança acaba sendo bastante importante. Os desenvolvedores da Microsoft também discutido [PDF] sua apreciação pelos recursos de linguagem moderna do Rust, seu ecossistema de crates, suas ferramentas de análise e a capacidade de ainda usar APIs C para se comunicar diretamente com o hardware.

Na medida em que funciona, o OpenVMM é executado em Linux (x64, via APIs KVM ou MSHV), macOS (Aarch64, por meio da API Hypervisor.framework) e Windows (x64 e Aarch64, por meio da API da plataforma Windows Hypervisor).

OpenVMM foi desenvolvido principalmente para uso com OpenHCLuma camada de paravirtualização baseada em Linux para VMs confidenciais que também é construída em Rust. Conforme discutido no mês passado na Conferência de Encanadores Linux em Viena, Áustria, OpenHCL é um ambiente de execução que executa OpenVMM como paravisor.

Um paravisor é executado no convidado em um nível de privilégio mais alto, em oposição a um hipervisor que é executado em um host privilegiado ou partição raiz separada.

Como explica a palestra da conferência, “Os sistemas operacionais convidados geralmente exigem modificações, chamadas de esclarecimentos, para serem executados em diferentes arquiteturas de computação confidencial, como AMD SEV-SNP ou Intel TDX.

“O paravisor é executado em um nível de privilégio mais alto dentro do convidado para fornecer as abstrações apropriadas e garantias de segurança que o convidado não esclarecido não consegue implementar. O paravisor pode oferecer adicionalmente serviços adicionais, como dispositivos emulados como um TPM [Trusted Platform Module] ou tradução de dispositivo entre o host e o convidado não esclarecido.”

Por que se preocupar? Bem, para a Microsoft, esta abordagem permite que as cargas de trabalho existentes usem seus Impulso Azure acelerador de hardware sem modificar a imagem da VM convidada – o convidado obtém acesso a recursos de E/S e segurança mais rápidos diretamente, em vez de por meio do host, por meio de uma nova camada de virtualização. Ele também permite que sistemas operacionais existentes sejam executados em sistemas baseados em hardware. VMs confidenciaise suporta VMs de lançamento confiáveis.

Em algum momento no futuro, o OpenVMM poderá obter polimento suficiente para ser usado sem muita dor. ®

Source

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button