Posso eseguire una macchina virtuale da un'unità USB esterna?


13

Una domanda su come configurare le mie macchine virtuali su dischi interni / esterni. Innanzitutto, ecco la mia configurazione:

  • Sistema operativo host: Windows 10
  • Processore: i7 5600U
  • RAM: 16 GB
  • VMware Workstation Player (concesso in licenza)

Finora ho 3 VM e presto ne avrò un quarto e non c'è più abbastanza spazio sul mio SSD interno, quindi ho bisogno di un disco esterno per posizionarne alcuni. Ho un laptop con porte USB3 e un dock per laptop con una porta eSATA. Ho letto delle velocità di entrambi e 5 Gbps contro 6 Gbps non mi sembrano molto importanti (ma non sono un esperto in questo) - e gli unici altri dispositivi USB collegati sono il mouse e la tastiera cablati.

Per cosa sto usando le VM: sono uno sviluppatore e le diverse VM sono per diversi ambienti di sviluppo.

  • 1a VM esegue Windows Server 2008 con Visual Studio, SQL Server e K2 Blackpearl.
  • 2a VM esegue Windows Server 2012 con Visual Studio, SQL Server e BizTalk (tra le altre cose che non conosco ancora - questa è la nuova VM che avrò presto)
  • 3a VM esegue Ubuntu e verrà utilizzata per lo sviluppo di Python (probabilmente in PyCharm)
  • 4a VM a cui non sono ancora arrivato - sono stato assunto circa un mese fa :-)

Le mie domande:

  1. È possibile eseguire una VM da un HDD esterno? (O SSD è un must qui?)
  2. USB3 sarà sufficiente o dovrei ottenerne uno che supporti anche eSATA?
  3. È meglio archiviare le VM utilizzate meno frequentemente sull'unità esterna e quindi spostarle sull'unità interna, quando è necessario utilizzarle? Questo mi richiederà di spostare prima una macchina virtuale da unità interna a esterna, quindi questa domanda.
  4. È anche possibile eseguire una macchina virtuale da un'unità esterna senza gravi perdite di prestazioni?

Penso che sia stato per ora. Attendo tue risposte.

I migliori saluti,

Joakim

Per chi trova questo post e vuole conoscere il risultato: avevo dei dubbi su questa pre-mano e non consiglierei questa configurazione per nessuno sviluppatore. Il tempo di avvio è orribile e l'avvio di app come Visual Studio richiede almeno 3-4 volte più tempo.

Il mio consiglio : utilizzare questa soluzione solo se non si hanno alternative.


È stato orribile anche con un SSD esterno o hai usato solo un HDD esterno?
yitwail

Non sono riuscito a provarlo con un SSD esterno. Immagino che andrà un po 'meglio, ma penso comunque che dovresti collegarlo con e-sata per una performance accettabile, però.
Boregore,

1
Riceverò un SSD esterno USB3 da 500 GB in un paio di giorni, quindi inserirò una VM Windows 8 in esso, quindi eseguirò virtualbox e paralleli desktop su di esso con un cronometro su di esso, e quando fatto, pubblica un altro commento con i risultati
yitwail

Fantastico - le persone che inciampano in questo post apprezzeranno il mio pensiero.
Boregore,

1
L'SSD non era difettoso, MacBook Pro aveva bisogno del reset SMC / NVRAM. Quindi, con le avvertenze, IE11 - Win8.1 Parallels VM è abbastanza utilizzabile. Se lo sospendo / riprendo e chiudo le app prima di sospenderlo, si sospende e riprende in 3-4 secondi. Uso VM solo per testare IE e IE è scattante. Parallels ha così tante impostazioni, quindi non posso dire che ho una configurazione ottimale. Ho anche ottimizzato un po 'Win8 per le prestazioni. Suppongo che dovrei ripetere l'esperimento con il disco interno, ma qualcun altro può farlo. Cordiali saluti, è un MacBook Pro Retina da 128 GB, quindi la necessità di inserire la VM in un SSD esterno.
yitwail,

