Compartir a través de


Consideraciones sobre la máquina virtual Linux

Las máquinas virtuales Linux y BSD tienen consideraciones adicionales en comparación con las máquinas virtuales Windows en Hyper-V.

La primera consideración es si los servicios de integración están presentes o si la máquina virtual se ejecuta simplemente en hardware emulado sin iluminación. Hay disponible una tabla de versiones de Linux y BSD que tienen Integration Services integrado o descargable en Máquinas virtuales Linux y FreeBSD compatibles para Hyper-V en Windows. Estas páginas tienen cuadrículas de las características de Hyper-V disponibles para las versiones de distribución de Linux y notas sobre esas características cuando corresponda.

Incluso cuando el invitado está ejecutando Integration Services, se puede configurar con hardware heredado que no muestra el mejor rendimiento. Por ejemplo, configure y use un adaptador Ethernet virtual para el invitado en lugar de usar un adaptador de red heredado. Con Windows Server 2016, también están disponibles redes avanzadas como SR-IOV.

Rendimiento de la red Linux

Linux de forma predeterminada habilita la aceleración de hardware y las descargas de forma predeterminada. Si vRSS está habilitado en las propiedades de una NIC en el host y el invitado de Linux tiene la capacidad de usar vRSS, se habilitará la capacidad. En Powershell, este mismo parámetro se puede cambiar con el EnableNetAdapterRSS comando.

Del mismo modo, la función VMMQ (Virtual Switch RSS) se puede habilitar en la NIC física utilizada por el invitado.>>La pestaña > Avanzado, establezca Virtual Switch RSS en Habilitado o habilite VMMQ en Powershell mediante lo siguiente:

 Set-VMNetworkAdapter -VMName **$VMName** -VmmqEnabled $True

En el invitado, se puede realizar un ajuste TCP adicional aumentando los límites. Para obtener el mejor rendimiento, la distribución de la carga de trabajo entre varias CPU y las cargas de trabajo profundas producen el mejor rendimiento, ya que las cargas de trabajo virtualizadas tendrán una latencia más alta que las "bare metal".

Algunos ejemplos de parámetros de ajuste que han sido útiles en los puntos de referencia de red incluyen:

net.core.netdev_max_backlog = 30000
net.core.rmem_max = 67108864
net.core.wmem_max = 67108864
net.ipv4.tcp_wmem = 4096 12582912 33554432
net.ipv4.tcp_rmem = 4096 12582912 33554432
net.ipv4.tcp_max_syn_backlog = 80960
net.ipv4.tcp_slow_start_after_idle = 0
net.ipv4.tcp_tw_reuse = 1
net.ipv4.ip_local_port_range = 10240 65535
net.ipv4.tcp_abort_on_overflow = 1

Una herramienta útil para los microbenchmarks de red es ntttcp, que está disponible tanto en Linux como en Windows. La versión de Linux es de código abierto y está disponible en ntttcp-for-linux en github.com. La versión de Windows se puede encontrar en el centro de descargas. Al ajustar las cargas de trabajo, es mejor usar tantas secuencias como sea necesario para obtener el mejor rendimiento. Utilizando ntttcp para modelar el tráfico, el -P parámetro establece el número de conexiones paralelas utilizadas.

Rendimiento del almacenamiento de Linux

Algunos procedimientos recomendados, como los siguientes, se enumeran en Procedimientos recomendados para ejecutar Linux en Hyper-V. El kernel de Linux tiene diferentes programadores de E/S para reordenar las solicitudes con diferentes algoritmos. NOOP es una cola de primero en entrar, primero en salir que pasa la decisión de programación que debe tomar el hipervisor. Se recomienda usar NOOP como programador al ejecutar una máquina virtual Linux en Hyper-V. Para cambiar el programador de un dispositivo específico, en la configuración del cargador de arranque (/etc/grub.conf, por ejemplo), agregue elevator=noop a los parámetros del kernel y luego reinicie.

Al igual que las redes, el rendimiento del huésped de Linux con almacenamiento se beneficia al máximo de las múltiples colas con suficiente profundidad para mantener ocupado al host. El rendimiento del almacenamiento de microbenchmarking es probablemente mejor con la herramienta fio benchmark con el motor libaio.

Referencias adicionales