CONSULTA: Software de virtualizacion/emulacion

por razones de unos bugs en la maquina virtual java no resueltos en la version linux, necesito virtualizar un windows dentro de una instalacion Linux.

Hasta el momento, y que yo sepa, tengo a la vista 3 posibles soluciones a la virtualizacion:
- VirtualBox
- Qemu+KQemu
- Xen

¿alguien las ha probado y me puede dar su opinion en velocidad?
recordad que dentro de la maquina windows emulada, tengo que correr Java, con el sobregasto que eso conlleva...

PD: el procesador donde pretendo correr la maquina virtual soporta VT (Virtualization Technologies), que creo son directamente soportadas por VirtualBox y Xen... de KQemu+Qemu no se nada...
Hombre yo he oido que el rendimiento de XEN y Qemu es practicamente el mismo que corriendo nativamente (con sus limitaciones , claro), pero la comodidadde Viertaulbox para mi no tiene precio, y a no ser que tengas una maquina m uy antigua, el virtualbox para mi tiene un rendimiento espectacular, siempre que no quieras cosas en 3D, que creo no es el caso
Otro voto para VirtualBox. No sé cómo será con los otros métodos, pero este es comodísimo.
¿que estabilidad tiene virtualbox para entornos 24/7?

porque XEN se que se esta usando MUCHO en webservers, pero virtualbox...

por cierto, y ya pregunta para nota:
¿alguien ha usado virtualbox desde CONSOLA y acceder a la maquina emulada/virtualizada a traves de RDP(escritorio remoto)?
Pues respecto a la estabilidad no podría decirte, sólo lo he usado de forma puntual para clases.

En cuando a acceder por RDP sí que se puede.
En caso de virtualizar Windows, tanto VirtualBox como Qemu+KVM son las opciones que mejor rendimiento dan.

Yo descartaria Qemu+KQemu (demasiado lento) o Xen+VT (aun falta un poco de optimizacion para maquinas virtuales Windows).
Yo no he usado VB desde consola, pero si he accedido a ella a traves de RDP desde otro edificio, y estuvo varios meses en modo 24x7 sin ningun problema ni fallo.
Incluso llegué a plantearme seriamente el usarlo para virtualziar varrios servicio y retirar algunas maquinas de produccion.
Pero al final no lo hice.

Hombre, si tu servicio es CRITICO no uses nada virtualizado, pero si puedes permitir ligeros parones cada X semanas, yo iria a por VB sin dudar
ubuntu escribió:Hombre, si tu servicio es CRITICO no uses nada virtualizado, pero si puedes permitir ligeros parones cada X semanas, yo iria a por VB sin dudar
Precisamente para servicios críticos la virtualización es donde mejor viene. Si la VM peta, cojes la copia de ayer de la VM, reinicias qemu y a seguir :D. Muchisimo mas rápido que tener que ir a donde esta la máquina, reciniciarla, y pelearte con ella. Se supone que el host es lo mas estable del mundo, ya que necesita el soft justo para correr la VM (ni servidores de correo, ni servidores web, ni nada parecido).

Un saludo.
Yo personalmente tiraría por Xen, o, si solo fueras a virtualizar linux, por KVM.

- ferdy
Sertinell escribió: Precisamente para servicios críticos la virtualización es donde mejor viene

Efectivamente, la virtualizacion te da una flexibilidad que no consigues con el hardware real. Pillar una maquina virtual y restaurarla donde te venga en gana sin depender del hardware es una gozada, sobretodo cuando es un servidor critico.

Mis servidores criticos (samba como pdc, correo, dns, ftp) estan bajo Xen virtualizados todos y sin problemas. Tengo dos maquinas hardware bajo Xen, cada noche, backup hacia la otra maquina (via rsync o similares) y el dia que pete la maquina 1, levanto la maquina 2 y a correr... podria hacerse mas automaticamente pero bueno, para mi caso ya vale.

Fuera mitos !
Yo es que dentro de mis limitaciones nunca he podido hacer funcionar "bien" los kernels de XEN,
Por lo que mis experiencias se limitan a VB y a VMWare.
Respecto a lo de servicios criticos , pues tambien, todo tiene sus pros y contras.
Esta claro que una maquina virutalizada la puedes llevar donde quieras en un HD portatil, pero en grandes empresas donde tienes subcontratado el mantenimiento, al menos en mi caso, es mejor tener segun que cosas en un servido en cluster (Fisico) y con RAID5, así en caso de averia todo está redundado, y mientras viene el tecnico a hacer el cambio de lo que sea tu servicio sigue en pie.

Aunque siempre he dicho que el futuo está en la virtualizacion,d e momento creo que aun es pronto para segun que cosas.

Saludos
Mi experiencia con virtualización de verdad (trabajo), es Xen + RHCS + almacenamiento compartido (SAN), y la verdad que se pueden hacer cosas MUY impresionantes* con eso (vm como servicios del cluster), aunque solo hemos usado como dom0 y domUs linux (centos), y con windows todavia no nos hemos pegado x'D
No se como andará la cosa con Windows, pero dale una oportunidad a xen :D La verdad es que es un poco enrevesado al principio, pero una vez le coges el truco, salen maquinas virtuales como churros oiga! :D
Saludos! ;)