Risposte:


11

La risposta dipende un po 'da ciò che le VM dovrebbero fare. Per "scartoffie" come scrivere e leggere andrà bene. La "perdita di prestazione maggiore" non è un valore ben definito.

Per la maggior parte delle persone dovrebbe essere a posto. Se ti ritrovi a essere un utente di computer estremamente impaziente, ottieni le attrezzature più veloci che puoi, suggerirei persino di sostituire l'SSD interno con uno più grande. Un SSD da 2 TB è ora sul mercato, che potrebbe essere o non essere troppo costoso per te (700-800 $).

Per la programmazione, probabilmente non avrai molto più botto quando scrivi il codice. Potresti ottenere un aumento delle prestazioni durante la compilazione. Se non sei il tipo che fa cose in parallelo durante la compilazione del codice, ottieni l'attrezzatura più veloce che puoi.

Il TLDR è: se te lo puoi permettere o se non hai un HDD in giro, procurati un SSD, interno o esterno (eSATA o USB 3). In caso di dubbi, procurati le cose buone.

  1. È possibile eseguire una VM da un HDD esterno? (O SSD è un must qui?)

Sì, è possibile, ma probabilmente si avrà una perdita di prestazioni. La VM dovrebbe funzionare correttamente finché non si hanno operazioni che richiedono molta scrittura di file. Inoltre, più piccola è la VM, migliore è. Se hai una VM Windows da 50-60 GB, sarà molto lento su un HD esterno da 5400 con USB 3. Sto parlando per esperienza qui. Puoi ancora fare cose, ma ci vorrà del tempo.

L'esecuzione di più di una macchina virtuale su un HDD esterno alla volta può comportare una grave perdita di prestazioni. Prendi in considerazione l'utilizzo di due HDD esterni per quello scenario.

  1. USB3 sarà sufficiente o dovrei ottenerne uno che supporti anche eSATA?

USB3 dovrebbe andare bene, almeno era nei casi in cui li ho usati. Più veloce è meglio. Se non hai ancora acquistato l'HDD esterno, potresti voler scegliere eSATA perché non sai mai per cosa utilizzerai le tue porte USB di riserva. (Potresti voler aggiungere una seconda unità esterna per scopi di backup.) Con un HDD, potresti non ottenere molte più prestazioni da eSATA perché le velocità di scrittura e lettura di file su un disco piatto rotante sono il fattore limitante.

Prova anche a ottenere un SSD o almeno un HDD a 7200 rpm per l'unità esterna, se riesci ancora a trovarne uno. Oppure creane uno da una custodia esterna e una custodia USB esterna. Se non puoi permetterti un SSD, un 7200 ridurrà i tempi di trasferimento dei file di alcuni punti percentuali.

  1. È meglio archiviare le VM utilizzate meno frequentemente sull'unità esterna e quindi spostarle sull'unità interna, quando è necessario utilizzarle? Questo mi richiederà di spostare prima una macchina virtuale da unità interna a esterna, quindi questa domanda.

Penso che dovresti tenere le macchine virtuali che faranno molto lavoro pesante come la scrittura di file e l'elaborazione di roba intensiva sull'unità interna, indipendentemente dalla frequenza con cui le usi. Spostarli può essere abbastanza doloroso. La copia di una VM da 20 GB da HDD interno a esterno richiederà circa 6-7 minuti a 60 MB / s. L'SSD interno a esterno sarà notevolmente più veloce. Se ritieni che le prestazioni delle VM sul disco esterno siano accettabili, spostarle potrebbe non essere necessario. Puoi attraversare quel ponte quando ci arrivi.

  1. È anche possibile eseguire una macchina virtuale da un'unità esterna senza gravi perdite di prestazioni?

Vedi 1., sì, è possibile per un lavoro da normale a medio, se la VM è piccola. Se si esegue la progettazione grafica o molti trasferimenti di file, potrebbe verificarsi una grave perdita di prestazioni.

