A resposta depende um pouco do que as VMs devem fazer. Para "papelada", como escrever e ler, você vai ficar bem. "Perda de desempenho importante" não é um valor bem definido.
Para a maioria das pessoas, tudo bem. Se você se tornar um usuário de computador extremamente impaciente, obtenha o equipamento mais rápido que puder, eu sugiro substituir o SSD interno por um maior. Um SSD de 2 TB está agora no mercado, o que pode ou não ser muito caro para você (700-800 $).
Para programação, você provavelmente não terá muito mais impacto ao escrever código. Você pode obter um aumento de desempenho ao compilar. Se você não é do tipo que faz coisas paralelas enquanto seu código está compilando, obtenha o equipamento mais rápido possível.
O TLDR é: Se você puder pagar ou se você não tiver HDD por aí, adquira um SSD, interno ou externo (eSATA ou USB 3). Em caso de dúvida, pegue as coisas boas.
- É possível executar uma VM a partir de um disco rígido externo? (Ou é SSD uma obrigação aqui?)
Sim, é possível, mas você provavelmente terá alguma perda de desempenho. A VM deve funcionar corretamente, desde que você não tenha operações que exijam muita gravação de arquivos. Além disso, quanto menor a VM, melhor. Se você tiver uma VM de 50 a 60 GB do Windows, ela será muito lenta em um HD externo de 5400 com USB 3. Estou falando por experiência aqui. Você ainda pode fazer coisas, mas vai demorar um pouco.
A execução de mais de uma VM em um HDD externo de cada vez pode resultar em uma grave perda de desempenho. Considere o uso de dois HDDs externos para esse cenário.
- O USB3 será suficiente ou devo obter um que também suporte o eSATA?
O USB3 deve estar bem, pelo menos nos casos em que os usei. Mais rápido é melhor. Se você ainda não comprou o disco rígido externo, talvez prefira o eSATA porque nunca sabe para que usará suas portas USB sobressalentes. (Você pode querer adicionar uma segunda unidade externa para fins de backup.) Com uma HDD, você pode não obter muito mais desempenho da eSATA porque a velocidade de gravação e leitura de arquivos em um disco de prato giratório é o fator limitante.
Além disso, tente obter um SSD ou pelo menos um HD de 7200 rpm para o disco externo, se ainda puder encontrar um. Ou construa um a partir de um gabinete externo e um gabinete USB externo. Se você não puder pagar um SSD, um 7200 reduzirá os tempos de transferência de arquivos em alguns pontos percentuais.
- É melhor armazenar as menos usadas VMs na unidade externa e depois movê-las para a unidade interna, quando eu precisar usá-la? Isso exigirá que eu mova uma VM da unidade interna para a externa primeiro, daí a pergunta.
Acho que você deve manter as VMs que farão muito trabalho pesado, como material intensivo de gravação de arquivos e computação na unidade interna, independentemente de quantas vezes você as usa. Mudá-los pode ser bastante doloroso. A cópia de uma VM de 20 GB do HDD interno para o externo leva cerca de 6 a 7 minutos a 60 MB / s. O SSD interno para externo será substancialmente mais rápido. Se você achar que o desempenho das VMs no disco externo é aceitável, movê-los pode não ser necessário. Você pode atravessar a ponte quando chegar lá.
- É possível executar uma VM a partir de uma unidade externa sem perda significativa de desempenho?
Veja 1., sim, é possível para o trabalho normal ou médio do computador, se a VM é pequena. Se você fizer design gráfico ou várias transferências de arquivos, pode haver uma perda grave de desempenho.
Para suas necessidades de programação, eu sugeriria em dados reunidos em outro lugar que você obtém um SSD ( O que é mais importante CPU ou RAM para compilar grandes softwares, por exemplo, bootstrapping gcc? , link ). Embora existam algumas opiniões dissidentes ( link ). Mais uma vez, quando em dúvida, pegue as coisas boas.
Edit: Januar 5th, 2016 - adicionou algumas informações devido a experiências recentes