Kann ich eine virtuelle Maschine von einem externen USB-Laufwerk ausführen?

Kann ich eine virtuelle Maschine von einem externen USB-Laufwerk ausführen?

Eine Frage zum Einrichten meiner VMs auf internen/externen Festplatten. Hier ist zunächst mein Setup:

  • Host-Betriebssystem: Windows 10
  • Prozessor: i7 5600U
  • Arbeitsspeicher: 16 GB
  • VMware Workstation Player (lizenziert)

Ich habe bisher 3 VMs und bekomme bald eine 4. und auf meiner internen SSD ist nicht mehr genug Platz, also brauche ich eine externe Festplatte, auf der ich einige davon platzieren kann. Ich habe einen Laptop mit USB3-Anschlüssen und eine Dockingstation für den Laptop mit einem eSATA-Anschluss. Ich habe über die Geschwindigkeiten beider gelesen und 5 Gbit/s gegenüber 6 Gbit/s scheint mir kein so großer Unterschied zu sein (aber ich bin kein Experte auf diesem Gebiet) – und die einzigen anderen angeschlossenen USB-Geräte sind kabelgebundene Maus und Tastatur.

Wofür ich die VMs verwende: Ich bin Entwickler und die verschiedenen VMs sind für unterschiedliche Entwicklungsumgebungen.

  • Auf der 1. VM läuft Windows Server 2008 mit Visual Studio, SQL Server und K2 Blackpearl.
  • Auf der 2. VM läuft Windows Server 2012 mit Visual Studio, SQL Server und BizTalk (unter anderem, was ich noch nicht weiß – das ist die neue VM, die ich bald bekomme)
  • Die 3. VM läuft unter Ubuntu und wird für die Python-Entwicklung verwendet (wahrscheinlich in PyCharm).
  • Zur 4. VM bin ich noch nicht gekommen - ich wurde erst vor ca. einem Monat eingestellt :-)

Meine Fragen:

  1. Ist es möglich, eine VM von einer externen Festplatte auszuführen? (Oder ist hier eine SSD ein Muss?)
  2. Reicht USB3 aus oder sollte ich mir eins zulegen, das auch eSATA unterstützt?
  3. Ist es besser, die weniger häufig verwendeten VMs auf dem externen Laufwerk zu speichern und sie dann auf das interne Laufwerk zu verschieben, wenn ich sie verwenden muss? Dazu muss ich zuerst eine VM vom internen auf das externe Laufwerk verschieben, daher diese Frage.
  4. Ist es überhaupt möglich, eine VM von einem externen Laufwerk aus auszuführen, ohne dass es zu größeren Leistungseinbußen kommt?

Ich denke das war es erstmal. Ich freue mich auf eure Antworten.

Beste grüße,

Joakim

Für alle, die diesen Beitrag finden und das Ergebnis wissen möchten: Ich hatte im Vorfeld einige Zweifel daran und würde dieses Setup keinem Entwickler empfehlen. Die Startzeit ist furchtbar und das Starten von Apps wie Visual Studio dauert mindestens drei- bis viermal so lange.

Mein Rat: Verwenden Sie diese Lösung nur, wenn Sie keine Alternativen haben.

Antwort1

Die Antwort hängt ein wenig davon ab, was die VMs tun sollen. Für „Papierkram“ wie Schreiben und Lesen ist alles in Ordnung. „Großer Leistungsverlust“ ist kein genau definierter Wert.

Für die meisten Leute sollte das kein Problem sein. Wenn Sie ein extrem ungeduldiger Computerbenutzer sind, besorgen Sie sich die schnellste Ausrüstung, die Sie bekommen können. Ich würde sogar vorschlagen, die interne SSD durch eine größere zu ersetzen. Es gibt jetzt eine 2 TB SSD auf dem Markt, die für Sie vielleicht zu teuer ist (700-800 $).

