Virtualisierung unter macOS/Windows

  • Moin,


    ich arbeite derzeit viel mit Virtualisierung und benutze unter macOS Parallels Desktop. Hab aber auch schon VMware Fusion ausprobiert, jedoch bin ich der Meinung das eine VM in Fusion immer etwas langsamer ist als unter Parallels Desktop.

    Wie dem auch sei, gibt es leider Gottes kein Parallels Desktop für Windows.


    Folgendes habe ich probiert:
    Hyper-V Server - finde ich soweit ganz nett, mir fehlt allerdings die dynamische Anzeigengröße (wie unter macOS). Das scheint wohl irgendwie über RDP zu gehen, allerdings wollte ich nicht extra noch eine RDP Verbindung aufbauen müssen.

    VMware Workstation 15 Pro - Da ich eine Lizenz habe. Kommt in die Richtung was ich suche, finde ich nur unheimlich langsam irgendwie. Gerade unter Win10 VMs erscheinen mir die Animationen irgendwie nicht flüssig.


    Nun stehe ich vor dem Problem:

    Bin ich zu blöd VMware Produkte zu nutzen oder was ist los? Habt ihr da eventuell irgendwelche Tipps, kennt ihr irgendwelche Software, die ich nicht kenne? Wie virtualisiert ihr?
    Denke darüber kann man sich ruhig mal austauschen, dürfte für einige sicher relevant sein.


    Liebe Grüße :)

  • Unter Windows Hyper-V und RDP, wenn das Gastsystem kein Problem damit hat. Effizienter wirds nicht, man kann sich daran gewöhnen. Wenn du auf Windows verzichten kannst gibts viele gute alternative Hypervisor. Ich verwende beispielsweise gern etliche Linux Container auf PVE. Andere OS in QEMU sind damit ebenfalls möglich, bei mir sinds ein paar Windows Server 2016 und headless macOS Mojave.

    gez. Thogg Niatiz

  • Das heißt: Unter Windows würdest du nur Hyper-V vorschlagen? Solange ich irgendwie die dynamische Anzeige habe, würde ich vermutlich auch RDPs benutzen.

    Ich hoffe man versteht was ich damit meine: Fenster größer oder kleiner ziehen, automatische Anpassung. Wie unter macOS bekannt.


    Bei mir laufen da diverse NT 4.0 Server sowie Win10, 7 und DOS basierte Windows Systeme (98, ME, 3.1) und einmal Red Hat Enterprise Server.


    Muss leider Windows sein, sonst hätte ich mir schon längst mal Proxmox angeguckt. Klingt mMn. mehr als interessant.

  • Ich habe VMware unter Windows schon lange nicht mehr verwendet. Ich weiß nur dass Hyper-V für Windows Guests noch immer am performantesten sein soll. Für VirtualBox gab es immer diese Guest Additions, mit denen dann auch dieses Scaling im Gast funktioniert hat. Vielleicht gibts sowas auch für VMware.

    gez. Thogg Niatiz

  • Bin ich deiner Meinung. Unter Hyper-V läuft mein Windows 10 Guest eindeutig besser. Zumindest ruckelt die UI nicht.


    Hyper-V geht mMn. am ehesten Richtung Paralles Desktop.


    Wobei ich mich ja dann frage ob ich mein Red Hat Enterprise Server auch drin laufen lassen kann?


    VMware Workstation bietet ebenso so, wie unter macOS, Guest Additions. Die VMware Tools. Habe die installiert, aber die UI ruckelt dennoch stark. Dabei ist das die selbe Hardware wie unter macOS und Hyper-V.

    Allerdings habe ich selbe Symptome unter Fusion auch.


    Update:


    Mir hat das mit VMware einfach keine Ruhe gelassen, da die ja auch schon lange im Biz sind und wissen was sie tuen. Also hab ich gestern Abend Fusion neu auf dem Mac installiert und - dabei - direkt mal ein Update auf die neuste Version gemacht. Aktuell läuft die VM besser als ich dachte, sogar mMn. etwas besser als unter Parallels.

    Die Pro Version bietet ebenso den Vorteil, mit einem ESXi Server Verbindung aufzunehmen.

    Einmal editiert, zuletzt von REVAN ()

  • REVAN warum sollte W10 ruckeln?

    Ich habe kein parallels aber VMWare Fusion in aktueller Version. Da ruckelt und ruckelte bisher nichts.

    Rein zum testen habe ich die VM mal auf eien mechanische Platte verschoben, da ich einen Verdacht habe was das "ruckeln" bertrifft.

    Siehe da auf einer langsamen 5400rpm platte sind anfangs ruckler zu erkennen, auf einer SSD macht das null unterschied ob Virtuell oder Physikalisch.

    Außerdem ist das "ruckeln" auch extrem wenn du die VMwareTools nicht installiert hast im Guest.


    Meine Konfig für die VM:

    Prozessorkerne : 2

    2048 MB Arbeitsspeicher

    50GB Dynamischer Plattenspeicher



    Daher meine Frage wo genau liegt die VM? auf einer mechanischen Platte? Im Netzwerk?

    Wie genau ist die Anbindung? (Sata3G, Sata6G, USB, LAN oder WLAN bei Netzwerkspeicher?)

  • Unter Windows hatte ich aber irgendwie schon immer Probleme mit VMware Workstation - möchte ich dazu sagen.

    Die Animationen haben etwas geruckelt - z.B. beim öffnen des Start Menüs. Ansonsten lief das auch gut.


    Meine Konfiguration:
    Prozessorkerne: 2

    Arbeitsspeicher: 8192 MB (8 GB)

    Festplatte: 60 GB

    Grafikkarte: 3D-Grafikbeschleunigung mit 2048 MB


    Die VMs befinden sich alle auf der VM SSD - 256 GB Crucial SSD Mx300 - da ich nur noch eine mechanische Platte drin habe (für Games). macOS läuft ebenfalls auf einer Mx300 256 GB SSD. Ist ein SATA6G Port.

    Netzwerkspeicher gibts nicht - kommt aber in 2019 (endlich).


    Habe das Problem gelöst, indem ich einfach mal ein Update auf Fusion Pro 11.0.2 gemacht habe. Seitdem läuft mein Windows 10 sehr gut. Bin zufrieden damit.

  • REVAN Grafikbeschleunigung benötigst du nur soviel wenn du Applikationen fährst welche dies auch benötigen (die Performance wird jedoch trotz allem eingeschränkt sein) CAD, Grafiktools etc. benötigen das, ansonsten kannst du es dir getrost schenken (1024 empfohlen reichen durchaus).

    Weshalb benötigst du soviel RAM? Wieviel RAM hast du im System?


    HM okay dann hat sich das ja erledigt.

  • Läuft auf dem "iMac 18,2" aus meiner Signatur, also demnach 16 GB Arbeitsspeicher. Da dürfte das schon gehen.

    Da alles noch flüssig läuft (Hauptsystem und VM), gehe ich davon aus das es in Ordnung ist.


    Ich bin immer offen für Tipps, wenn du mir da noch ein paar Kniffe zeigen kannst - nur zu. Was kann ich denn verbessern?

  • Noch so ein Verrückter.

    Beim Einbrechen der Performance kann es manchmal helfen, eine Defragmentierung der VHD durchzuführen.

    Entscheidend ist ausserdem ob man die VHD als "preallocated disk" oder als "growable disk" angelegt hat. Ebenso entscheidend ist die Auswahl des Platten-Adapters. Für Linux sollte man am besten SCSI wählen. Bei mir laufen die VM vor allem als Linux-Maschinen im terminal.

    Liebe Grüße von Steffen aka bluebyte

    Bilder

  • Danke für die Info bluebyte


    Könntest du mir eventuell eine Konfiguration deiner Windows 10 Maschine zu kommen lassen? Würde ich mich gerne mal ansehen und mal darüber testen.
    Gerne auch per PN.

  • REVAN nun sagen wir mal so, eine vm ist im grunde nichts anderes wie eine hardwarekiste. Ausgehend von diesem Gedanken, spiele einfach mal mit deinen PC Grundkenntnissen.


    Wie bei einem Physikalischem Gerät (PC) muss man sich die frage stellen was will ich überhaupt?


    Will ich in der VM Zocken, Grafikinsentive Programme laufen lassen?

    Dann kommst du mit deinen 16GB schnell an deine Grenzen, da im Professionellen Umfeld 16GB so gerade eben dafür ausreichen (für eine Session).


    Problem ist, das du mit einem Hypervisor des Typ 2 Arbeitest, was bedeutet das deine Hardware erst das OS (Hostsystem) dann als Applikation das Fremdsystem (guest) ansteuert.

    Das wiederum geschieht nicht direkt sondern über die Applikation als Verbindungsschicht (sogenannter Layer oder Abstraktionsschicht).


    Im Professionellen Umfeld kommt meist ein Blech (Bare Metal genannt) zum Einsatz welcher einen Hypervisor des Typ 1 darstellt.

    Bedeutet:

    Dort schaut die sache wiederum ganz anders aus, dort agiert die Hardware direkt ohne Umwege mit dem Guest System.

    Hat einen entscheidenen Vorteil das man alles Dynamisch verteilen kann.


    Dynamische Ressourcenverteilung geht eher so halbwegs beim Hypervisor Typ2 weshalb dies weitaus mehr Ressourcen schluckt als einer vom Typ 1.



    Soweit meine erfahrungswerte und für dich einen kleinen überblick des ganzen.


    Was deine VM betrifft muss ich wissen was genau du damit vor hast.


    Eine Defragmentierung einer VM auf einem Hypervisor Typ2 welcher auf einer SSD liegt ist völlig unnötig, da Windows bei der Installation erkennt um welchen Disktyp es sich handelt.


    In meinem Fall erkennt VMWare eigenständig das es sich um eine SSD handelt und optimiert diese selbstständig bei bedarf.

    Erkennt man wenn man im Explorer auf den Datenträger unter eigenschaften klickt und dort defragmentieren auswählt.


    Sollte dort allerdings etwas anderes stehen als Solid State Drive, komme gern nochmal darauf zurück, dafür gibt es auch abhilfe nur weiss ich den Befehl gerade nicht aus dem Kopf (eventuell war es auch ein Registry eintrag).


    Ich würde erstmal den Speicher (RAM) auf maximal 2GB runtersetzen bei dir sowie den Grafikspeicher auf 1GB reduzieren.


    Plattenspeicher nur soviel wie du wirklich für deine Anwendungen benötigst da dieser bei dir ja doch enorm begrenzt ist.


    Der Plattenspeicher kann dabei entweder Dynamisch oder Vorab zugewiesen werden.


    Der Unterschied dabei ist:

    Eine Dynamische ist auf sagen wir 60GB festgelegt, wird auf dem System aber nicht als 60GB fest angelegt sonder wächst stetig mit.


    Eine Vorabzuweisung legt auf deiner Physikalischen Platte eine oder mehrere Dateien an welche eine Gesamtgröße von 60GB direkt auf deiner Platte belegen.


    Vorteile und Nachteile:


    Dynamisch --> weniger Speicher Physikalisch ---> eventuell langsamer (eher selten auf ssd)

    Vorab zugewisen ---> mehr Physikalischer Speicher ---> Schneller da die Datei bereits vorliegt und nicht erst geschrieben werden muss (das schreiben geschieht dabei in eine Art Container)



    Wenn du noch fragen hast immer her damit.

  • Vielen Dank erstmal für deine ausführliche Antwort :)


    Hauptsächliche Arbeit in meiner VM ist programmieren. In der Win10 VM lasse ich meine Java Umgebung laufen, also Oracle JDK und IntelliJ Idea Community. Ich brauch das für die Uni und möchte auf meinem Host kein Java installieren. Das aber eine andere Story.

    In der VM laufen dann natürlich auch alle Java Anwendungen, die ich benutze. Da habe ich wenigstens eine Sandbox und kann bei Bedarf ein Snapshot zurück spielen.


    Die älteren Windows Geschichten benutze ich ab und an mal für ältere Software (z.B. NT 4.0 oder Windows 98). Die laufen aber soweit, machen mir auch keinen Stress. Aber das tun die schon immer gut.

    Mit dem Red Hat Enterprise Server habe ich noch einiges vor, wenn die Zeit dazu endlich mal da wäre.


    Grundsätzlich:

    Meine Festplatte ist immer eine Datei, die nicht dynamisch ist. Meistens um die 40 - 60 GB groß. Soviel Platz brauche ich auch nicht.

    Bei den älteren Systemen maximal 10 GB (wenn überhaupt. NT 4.0 nur 8 GB (mehr geht sowieso nicht)).


    Demnächst kommt eventuell auch noch ein Windows Server System dazu, aber das weiß ich noch nicht. Will mal schauen was der RHEL Server so alles kann.


    Eigentlich soll programmieren nur flüssig laufen, mehr möchte ich gar nicht.


    Frage: Irgendeine optimale Einstellung die ich mal testen soll?

  • REVAN : Hatte in meiner Windows-VM eine Entwicklungsumgebung für Java und Microsoft Visual Studio Community installiert. Wie Du auf dem Screenshot zu erkennen ist, habe ich mich in der Vergangenheit mit MMORPG-Servern beschäftigt. Aus den gleichen Gründen, wie Du sie erwähnst, habe ich dafür virtuelle Maschinen gewählt. Um das Host-System sauber zu halten. Dabei musste ich feststellen, dass gerade Java auf einer virtuellen Windows-Maschine sehr träge läuft. Eine zusätzliche Installation auf einem zusätzlichen Datenträger mit der entsprechenden Entwicklungsumgebung wäre auf jeden Fall vorteilhafter.


    ozw00d : Mit der Defragmentierung meinte ich nicht die Defragmentierung der virtuellen Laufwerke innerhalb des Host-Systems, sondern die Defragmentierung der Laufwerke innerhalb des Gast-Systems.

  • Also ich hab eigentlich vergleichsweise gute Ergebnisse mit Java in der VM erzielt. Unter macOS war das eine Katastrophe aber mit Windows lief das recht gut.

    Aber ich hab es irgendwie auch noch nie wirklich geschafft das macOS irgendwie gut in einer VM gelaufen ist. Teilweise hat das doch sehr stark geruckelt.


    Ich glaube ich brauch dringend mal gescheite Beratung in Ressourcen Verteilung ozw00d

  • REVAN macOS in einer VM ist meist sehr träge, spasseshalber konnte ich das mal unter auf nem xen server testen. Dort ist die Performance annähernd zu einem echtem macsystem. Allerdings ist das auch ein Hypervisor Typ 1 und dort sprechen wir von mehr als 4 -8 CPUs sowie mehreren TB RAM die einem zur verfügung stehen.

    Und nur so nebenbei, eine VM ist keine Sandbox. Dazu ist etwas mehr vonnöten als eine einfache VM aufzusetzen.

    Eher im gegenteil, ist es sogar möglich das durch Programmieren ein Zugriff auf den Host möglich ist bzw. werden kann.


    Dazu musst du es hinbekommen, das keine möglichkeit vom Guest aus besteht auf den Host zuzugreifen, was allein durch den Umstand das es sich um einen Hypervisor Typ 2 handelt (Applikation) nicht möglich ist, da dieser auf dem Host läuft.


    Bei Java ist es schwieriger aber ich habe schon darüber gelesen das es möglich ist mithilfe von Assembler oder C zugriff auf das Hostsystem zu bekommen.

    Die Hersteller sichern zwar ab aber wir alle wissen in der IT ist nichts unmöglich.



    Was deine Ressourcen betrifft:


    Teste einmal wieviel Ram und CPU du beim kompilieren brauchst und wieviel du brauchst wenn du unter Oracle JDK und IntelliJ Idea Community Programmierst.

    Testen kannst du es ganz einfach in dem du ein wenig auf den Task manager achtest.


    Ich vermute einmal das wenn überhaupt viel Ram und CPU benötigt werden wenn du kompilierst.


    Was ich nicht verstehe, warum benötigst du dazu eine VM? Java ist doch Plattformunabhängig oder habe ich da was falsch auf dem Schirm?

    Visual Studio (gibts auch für mac) sowie Eclipse sind recht gute Entwicklungsumgebungen soweit ich das noch in erinnerung habe.

    Oracle JDK sowie IntellJ Idea Community ebenso.


    Die Performance eines Physikalischen Hosts wirst du nie zu 100% auf einem Guest des Typs 2 Hypervisor erreichen.

  • Ich möchte einfach nur mein System so sauber wie möglich halten. Ich bin - wie gesagt - außerdem kein Freund von Java und möchte das ungern auf meinem HackMac benutzen. Ist aber, denke ich, persönliche Präferenz. Genau so wie mit den Anti-Flash Typen damals.


    Ich brauch das halt genau dieses Semester an der Universität, danach nicht mehr. Deshalb ist eine VM mMn. Sinnvoll. Plane nicht damit weiterzuarbeiten.

    Ich programmiere eher mit C# und PHP.


    Ich wusste gar nicht das es Visual Studio endlich für Mac gibt, dachte das die immer noch mit Xamarin arbeiten. Nutzt das immer noch Mono als Product of Choice?

    (Würde ich mir in der Tat eher, auf dem Host, installieren als Java).


    Natürlich ist auch ein kleiner Spieltrieb mit dabei, finde es zumindest interessanter als ein ganzen Tag nur zu gamen :D


    Ich hab die VM nun mal so eingestellt wie du sagtest:

    2 Kerne, 2048 MB Arbeitsspeicher, 1024 MB Grafikkarte


    Läuft immer noch gut, merke dezent keinen Unterschied zu meinen hohen Einstellungen.

    Kompilieren geht - bei uns - relativ schnell. Wir haben keine großen Programme mit GUIs etc.

  • Agiere da immer nach dem Motto "Keep It Simple, Keep It Clean". Ich minimalisiere nur auf das nötigste. Hab auch nicht 2000 Programme installiert, die ich nicht brauche. Nur Software die ich auch benötige.


    Gut Java benötige ich aktuell aber nicht für immer, deswegen war die VM mein erster Anlaufpunkt.

    Dachte bis dato aber immer das mehr auch mehr heißt, und da ich unter der vorherigen Version von VMware Probleme hatte dachte ich ebenso da muss mehr hin.


    Das es jetzt so GUT funktioniert, freut mich natürlich.


    Die VM Software dient ja auch dazu, um Legacy Versionen laufen zu lassen.