VirtualBox - ajuste de E / S de alto rendimiento - ¿es posible?

0

Estoy ejecutando una estación de trabajo que depende en gran medida de la virtualización. Elegí VirtualBox porque:

  • a diferencia de VMWare, es gratis y mucho más portátil y libre de mantenimiento (no es necesario solucionar problemas con la compilación de módulos del kernel). No me gustaría transmitir ese software teniendo en cuenta la cantidad de dolor de cabeza que me causó en el pasado.
  • a diferencia de KVM tiene aceleración de GPU sin paso de VGA. Además, es fácil de usar y mi trabajo requiere que configure MUCHOS entornos virutalizados para probar el software.

Sin embargo, instalé una matriz RAID6 de software de 12 bahías que se supone que está basada en btrfs (el kernel 4.12 presenta parches para RAID56), por lo que necesito un kernel de última generación. Posiblemente versión RC. Todas mis máquinas están basadas en btrfs, por lo que por razones de compatibilidad tiene sentido usar btrfs también para RAID.

El sistema operativo host primario está aislado de Internet y realiza muchas tareas importantes en las que retransmito. Por lo tanto, necesito un sistema operativo estable aquí, que colisiona con el requisito de kernel de última generación de btrfs. Por lo tanto, planeo delegar el soporte RAID a VM y exportarlo de nuevo al host a través de NFS. Antes de probar si NFS es compatible con todas las funciones de btrfs y es tan genial, todo debería funcionar muy bien.

Mi plan fue perfecto:

  • Máquina virtual KVM para soporte RAID usando virtio
  • VirtualBox VM para red y laboratorio de pruebas VM para trabajo

Y sería perfecto: KVM es definitivamente la opción ideal para dicha carga de trabajo: no tiene cabeza, por lo que X crash no dañaría RAID, funciona muy bien y sería increíble si ... VirtualBox no chocara con KVM. Pero sí (las máquinas KVM no se inician cuando las máquinas VBox con VT-x habilitado se están ejecutando y viceversa). Entonces, en este punto, es bastante claro para mí que, desafortunadamente, necesitaré usar VirtualBox para la carga de trabajo para la que probablemente nunca estuvo destinado: E / S de alto rendimiento. Pero no veo muchas otras opciones.

Lo siento por esta larga explicación, pero cubre por qué realmente decidí usar Virtualbox para tal carga de trabajo en lugar de KVM a pesar de que tal decisión parece no tener sentido. Así que espero que este hilo no se inunde con las respuestas "solo use KVM" .


Llegando al punto

Mi pregunta es: ¿VirtualBox permite ajustes de rendimiento de almacenamiento más avanzados como KVM? ¿Está cerca de ser capaz de alcanzar ~ 1000 MB / s de lectura secuencial y empujarlo a través de NFS sobre localhost? La estación de trabajo está conectada a una red troncal de 10 gbps, por lo que me gustaría que alcanzara algo cercano al potencial total para una sincronización de matriz rápida.

Lapsio
fuente
"a diferencia de VMWare, es gratis y mucho más portátil y libre de mantenimiento (no es necesario solucionar problemas con la compilación de módulos del núcleo)" VMWare player también es gratuito. En el pase VMWare Server también es gratuito. Además, también tengo que recompilar el kernel en virtualbox cada vez que actualizo el kernel, porque las adiciones de virtualbox no son controladores en el árbol
phuclv
¿Entonces desea que se ejecute un invitado de VM que tenga la configuración RAID NFS en el host que luego usa este NFS compartido para alojar más VM?
txtechhelp
@txtechhelp: sí, exactamente. Quiero que VM admita btrfs a nivel de bloque y lo exporte a través de NFS de nuevo al host para que el host no arruine RAID con su núcleo viejo, estable y con errores.
Lapsio
@ LưuVĩnhPhúc: sé que Player es gratuito, pero Player permite ejecutar solo 1 VM a la vez y ninguna configuración de red avanzada, lo que es un factor decisivo. Los módulos VMWare compilan solo en distribuciones "estables". Si tiene Arch o OpenSUSE Tumbleweed u otros módulos de kernel de distribución rodante de vanguardia a menudo no se compilan en absoluto después de la actualización y necesita parchear manualmente las fuentes de los módulos del kernel con parches en Google como este: rglinuxtech.com/?p=1932 Y si todavía nadie hizo el parche, entonces, bueno. Tienes un problema. Eso es lo que quise decir con "portátil": se ejecuta en cualquier Linux, también rodando.
Lapsio