Posso executar uma máquina virtual a partir de uma unidade USB externa?

Posso executar uma máquina virtual a partir de uma unidade USB externa?

Uma pergunta sobre como configurar minhas VMs em discos internos/externos. Primeiro, aqui está minha configuração:

  • Sistema operacional host: Windows 10
  • Processador: i7 5600U
  • RAM: 16GB
  • VMware Workstation Player (licenciado)

Eu tenho 3 VMs até agora e em breve terei uma quarta e não há mais espaço suficiente no meu SSD interno, então preciso de um disco externo para colocar algumas delas. Eu tenho um laptop com portas USB3 e um dock para laptop com porta eSATA. Eu li sobre as velocidades de ambos, e 5 Gbps versus 6 Gbps não parece muita diferença para mim (mas não sou especialista nisso) - e os únicos outros dispositivos USB conectados são mouse e teclado com fio.

Para que estou usando as VMs: sou desenvolvedor e as diferentes VMs são para diferentes ambientes de desenvolvimento.

  • A primeira VM está executando o Windows Server 2008 com Visual Studio, SQL server e K2 Blackpearl.
  • A segunda VM está executando o Windows Server 2012 com Visual Studio, SQL server e BizTalk (entre outras coisas que ainda não sei - esta é a nova VM que receberei em breve)
  • A terceira VM está rodando Ubuntu e será usada para desenvolvimento em Python (provavelmente em PyCharm)
  • 4ª VM que ainda não fiz - trabalhei há cerca de um mês :-)

Minhas perguntas:

  1. É possível executar uma VM a partir de um HDD externo? (Ou o SSD é obrigatório aqui?)
  2. USB3 será suficiente ou devo comprar um que também suporte eSATA?
  3. É melhor armazenar as VMs usadas com menos frequência na unidade externa e depois movê-las para a unidade interna, quando precisar usá-las? Isso exigirá que eu mova uma VM da unidade interna para a externa primeiro, daí esta questão.
  4. É possível executar uma VM a partir de uma unidade externa sem grande perda de desempenho?

Acho que foi isso por enquanto. Espero ansiosamente suas respostas.

Atenciosamente,

Joaquim

Para quem encontrar este post e quiser saber o resultado: Tive algumas dúvidas sobre essa pré-mão e não recomendaria essa configuração para nenhum desenvolvedor. O tempo de inicialização é horrível e iniciar aplicativos como o Visual Studio leva pelo menos 3 a 4 vezes mais tempo.

Meu conselho: Utilize esta solução apenas se não tiver alternativas.

Responder1

A resposta depende um pouco do que as VMs devem fazer. Para "papelada", como escrever e ler, você ficará bem. “Grande perda de desempenho” não é um valor bem definido.

Para a maioria das pessoas, tudo bem. Se você é um usuário de computador extremamente impaciente, adquira o equipamento mais rápido que puder, sugiro até substituir o SSD interno por um maior. Um SSD de 2 TB já está no mercado, o que pode ou não ser muito caro para você (700-800$).

Para programação, você provavelmente não obterá muito mais sucesso ao escrever código. Você pode obter um aumento de desempenho ao compilar. Se você não é do tipo que faz coisas em paralelo enquanto seu código está sendo compilado, obtenha o equipamento mais rápido possível.

O TLDR é: se você puder pagar ou se não tiver um HDD disponível, compre um SSD, interno ou externo (eSATA ou USB 3). Na dúvida, compre as coisas boas.

  1. É possível executar uma VM a partir de um HDD externo? (Ou o SSD é obrigatório aqui?)

Sim, é possível, mas provavelmente você terá alguma perda de desempenho. A VM deve funcionar bem, desde que você não tenha operações que exijam muita gravação de arquivos. Além disso, quanto menor for a VM, melhor. Se você tiver uma VM Windows de 50 a 60 GB, ela será muito lenta em um HD 5400 externo com USB 3. Estou falando por experiência própria aqui. Você ainda pode fazer coisas, mas vai demorar um pouco.

Executando mais de uma VM em um HDD externode uma vezpode trazer uma grave perda de desempenho. Considere usar dois HDDs externos para esse cenário.

  1. USB3 será suficiente ou devo comprar um que também suporte eSATA?

