¿Puedo ejecutar una máquina virtual desde una unidad USB externa?

¿Puedo ejecutar una máquina virtual desde una unidad USB externa?

Una pregunta sobre cómo configurar mis máquinas virtuales en discos internos/externos. Primero, aquí está mi configuración:

  • Sistema operativo anfitrión: Windows 10
  • Procesador: i7 5600U
  • RAM: 16GB
  • Reproductor de estación de trabajo VMware (con licencia)

Hasta ahora tengo 3 máquinas virtuales y pronto obtendré una cuarta y ya no hay suficiente espacio en mi SSD interno, por lo que necesito un disco externo para colocar algunas de ellas. Tengo una computadora portátil con puertos USB3 y una base para computadora portátil con puerto eSATA. Leí sobre las velocidades de ambos, y 5 Gbps frente a 6 Gbps no me parece una gran diferencia (pero no soy un experto en esto), y los únicos otros dispositivos USB conectados son el mouse y el teclado con cable.

Para qué estoy usando las máquinas virtuales: soy desarrollador y las diferentes máquinas virtuales son para diferentes entornos de desarrollo.

  • La primera máquina virtual ejecuta Windows Server 2008 con Visual Studio, SQL Server y K2 Blackpearl.
  • La segunda máquina virtual ejecuta Windows Server 2012 con Visual Studio, SQL Server y BizTalk (entre otras cosas que aún no sé; esta es la nueva máquina virtual que recibiré pronto)
  • La tercera máquina virtual ejecuta Ubuntu y se usará para el desarrollo de Python (probablemente en PyCharm)
  • 4to VM al que aún no he llegado; estuve empleado hace aproximadamente un mes :-)

Mis preguntas:

  1. ¿Es posible ejecutar una máquina virtual desde un disco duro externo? (¿O es imprescindible un SSD aquí?)
  2. ¿Será suficiente USB3 o debería adquirir uno que también admita eSATA?
  3. ¿Es mejor almacenar las máquinas virtuales utilizadas con menos frecuencia en el disco externo y luego moverlas al disco interno cuando necesito usarlas? Esto requerirá que primero mueva una máquina virtual del disco interno al externo, de ahí esta pregunta.
  4. ¿Es posible incluso ejecutar una máquina virtual desde un disco externo sin una pérdida importante de rendimiento?

Creo que eso fue todo por ahora. Espero sus respuestas.

Atentamente,

Joaquín

Para cualquiera que encuentre esta publicación y quiera saber el resultado: Tenía algunas dudas sobre esta mano previa y no recomendaría esta configuración a ningún desarrollador. El tiempo de arranque es horrible y el inicio de aplicaciones como Visual Studio lleva al menos 3 o 4 veces más tiempo.

Mi consejo: Utilice esta solución únicamente si no tiene alternativas.

Respuesta1

La respuesta depende un poco de lo que se supone que deben hacer las máquinas virtuales. Para "papeleo" como escribir y leer estarás bien. "Pérdida importante de rendimiento" no es un valor bien definido.

Para la mayoría de las personas debería estar bien. Si eres un usuario de computadora extremadamente impaciente, consigue el equipo más rápido que puedas, incluso te sugeriría reemplazar el SSD interno por uno más grande. Ahora hay en el mercado un SSD de 2 TB, que puede resultar demasiado caro o no para usted (700-800 $).

Para la programación, probablemente no obtendrá mucho más éxito al escribir código. Es posible que obtenga un aumento de rendimiento al compilar. Si no es del tipo que hace cosas en paralelo mientras se compila su código, obtenga el equipo más rápido que pueda.

El TLDR es: si puede permitírselo o si no tiene un disco duro por ahí, consiga un SSD, interno o externo (eSATA o USB 3). En caso de duda, consiga las cosas buenas.

  1. ¿Es posible ejecutar una máquina virtual desde un disco duro externo? (¿O es imprescindible un SSD aquí?)

Sí, es posible, pero es probable que pierda algo de rendimiento. La VM debería funcionar bien siempre y cuando no tenga operaciones que requieran mucha escritura de archivos. Además, cuanto más pequeña sea la VM, mejor. Si tiene una máquina virtual Windows de 50 a 60 GB, será muy lenta en una HD 5400 externa con USB 3. Hablo por experiencia. Todavía puedes hacer cosas, pero llevará un tiempo.

Ejecutar más de una VM en un disco duro externoa la vezpuede provocar una grave pérdida de rendimiento. Considere usar dos discos duros externos para ese escenario.

  1. ¿Será suficiente USB3 o debería adquirir uno que también admita eSATA?