Per le vostre esigenze di programmazione, suggerirei ai dati raccolti altrove di ottenere un SSD ( Cosa è la CPU o RAM più importante per la compilazione di software di grandi dimensioni, ad esempio bootstrapping gcc ? , http://www.overclock.net/t/997361/compiling- e-cpu-use ). Sebbene ci siano alcune opinioni dissenzienti ( /programming/15199356/speed-up-compile-time-with-ssd ). Ancora una volta, in caso di dubbio, ottenere le cose buone.

Modifica: 5 gennaio 2016 - aggiunte alcune informazioni a causa di esperienze recenti


Grazie mille per la tua risposta. Avrei dovuto specificare che tipo di lavoro sto facendo però. Ho aggiunto quello che faccio al post principale invece non posso fare nuove righe nei commenti
Boregore,

Immagino che la parte del filewriting sia ciò a cui devo pensare. Hai qualche commento a riguardo riguardo al fatto che io sia uno sviluppatore di software? Aspetterò un po 'e vedrò se qualcun altro ha qualcosa da aggiungere e alla fine accetterò la tua risposta se non arriva nulla di meglio :-)
Boregore,

@joborr Ow, hai sicuramente ottenuto i miei succhi di frutta con il tuo secondo commento. ;) Un voto potrebbe ammorbidire il mio umore. Ma seriamente, non sono un programmatore, quindi non posso dire nulla al riguardo. Se stai compilando un codice Ecco un altro pensiero: acquista un SSD esterno per ogni VM. Sarà un vantaggio. Vedi sopra (in circa 2 minuti).
utente 99572 va bene il

Va bene, grazie per tutti i tuoi consigli - molto apprezzato :-)
Boregore,

3

Ho eseguito una VM su una chiavetta USB3 nell'ultimo anno. È stato super facile da fare e molto conveniente, ma ci sono alcuni sidenotes da fare.

  • Non sono sicuro di VMWare, ma per VirtualBox si tratta solo di rilasciare il file del disco virtuale su USB e collegarlo alla VM. Dovrai effettuare una configurazione su ogni host con cui la usi, ma è solo una volta. I padroni di casa giocano abbastanza bene tra loro. L'unica cosa che ho notato è che la mia VM avrà un'interfaccia di rete per ogni rete host a cui è stata connessa, ma per il resto non mi ha dato alcun tipo di conflitto.

  • La mia USB alla fine ha ceduto, il che non è sorprendente. Le chiavette USB non sono pensate per cicli di scrittura costanti, si consumano abbastanza rapidamente se si utilizza la macchina virtuale per scopi di sviluppo, specialmente se la macchina virtuale funge da server e scrive costantemente nei file di registro / cache.

  • Le prestazioni possono essere un problema. Se ottieni una chiavetta USB, cerca specificamente quelli con alte velocità di lettura e scrittura, ma anche allora noterai un impatto.

  • Penso che un disco SSD esterno potrebbe essere la scelta migliore, è meno conveniente di un piccolo stick, ma di solito sono ancora abbastanza portatili da poter essere trasportati facilmente, avere prestazioni più elevate e vivere più a lungo. (Sono consapevole che Flash e SSD sono davvero la stessa tecnologia al giorno d'oggi, ma gli SSD sono progettati con una maggiore frequenza di lettura e scrittura in mente mentre le chiavette USB sono principalmente focalizzate sulla memorizzazione dei file)

In questi giorni ho scelto di utilizzare una sorta di soluzione ibrida. Era davvero conveniente avere la mia suite di programmazione completa all'interno di una VM portatile, ma il mio IDE era notevolmente più lento al suo interno e occasionalmente si bloccava per alcuni secondi. Ora utilizzo la maggior parte dei miei strumenti di programmazione sull'host mantenendo il codice sorgente e i server sul guest. Anche la mia VM è ancora un desktop completo, quindi per le rare occasioni in cui devo ancora lavorare su un computer esterno, posso semplicemente girare la GUI della mia VM e lavorare con il suo IDE e gli strumenti di programmazione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.