USB3 deveria funcionar, pelo menos foi nos casos em que os usei. Mais rápido é melhor. Se você ainda não comprou o HDD externo, você pode optar pelo eSATA porque nunca sabe para que usará suas portas USB sobressalentes. (Você pode querer adicionar uma segunda unidade externa para fins de backup.) Com um HDD, você pode não obter muito mais desempenho do eSATA porque as velocidades de gravação e leitura de arquivos em um disco giratório são o fator limitante.

Tente também obter um SSD ou pelo menos um HDD de 7200 rpm para a unidade externa, se ainda conseguir encontrar um. Ou construa um a partir de um gabinete externo e um gabinete USB externo. Se você não puder comprar um SSD, um 7200 reduzirá o tempo de transferência de arquivos em alguns pontos percentuais.

  1. É melhor armazenar as VMs usadas com menos frequência na unidade externa e depois movê-las para a unidade interna, quando precisar usá-las? Isso exigirá que eu mova uma VM da unidade interna para a externa primeiro, daí esta questão.

Acho que você deve manter as VMs que farão muito trabalho pesado, como gravação de arquivos e processamento intensivo de computação, na unidade interna, independentemente da frequência com que você as usa. Mudá-los pode ser uma grande dor. Copiar uma VM de 20 GB do HDD interno para o externo levará cerca de 6 a 7 minutos a 60 MB/s. O SSD interno para externo será substancialmente mais rápido. Se você achar aceitável o desempenho das VMs no disco externo, talvez não seja necessário movê-las. Você pode cruzar essa ponte quando chegar lá.

  1. É possível executar uma VM a partir de uma unidade externa sem grande perda de desempenho?

Consulte 1., sim, é possível trabalhar de computador normal a médio, se a VM for pequena. Se você faz design gráfico ou muitas transferências de arquivos, pode haver uma grave perda de desempenho.

Para suas necessidades de programação, sugiro, com base em dados coletados em outro lugar, que você obtenha um SSD (O que é CPU ou RAM mais importante para compilar software grande, por exemplo, inicializar o gcc?,http://www.overclock.net/t/997361/compiling-and-cpu-usage). Embora existam algumas opiniões divergentes (https://stackoverflow.com/questions/15199356/speed-up-compile-time-with-ssd). Novamente, em caso de dúvida, compre as coisas boas.

Editar: 5 de janeiro de 2016 - adicionadas algumas informações devido a experiências recentes

Responder2

Executei uma VM em um pendrive USB3 no ano passado. Foi super fácil de fazer e muito conveniente, mas há algumas notas a serem feitas.

  • Não tenho certeza sobre o VMWare, mas para o VirtualBox é apenas uma questão de colocar o arquivo do disco virtual no USB e vinculá-lo à sua VM. Você terá que fazer uma configuração em cada host com o qual usá-lo, mas isso é algo que ocorre apenas uma vez. Os anfitriões jogam muito bem uns com os outros. A única coisa que notei é que minha VM terá uma interface de rede para cada rede host à qual estiver conectada, mas por outro lado não me causou nenhum tipo de conflito.

  • Meu USB eventualmente acabou, o que não é surpreendente. Os pendrives USB não foram feitos para receber ciclos de gravação constantemente; eles se desgastarão muito rapidamente se você usar sua VM para fins de desenvolvimento, especialmente se sua VM estiver agindo como um servidor e gravando constantemente em arquivos de log/cache.

  • O desempenho pode ser um problema. Se você adquirir um pendrive, procure especificamente por aqueles com altas velocidades de leitura e gravação, mas mesmo assim você notará um impacto.

  • Acho que um disco SSD externo pode ser a melhor escolha, é menos conveniente do que um stick pequeno, mas geralmente eles ainda são portáteis o suficiente para serem transportados facilmente, têm melhor desempenho e duram mais. (Estou ciente de que Flash e SSD são realmente a mesma tecnologia atualmente, mas os SSDs são projetados com maior frequência de leitura e gravação em mente, enquanto os pendrives USB se concentram principalmente apenas no armazenamento de arquivos)

Optei por usar algum tipo de solução híbrida atualmente. Foi muito conveniente ter meu conjunto de programação completo dentro de uma VM portátil, mas meu IDE estava visivelmente mais lento e ocasionalmente travava por alguns segundos. Agora eu uso a maioria das minhas ferramentas de programação no host enquanto mantenho o código-fonte e os servidores no convidado. Minha VM ainda é um desktop completo, portanto, nas raras ocasiões em que ainda preciso trabalhar em um computador externo, posso simplesmente ativar a GUI da minha VM e trabalhar com seu IDE e ferramentas de programação.

informação relacionada