* P.ej, correr un Xclock en una VM, migrarla en caliente a otro dom0 y el reloj seguir funcionando como si no hubiera pasado nada (obviamente para unos segundos, en lo que "vuela" la VM)
PD.- Asi visto, no es muy impresionante visualmente, pero dandose cuenta de lo que va debajo, si :D
probare en principio con VirtualBox. el acceso RDP me suena muy bien, y es lo que necesito.

si me va mal, pues probare con Qemu+KVM. XEN lo veo demasiado complicado para echar a andar una unica maquina virtual windows.

segunda pregunta: VirtualBox funciona bien sobre AMD-V (sistema de virtualizacion AMD) y sobre VT-T (sistema de virtualizacion de INTEL)? o tiene mas rendimiento usando solo virtualizacion por software? el host de produccion es un Core2Duo con Debian etch AMD64, y voy a hacer las pruebas sobre un Athlon64 X2 4400 bajo el mismo sistema operativo antes de meterlo en produccion.
Recuerda en VirtuaBox, ya que quieres usar RDP que al configurarlo debes establecer una configuracion con br0.
la NAT te dará una IP "virtual" entre tu Linux y tu, pero no serás "visible" al exterior.
Para eso debes usar bridging
podre usar bridging o Nat, ¿no? porque a lo mejor solo me interesan redirigir 2 puertos desde la maquina HOST a la virtualizada... y proteger de esta manera la virtualizada...
f5inet escribió:podre usar bridging o Nat, ¿no? porque a lo mejor solo me interesan redirigir 2 puertos desde la maquina HOST a la virtualizada... y proteger de esta manera la virtualizada...


Ahh, si claro, eso si. podras redirigir lo que quieras.

Solo que usando NAT la IP de la maquina virtual será , digamnos, inventada, del orden de 10.0.0.1 por ejemplo.
Mientras que con un Bridge podras asignar a la maquina virtual una IP "real" como si estuviera dentro de tu RED y será visible por todos los equipos de tu red.
Un voto mas para KVM, aunque virtualbox no anda muy lejos
Txukie escribió:Un voto mas para KVM, aunque virtualbox no anda muy lejos


Lo malo de KVM es que necesitas una CPU de las nuevas que lleve esa tecnologia, mientras eu VB funciona en todas las CPU

Para saber si tu CPU lo soporta haz desde una terminal :

egrep '^flags.*(vmx|svm)' /proc/cpuinfo


Si no te sale nada es que el micro no soporta KVM, si te sale una lista de flags y entre ellas ves el flag "svm" es que si lo soporta
el core2duo del server de produccion lo soporta, puesto que esa misma linea ha puse hace bastante tiempo antes de empezar a buscar e informarme de virtualizacion.

el Athlon64X2 no lo sabre hasta que lo monte [+risas] entre hoy y mañana, pero segun he leido en tomshardware.com todos los Athlon64 llevan el AMD-V (Vanderpool)

por cierto, que yo tenga entendido, el KVM (modulo de kernel para linux) solo se lleva bien con maquinas virtuales linux, en caso de maquinas virtuales windows el rendimiento baja bastante, ¿no?
f5inet escribió:
por cierto, que yo tenga entendido, el KVM (modulo de kernel para linux) solo se lleva bien con maquinas virtuales linux, en caso de maquinas virtuales windows el rendimiento baja bastante, ¿no?


Nop.
KVM se lleva bien con cualquier arquitectura de las "habituales"

Suerte tienes, yo con mi AMD X2 no tengo soporte para KVM , y eso que en muchos sitios dicen que todos los AM2 llevan la tecnologia AMD-V [triston] [triston]
ubuntu escribió:Lo malo de KVM es que necesitas una CPU de las nuevas que lleve esa tecnologia, mientras eu VB funciona en todas las CPU


Si lo va a usar en un ordenador nuevito deberia ir. Aun asi necesita los modulos compilados en el kernel.
parece que va a salir Parallels GNU/Linux.
La verdad es que Parallels y VMWare tienen las de perder a la larga... Entiendo que la gente de Mac esté "emocionada", pero viendo las opciones que tenemos en Linux...

Preguntita: ¿VBox soporta las máquinas virtuales de VMWare? Si no contestáis no pasa nada, que reconozco que me ha dado pereza buscarlo, ya lo buscaré si no. Sería un buen puntazo.

Hace 2-3 años vi en el FOSDEM unas exposiciones y demostraciones de Xen... eran bastante flipantes. Cosas como mover servidores de Quake de una máquina a otra en milisegundos, y mil cosas que no recuerdo. Si eso era hace ese tiempo, supongo que ahora habrá mejorado aún más.

Hace tiempo me informé, pero debería repasar las diferencias virtuales entre VBox/VMWare/Parallels, Xen y KVM... cuales paravirtualizaban y cuales no, y demás. Es una temilla interesante este, desde luego.