USB3 debería estar bien, al menos así fue en los casos en que los usé. Más rápido es mejor. Si aún no ha comprado el disco duro externo, es posible que desee optar por eSATA porque nunca sabe para qué usará sus puertos USB de repuesto. (Es posible que desee agregar una segunda unidad externa para realizar copias de seguridad). Con un disco duro, es posible que no obtenga mucho más rendimiento de eSATA porque las velocidades de escritura y lectura de archivos en un disco giratorio son el factor limitante.

También intente conseguir un SSD o al menos un HDD de 7200 rpm para el disco externo, si aún puede encontrar uno. O construya uno a partir de una caja externa y una caja USB externa. Si no puede permitirse un SSD, un 7200 reducirá los tiempos de transferencia de archivos en unos pocos puntos porcentuales.

  1. ¿Es mejor almacenar las máquinas virtuales utilizadas con menos frecuencia en el disco externo y luego moverlas al disco interno cuando necesito usarlas? Esto requerirá que primero mueva una máquina virtual del disco interno al externo, de ahí esta pregunta.

Creo que deberías mantener las máquinas virtuales que harán mucho trabajo pesado, como escribir archivos y realizar tareas informáticas intensivas, en el disco interno, independientemente de la frecuencia con la que las uses. Cambiarlos puede ser bastante complicado. Copiar una máquina virtual de 20 GB del disco duro interno al externo llevará entre 6 y 7 minutos a 60 MB/s. El SSD interno al externo será sustancialmente más rápido. Si considera aceptable el rendimiento de las máquinas virtuales en el disco externo, es posible que no sea necesario moverlas. Puedes cruzar ese puente cuando llegues allí.

  1. ¿Es posible incluso ejecutar una máquina virtual desde un disco externo sin una pérdida importante de rendimiento?

Consulte 1. Sí, es posible para un trabajo de computadora normal a mediano, si la VM es pequeña. Si realiza diseños gráficos o transfiere muchas archivos, puede haber una pérdida grave de rendimiento.

Para sus necesidades de programación, le sugeriría que, basándose en los datos recopilados en otros lugares, obtenga un SSD (¿Qué CPU o RAM es más importante para compilar software de gran tamaño, por ejemplo, arrancar gcc?,http://www.overclock.net/t/997361/compiling-and-cpu-usage). Aunque hay algunas opiniones disidentes (https://stackoverflow.com/questions/15199356/speed-up-compile-time-with-ssd). Nuevamente, en caso de duda, consiga lo bueno.

Editar: 5 de enero de 2016: se agregó información debido a experiencias recientes

Respuesta2

Ejecuté una máquina virtual en una memoria USB3 durante el último año. Fue muy fácil de hacer y muy conveniente, pero hay algunas notas al margen que hacer.

  • No estoy seguro acerca de VMWare, pero para VirtualBox es solo cuestión de colocar el archivo de su disco virtual en el USB y vincularlo a su VM. Tendrás que realizar una configuración en cada host con el que lo uses, pero eso es sólo una vez. Los anfitriones juegan bastante bien entre ellos. Lo único que noté es que mi VM tendrá una interfaz de red para cada red host a la que esté conectada, pero por lo demás no me ha dado ningún tipo de conflicto.

  • Mi USB finalmente se estropeó, lo cual no es sorprendente. Las memorias USB no están diseñadas para recibir ciclos de escritura constantemente; se desgastarán bastante rápido si usa su VM con fines de desarrollo, especialmente si su VM actúa como un servidor y escribe constantemente en archivos de registro/caché.

  • El rendimiento puede ser un problema. Si adquiere una memoria USB, busque específicamente aquellas con altas velocidades de lectura y escritura, pero incluso así notará un impacto.

  • Creo que un disco SSD externo podría ser la mejor opción, es menos conveniente que un dispositivo pequeño, pero generalmente siguen siendo lo suficientemente portátiles como para transportarlos fácilmente, tienen un mayor rendimiento y duran más. (Soy consciente de que Flash y SSD son en realidad la misma tecnología en estos días, pero los SSD están diseñados teniendo en cuenta una mayor frecuencia de lectura y escritura, mientras que las memorias USB se centran principalmente en el almacenamiento de archivos)

He optado por utilizar algún tipo de solución híbrida estos días. Fue realmente conveniente tener mi paquete de programación completo dentro de una máquina virtual portátil, pero mi IDE se ejecutaba notablemente más lento dentro de ella y ocasionalmente se congelaba durante unos segundos. Ahora uso la mayoría de mis herramientas de programación en el host y mantengo el código fuente y los servidores en el invitado. Sin embargo, mi VM sigue siendo un escritorio completo, por lo que en las raras ocasiones en que todavía tengo que trabajar en una computadora extranjera, puedo simplemente activar la GUI de mi VM y trabajar con su IDE y herramientas de programación.

información relacionada