Após oito meses de desenvolvimento, foi lançado o hypervisor livre Xen 4.16. O desenvolvimento desta nova versão contou com a participação de empresas como Amazon, Arm, Bitdefender, Citrix e EPAM Systems. O lançamento de atualizações para a versão Xen 4.16 irá continuar até 2 de junho de 2023, enquanto a publicação de correções de vulnerabilidades será até 2 de dezembro de 2024.
Principais mudanças no Xen 4.16:
- No TPM Manager, que suporta chips virtuais para armazenamento de chaves criptográficas (vTPM), implementados com base em um TPM físico comum (Trusted Platform Module), foram realizadas correções para permitir o suporte à especificação TPM 2.0.
- A dependência da camada PV Shim foi aumentada, aplicada para executar sistemas operacionais convidados paravirtualizados não modificados (PV) em ambientes PVH e HVM. Futuramente, o uso de sistemas operacionais convidados paravirtualizados de 32 bits será possível apenas no modo PV Shim, o que permitirá reduzir o número de áreas no hypervisor onde podem existir vulnerabilidades.
- Foi adicionada a possibilidade de inicialização em dispositivos Intel sem um temporizador programável (PIT, Programmable Interval Timer).
- Foram eliminados componentes obsoletos, a compilação do código 'qemu-xen-traditional' e do PV-Grub foi interrompida (a necessidade de forks específicos do Xen foi eliminada após a inclusão de alterações com suporte ao Xen no código principal do QEMU e Grub).
- Para sistemas operacionais convidados com arquitetura ARM, foi implementado o suporte inicial a contadores de desempenho virtualizados (Performance Monitor Counters).
- Melhorou-se o suporte ao modo dom0less, permitindo operar sem a necessidade de implantar um ambiente dom0 durante a inicialização máquinas virtuais na fase inicial de boot do servidor. As alterações implementadas permitiram o suporte a sistemas ARM de 64 bits com firmware EFI.
- Foi melhorado o suporte a sistemas heterogêneos de 64 bits ARM baseados na arquitetura big.LITTLE, combinando em um único chip núcleos poderosos, mas que consomem muita energia, e núcleos menos poderosos, mas mais eficientes em termos de energia.
Ao mesmo tempo, a Intel lançou a versão 20.0 do hipervisor Cloud Hypervisor, construído a partir dos componentes do projeto conjunto Rust-VMM, que também conta com a participação da Alibaba, Amazon, Google e Red Hat. O Rust-VMM é escrito na linguagem Rust e permite a criação de hipervisores específicos para tarefas determinadas. O Cloud Hypervisor é um desses hipervisores, que oferece um monitor de máquinas virtuais (VMM) de alto nível, operando sobre KVM e otimizado para resolver problemas típicos de sistemas em nuvem. O código do projeto está disponível sob a licença Apache 2.0.
O Cloud Hypervisor é focado na execução de distribuições Linux modernas utilizando dispositivos paravirtualizados baseados em virtio. As principais metas incluem: alta responsividade, baixo consumo de memória, alto desempenho, simplificação de configuração e redução de possíveis vetores de ataque. O suporte à emulação é minimizado, com ênfase na paravirtualização. Atualmente, apenas sistemas x86_64 são suportados, mas está previsto o suporte para AArch64. No que diz respeito aos sistemas convidados, atualmente são suportadas apenas versões de 64 bits do Linux. A configuração de CPU, memória, PCI e NVDIMM é realizada na fase de construção. A migração de máquinas virtuais entre anfitriões também é prevista. servidores.
Na nova versão:
- Para as arquiteturas x86_64 e aarch64, agora é permitido criar até 16 segmentos PCI, o que aumenta o número total de dispositivos PCI permitidos de 31 para 496.
- Foi implementado o suporte para o vinculação de vCPUs a núcleos físicos de CPU (CPU pinning). Para cada vCPU, agora é possível definir um conjunto restrito de CPUs hospedeiras nas quais sua execução é permitida, o que pode ser útil ao refletir recursos da máquina hospedeira e da máquina virtual de forma 1:1, ou ao executar uma máquina virtual em um nó específico NUMA.
- Melhorou-se o suporte à virtualização de entrada/saída. Cada região VFIO agora pode ser mapeada na memória, reduzindo o número de operações de saída da máquina virtual e permitindo um aumento no desempenho da pass-through de dispositivos para a máquina virtual.
- No código em Rust, foi realizado um trabalho de substituição de seções unsafe por implementações alternativas executadas em modo safe. Para as seções unsafe restantes, foram adicionados comentários detalhados explicando por que o código unsafe deixado pode ser considerado seguro.
Fonte: opennet.ru