¡Saludos!
Cobo escribió:La verdad es que Parallels y VMWare tienen las de perder a la larga... Entiendo que la gente de Mac esté "emocionada", pero viendo las opciones que tenemos en Linux...


Cobo, Parallels 3 soporta aceleración 3D DirectX y OpenGL. Por lo demás no ofrece ningún valor añadido.
Cobo escribió:Preguntita: ¿VBox soporta las máquinas virtuales de VMWare? Si no contestáis no pasa nada, que reconozco que me ha dado pereza buscarlo, ya lo buscaré si no. Sería un buen puntazo.

...

Hace tiempo me informé, pero debería repasar las diferencias virtuales entre VBox/VMWare/Parallels, Xen y KVM... cuales paravirtualizaban y cuales no, y demás. Es una temilla interesante este, desde luego.

En sus ultimas versiones VBox soportaba los "archivos de disco" de VMWare, lo que no he probado es abrir una maquina VMWare en VirtualBox pero el contenido del "disco" te lo lee. Por cierto, la trupe de XenSource ha sacado un conversor de imagenes de VMWare a Xen.

En la lista falta OpenVZ otro software de "virtualizacion" pero este mas encarado a "jaulas".

Ciertamente el tema es muy interesante y da bastante juego. Ademas en el los fabricantes de ordenadores han visto una forma de vender mas "hierro" por lo que tendremos cuerda para rato.
Yo si he intentado abrir maquinas de VMware con VirtualBox y no he podido.
Incluso creo recordar que habia una utilidad que te las convertia, peor a mi no me llegó a funcionar.
hablo de hace un alico, con lo que puede que la cpsa haya avanzado y ahora si se pueda
makaco escribió:parece que va a salir Parallels GNU/Linux.


Te refieres a esto?

http://www.parallels.com/en/products/workstation/features/

Se supone que tambien soporta aceleracion 3D como el de mac?.
Yo tb todas las imagen de vmware que he intentado abrir con el vbox, fallaban, normalmente pq no encontraban el disco duro( en el so virtualizado).
makaco escribió:
Cobo, Parallels 3 soporta aceleración 3D DirectX y OpenGL. Por lo demás no ofrece ningún valor añadido.
Es cierto... eso sería un puntazo que lo pudiera implementar alguno de los que son software libre... pero mucho me temo que no dedicarán recursos a eso. Para mucha gente sería un aliciente, pero supongo que los tiros van más bien enfocados a otros mercados.

¡Un saludo!
Me parece que la gracia dee la virtualización y todas estas cosas, no esta en que yo pueda jugar a un juego de windows sobre mi linux/mac virtualizando. La cosa que da beneficios y que interesa a las empresas va más por maximizar el uso de sus maquinas, ahorrar en mano de obra (puedes hacer un script que migre algo de una maquina a otra en cuanto vea que el algo falle), y esas cosillas sin importancia.
Sertinell escribió:Me parece que la gracia dee la virtualización y todas estas cosas, no esta en que yo pueda jugar a un juego de windows sobre mi linux/mac virtualizando. La cosa que da beneficios y que interesa a las empresas va más por maximizar el uso de sus maquinas, ahorrar en mano de obra (puedes hacer un script que migre algo de una maquina a otra en cuanto vea que el algo falle), y esas cosillas sin importancia.

La abstraccion del hardware es una bendicion, solamente por eso ya merece la pena. Y, como bien dices, el juego que te da el tratar las maquinas virtuales como te de la gana mediante scripts.
Sertinell escribió:Me parece que la gracia dee la virtualización y todas estas cosas, no esta en que yo pueda jugar a un juego de windows sobre mi linux/mac virtualizando. La cosa que da beneficios y que interesa a las empresas va más por maximizar el uso de sus maquinas, ahorrar en mano de obra (puedes hacer un script que migre algo de una maquina a otra en cuanto vea que el algo falle), y esas cosillas sin importancia.
Obviamente no es la mayor gracia lo de los juegos, pero ahora mismo no me vendría mal :).
No dije que la importancia de la virtualización fuera esa, por si acaso se entendió así.

¡Saludos!
al final me he decantado por virtualbox. para el que le pueda servir mi experiencia, usando una CPU de 64bits, con kernel de 64bits AMD64, y todo el userspace de 64bits AMD64, instale el binario de Virtualbox (se puede encontrar un tutorial por ahi...) mediante apt-get, y tengo virtualizado un windows 2003 server practicamente sin perdida de rendimiento apreciable con respecto a correr directamente en el hardware.

una cosa que he notado. si activo la virtualizacion por hardware (AMD-V en cpus AMD y VT-x en cpus INTEL) la maquina virtualizada es MAS LENTA que hacer la virtualizacion 100% software. parece que esta perdida es que en virtualizacion por software, cada fallo de virtualizacion hace un salto de ring3(userspace) a ring0(kernelspace), mientras que con la virtualizacion por hardware, cada fallo de virtualizacion hace un salto de ring3(userspace) a ring1(hipervisor) y despues, si procede, un salto de ring1(hipervisor) a ring0(kernelspace), y al parecer cada uno de estos saltos son tremendamente costosos en tiempo de CPU.
32 respuestas