Beim Programmieren werden Sie wahrscheinlich nicht viel mehr Leistung erzielen, wenn Sie Code schreiben. Beim Kompilieren können Sie möglicherweise eine Leistungssteigerung erzielen. Wenn Sie nicht der Typ sind, der Dinge parallel erledigt, während Ihr Code kompiliert wird, besorgen Sie sich die schnellste Ausrüstung, die Sie bekommen können.

Kurz gesagt: Wenn Sie es sich leisten können oder keine Festplatte herumliegen haben, holen Sie sich eine SSD, intern oder extern (eSATA oder USB 3). Wenn Sie Zweifel haben, holen Sie sich das gute Zeug.

  1. Ist es möglich, eine VM von einer externen Festplatte auszuführen? (Oder ist hier eine SSD ein Muss?)

Ja, das ist möglich, aber es wird wahrscheinlich zu Leistungseinbußen kommen. Die VM sollte einwandfrei laufen, solange Sie keine Vorgänge ausführen, die viele Dateischreibvorgänge erfordern. Außerdem gilt: Je kleiner die VM, desto besser. Wenn Sie eine 50-60 GB große Windows-VM haben, wird sie auf einer externen 5400-Festplatte mit USB 3 sehr langsam sein. Ich spreche hier aus Erfahrung. Sie können immer noch Dinge tun, aber es wird eine Weile dauern.

Ausführen von mehr als einer VM auf einer externen Festplatteauf einmalkann zu erheblichen Leistungseinbußen führen. Erwägen Sie in diesem Fall die Verwendung von zwei externen Festplatten.

  1. Reicht USB3 aus oder sollte ich mir eins zulegen, das auch eSATA unterstützt?

USB3 sollte in Ordnung sein, zumindest war es das in den Fällen, in denen ich es verwendet habe. Schneller ist besser. Wenn Sie die externe Festplatte noch nicht gekauft haben, sollten Sie sich vielleicht für eSATA entscheiden, da Sie nie wissen, wofür Sie Ihre freien USB-Anschlüsse verwenden werden. (Vielleicht möchten Sie ein zweites externes Laufwerk für Sicherungszwecke hinzufügen.) Mit einer Festplatte erhalten Sie von eSATA möglicherweise nicht viel mehr Leistung, da die Schreib- und Lesegeschwindigkeiten von Dateien auf einer rotierenden Platte der begrenzende Faktor sind.

Versuchen Sie auch, eine SSD oder zumindest eine 7200-U/min-Festplatte für das externe Laufwerk zu bekommen, wenn Sie noch eines finden können. Oder bauen Sie eines aus einem externen Gehäuse und einem externen USB-Gehäuse. Wenn Sie sich keine SSD leisten können, verkürzt eine 7200 die Dateiübertragungszeiten um einige Prozentpunkte.

  1. Ist es besser, die weniger häufig verwendeten VMs auf dem externen Laufwerk zu speichern und sie dann auf das interne Laufwerk zu verschieben, wenn ich sie verwenden muss? Dazu muss ich zuerst eine VM vom internen auf das externe Laufwerk verschieben, daher diese Frage.

Ich denke, Sie sollten die VMs, die viel Schwerarbeit leisten, wie z. B. das Schreiben von Dateien und rechenintensive Dinge, auf dem internen Laufwerk behalten, unabhängig davon, wie oft Sie sie verwenden. Sie zu verschieben kann ziemlich mühsam sein. Das Kopieren einer 20 GB großen VM von der internen auf eine externe Festplatte dauert bei 60 MB/s etwa 6–7 Minuten. Von einer internen auf eine externe SSD ist wesentlich schneller. Wenn Sie die Leistung der VMs auf der externen Festplatte akzeptabel finden, ist es möglicherweise nicht erforderlich, sie zu verschieben. Sie können sich damit befassen, wenn Sie soweit sind.

  1. Ist es überhaupt möglich, eine VM von einem externen Laufwerk aus auszuführen, ohne dass es zu größeren Leistungseinbußen kommt?

