O proxecto NetBSD está a desenvolver un novo hipervisor NVMM

Desenvolvedores de proxectos NetBSD anunciou sobre a creación dun novo hipervisor e a pila de virtualización asociada, que xa están incluídos na rama experimental de NetBSD e que se ofrecerán na versión estable de NetBSD 9. NVMM está limitado actualmente a soportar a arquitectura x86_64 e ofrece dous backends para habilitación de mecanismos de virtualización de hardware: x86-SVM con soporte para extensións de virtualización de CPU AMD e x86-VMX para CPU Intel. Na súa forma actual, é posible executar ata 128 máquinas virtuais nun host, a cada unha das cales se lle poden asignar ata 256 núcleos de procesador virtuais (VCPU) e 128 GB de RAM.

NVMM inclúe un controlador que se executa a nivel do núcleo do sistema e coordina o acceso aos mecanismos de virtualización de hardware e unha pila Libnvmm que se executa no espazo do usuario. A interacción entre os compoñentes do núcleo e o espazo do usuario realízase a través de IOCTL. Unha característica de NVMM que o distingue de hipervisores como KVM é HAXM e Bhyve, é que a nivel do núcleo só se realiza o conxunto mínimo necesario de enlaces en torno aos mecanismos de virtualización de hardware e todo o código de emulación de hardware móvese fóra do núcleo ao espazo do usuario. Este enfoque permítelle reducir a cantidade de código executado con privilexios elevados e reducir o risco de comprometer todo o sistema en caso de ataques a vulnerabilidades no hipervisor. Ademais, a depuración e as probas de fuzzing do proxecto simplifícanse notablemente.

Non obstante, Libnvmm en si non contén funcións de emulador, senón que só proporciona unha API que che permite integrar o soporte de NVMM nos emuladores existentes, por exemplo, QEMU. A API abrangue funcións como crear e lanzar unha máquina virtual, asignar memoria ao sistema invitado e asignar VCPU. Para mellorar a seguridade e reducir os posibles vectores de ataque, libnvmm ofrece só funcións que se solicitan explícitamente; por defecto, os controladores complexos non se chaman automaticamente e poden non usarse en absoluto se se poden evitar. NVMM tenta que as cousas sexan sinxelas, sen complicarse demasiado, e permitíndoche controlar tantos aspectos do teu traballo como sexa posible.

O proxecto NetBSD está a desenvolver un novo hipervisor NVMM

A parte de NVMM a nivel de núcleo está bastante integrada co núcleo de NetBSD e permite mellorar o rendemento ao reducir o número de cambios de contexto entre o sistema operativo convidado e o ambiente host. No lado do espazo do usuario, libnvmm tenta agregar operacións de E/S comúns e evitar facer chamadas ao sistema innecesariamente. O sistema de asignación de memoria baséase no subsistema pmap, que lle permite expulsar páxinas de memoria de hóspedes á partición de intercambio en caso de escaseza de memoria no sistema. NVMM está libre de bloqueos globais e escala ben, o que lle permite usar simultáneamente diferentes núcleos de CPU para executar diferentes máquinas virtuais convidadas.

Preparouse unha solución baseada en QEMU que utiliza NVMM para habilitar mecanismos de virtualización de hardware. Estase traballando para incluír os parches preparados na estrutura principal de QEMU. A combinación QEMU+NVMM xa está permite executar correctamente sistemas convidados con FreeBSD, OpenBSD, Linux, Windows XP/7/8.1/10 e outros sistemas operativos en sistemas x86_64 con procesadores AMD e Intel (o NVMM en si non está vinculado a unha arquitectura específica, por exemplo, se se crea o backend axeitado , poderá funcionar en sistemas ARM64 ). Entre as áreas de aplicación adicional de NVMM, tamén se sinala o illamento da caixa de probas das aplicacións individuais.

O proxecto NetBSD está a desenvolver un novo hipervisor NVMM

Fonte: opennet.ru

Engadir un comentario