Siehe 1., ja, es ist für normale bis mittlere Computerarbeit möglich, wenn die VM klein ist. Wenn Sie Grafikdesign oder viele Dateiübertragungen durchführen, kann es zu erheblichen Leistungseinbußen kommen.

Für Ihre Programmieranforderungen würde ich Ihnen auf der Grundlage anderswo gesammelter Daten empfehlen, eine SSD zu kaufen (Was ist zum Kompilieren großer Software, z. B. zum Bootstrapping von gcc, wichtiger: CPU oder RAM?,http://www.overclock.net/t/997361/compiling-and-cpu-usage). Obwohl es einige abweichende Meinungen gibt (https://stackoverflow.com/questions/15199356/beschleunigen-sie-die-kompilierungszeit-mit-ssd). Auch hier gilt: Im Zweifelsfall holen Sie sich das gute Zeug.

Edit: 5. Januar 2016 - einige Informationen aufgrund neuerer Erfahrungen hinzugefügt

Antwort2

Ich habe im letzten Jahr eine VM auf einem USB3-Stick ausgeführt. Das war super einfach und sehr praktisch, aber es gibt ein paar Randbemerkungen.

  • Bei VMWare bin ich mir nicht sicher, aber bei VirtualBox müssen Sie Ihre virtuelle Festplattendatei nur auf den USB-Stick ziehen und mit Ihrer VM verknüpfen. Sie müssen auf jedem Host, mit dem Sie es verwenden, eine Konfiguration vornehmen, aber das ist nur eine einmalige Sache. Die Hosts spielen ganz gut miteinander. Das Einzige, was mir aufgefallen ist, ist, dass meine VM eine Netzwerkschnittstelle für jedes Host-Netzwerk hat, mit dem sie verbunden wurde, aber ansonsten gab es bei mir keinerlei Konflikte.

  • Mein USB-Stick hat irgendwann den Geist aufgegeben, was nicht überraschend ist. USB-Flash-Sticks sind nicht dafür gedacht, ständig Schreibzyklen zu durchlaufen. Sie nutzen sich ziemlich schnell ab, wenn Sie Ihre VM für Entwicklungszwecke verwenden, insbesondere wenn Ihre VM als Server fungiert und ständig in Protokoll-/Cachedateien schreibt.

  • Die Leistung kann ein Problem sein. Wenn Sie einen USB-Stick kaufen, achten Sie besonders auf solche mit hohen Lese- und Schreibgeschwindigkeiten, aber selbst dann werden Sie eine Beeinträchtigung bemerken.

  • Ich denke, eine externe SSD-Festplatte könnte die bessere Wahl sein. Sie ist weniger praktisch als ein kleiner Stick, aber normalerweise sind sie immer noch tragbar genug, um sie problemlos mit sich herumzutragen, haben eine höhere Leistung und halten länger. (Mir ist bewusst, dass Flash und SSD heutzutage eigentlich ein und dieselbe Technologie sind, aber SSDs sind für höhere Lese- und Schreibfrequenzen konzipiert, während USB-Sticks meist nur auf die Dateispeicherung ausgerichtet sind.)

Ich habe mich in letzter Zeit für eine Art Hybridlösung entschieden. Es war wirklich praktisch, meine komplette Programmiersuite in einer portablen VM zu haben, aber meine IDE lief darin merklich langsamer und fror gelegentlich für ein paar Sekunden ein. Jetzt verwende ich die meisten meiner Programmiertools auf dem Host, während der Quellcode und die Server auf dem Gast bleiben. Meine VM ist jedoch immer noch ein vollwertiger Desktop, sodass ich in den seltenen Fällen, in denen ich noch an einem fremden Computer arbeiten muss, einfach die GUI meiner VM starten und mit deren IDE und Programmiertools arbeiten kann.

verwandte Informationen