In erster Linie als Notiz für mich schreibe ich kurz nieder, was mir in letzter Zeit mit Hyper-V-Virtualisierung passiert ist.

tl;dr: Im Ergebnis ist alles gut.

Homeserver umgezogen

Mein Windows-Homeserver-2011 ist in die Jahre gekommen und er hat auch kein Hyper-V. Ich möchte ihn aber nicht aufgeben, weil die Clientcomputersicherung eine feine und bequeme Sache ist und ich noch keinen wirklichen Ersatz gefunden habe. Auf der Maschine lief auch eine Ubuntu-Server-VM in VirtualBox, das ich die letzten Jahre mit Tricks als Dienst (ohne Login am Rechner) betrieben hatte. Das ist an sich eine eher wackelige Konstruktion, lief aber eigentlich immer gut. Nun wollte ich aber einen Ubuntu-Desktop als Entwicklungsmaschine aufsetzen, damit ich auch von unterwegs auf mein phpStorm zugreifen kann und dieses zudem lokal auf die Dateien im Webroot. Bislang lief phpStorm lokal auf meinem Rechner im Arbeitszimmer und griff über SMB auf die Dateien auf dem Entwicklungsserver zu. Das war nervig langsam und wenn ich aus dem Büro da dran wollte, musste zuhause der Rechner laufen.

Der neue Plan lautete also: Installiere ein Ubuntu 18.04 in eine VM und darauf den ganzen Entwicklungskram und phpStorm, worauf ich dann über eine Remotedesktoplösung zugreife. Diese VM sollte aber vorzugsweise nicht auf dem veralteten Windows-Homeserver-2011 in Frickellösungen laufen, sondern in einem sauberen Hypervisor, der direkt auf der Hardware läuft und parallel den Homeserver in einer anderen VM unterbringt. Der Hyper-V-Server 2016 drängte sich da förmlich auf. Die Installation geht schnell, aber mangels grafischer Oberfläche muss man von einem Windows-Client aus das Hyper-V verwalten. Ohne Domäne bzw. Active Directory ist das gar nicht so leicht, letztlich half mir diese Anleitung hier.

Im Ergebnis habe ich jetzt einen leichtfüßigen Windows-Server, der nur als Hypervisor arbeitet. Und darin kann ich beliebig viele VMs anlegen. Cool. Ach ja: Ubuntu 18.04 hat ein paar Neuerungen, die echt lästig sind und die zuvor schonmal besser liefen. Erstaunlich. Letztlich arbeite ich jetzt mit X2Go und hole mir das Fenster von phpStorm direkt als Windows-Fenster rüber, also ohne Linux-Desktop in einem Fenster und darin dann phpStorm. Linux ist, was Remotearbeit angeht, echt weiter von RDP unter Windows entfernt, als jemals zuvor. Denn Microsoft hat das echt im Griff, das funktioniert flüssig und gut. X2Go ist auf meinem 4K-Bildschirm etwas unscharf, aber läuft sonst prima.

Nachtrag 23.04.2020: Ich dachte zwischendurch, dass ich das Kennwort zum Hyper-V-Server vergessen habe, aber heute war ich mir doch plötzlich ganz sicher, dass Benutzername und Kennwort identisch mit meinem Arbeitsrechner sind (alles andere hätte ich im Passwortmanager notiert). Stellt sich raus, dass beim Hyper-V-Server auch ohne Domänenmitgliedschaft die Kennwörter nach ein paar Wochen ablaufen und man sich remote nicht mehr einloggen kann. Also Monitor und Tastatur unter den Arm klemmen und in den Keller herabsteigen, um mich lokal an der Maschine einzuloggen und das Kennwort zu ändern. Damit das nicht wieder passiert, habe ich für alle Accounts das Ablaufen der Kennwörter rigiris deaktiviert. Nach einigem Herumgesuche habe ich einen einfachen Befehl dafür gefunden: WMIC USERACCOUNT SET PasswordExpires=FALSE und schon ist Schluss mit ablaufenden Kennwörtern. Überprüfen kann man das übrigens flott mit net user Benutzername. Erkenntnis: Ich musste seit anderthalb Jahren nicht an den Hypervisor ran, das ist genau das, was ich haben wollte. Und jetzt gehe ich da auch nur dran, weil ich einen Prüfpunkt vor einem Ubuntu-Upgrade auf 20.04 LTS haben wollte.

Nächstes Projekt: Einen Hyper-V-Wirt von Intel auf AMD umziehen

An anderer Stelle musste ein Windows-Server 2012 R2 aufgebohrt werden, weil er neuerdings sich selber (vorwiegend Dateidienste und eine sehr große PostgresSQL Datenbank) und zwei statt zuvor nur einer dicken Windows-10-Desktop-VM stemmen muss. Also weg mit dem Intel Core-i5-Vierkerner aus der 4. Generation und her mit dem AMD Ryzen 2700X mit acht Kernen, 16 Threads und dazu 32GB Arbeitsspeicher. Das sollte reichen. So viele Threads liefert Intel nur in absurd viel teuer und Spectre habe ich nicht ganz vergessen. Also AMD. Image von der System-SSD gemacht, Teile getauscht, Image auf die neue SSD eingespielt, gestartet, läuft auf Anhieb. Sehr cool. Also weg mit den Intel-Treiberresten und her mit den AMD-Treibern. Alles soweit keine Herausforderung, hat etwa zwei Stunden gedauert, wobei die Imagehantiererei fast die gesamte Zeit in Anspruch genommen hat. Alles hätte gut sein können: Aufräumen, nach Hause fahren, das Leben genießen.

Doch dann: In den Hyper-V-Gästen läuft keine 32-Software mehr. Also gar nicht, es passiert einfach nichts, wenn man sie startet. Ach so: Die Windows Problemberichterstattung öffnet einen Thread im Taskmamager, der sich aber nicht zeigt. Man kann dann dabei zusehen, wie von diesem Threads mehrere pro Sekunde spawnen. Aber sonst passiert nichts. Das Internet war nicht hilfreich, scheinbar ist das noch niemandem passiert. Was übrigens nicht half, war Hyper-V zu deinstallieren und neu aufsetzen, dann die Images der alten VMs an frische VMs anzubinden. Die VMs waren auch nicht kaputtgegangen, denn testweise auf einen Intel-Desktop gezogen und dort gestartet lief alles unauffällig. Auch testweise in VirtualBox gestartet lief alles unauffällig. Im Internet hatte ich bei einem ganz anderen Problem einen Screenshot gesehen mit einem Schalter "Zu einem physischen Computer mit einer anderen Prozessorversion migrieren". Klingt nicht schlecht, aber dieser Schalter war im Hyper-V von 2012 R2 nicht mehr an der Stelle wie im Screenshot von 2008 zu finden. Also dachte ich naiverweise, dass Microsoft auf den Trichter gekommen ist, dass man den nicht braucht, denn andere Virtualisierungslösungen brauchen sowas auch nicht und mir ist auch nicht klar, was er bewirkt. Immerhin habe ich Hyper-V frisch installiert und die VMs frisch aufgesetzt und nur die Images übernommen. Was macht dieser Schalter also magisches? Aber sei es drum, der Schalter ist bloß in ein Untermenü gerutscht und wenn man den setzt, ist alles wieder gut.

So werden aus zwei flotten Stündchen dann zehn sehr quälende. Denn das alles muss man ja erstmal herausfinden, verstehen und ganz viel herumprobieren. Und ganz ehrlich: Eigentlich virtualisiert man Systeme, damit genau sowas nicht passiert. Dass man zwischen Intel und AMD wegen abweichender Virtualisierungsfeatures keine Livemigrationen fahren kann, ist nachvollziehbar. Aber dass man einen Schalter braucht, wenn man eine VM offline auf einen anderen Wirt umzieht, ist alles andere als Nachvollziehbar.

Ist Hyper-V also doof? Eigentlich nicht, denn letztlich ist es übersichtlich und funktioniert hervorragend.

Ist AMD doof? Nö. Die VMs rennen jetzt dermaßen flott, dass es eine Freude ist. Und das auf einem Prozessor der 300-Euro-Klasse. Dazu nochmal 300 Euro für schön viel schnellen Speicher, rund 100 Euro für das Board, nochmal 300 Euro für eine schöne große NVMe-SSD und leider eine Grafikkarte, die nichts anderes tut, als den Rechner booten zu lassen und sonst nur Strom zu verbrauchen. Dass AMD bei den größeren Ryzen keine Grafikeinheit einbaut, nervt echt ziemlich. Bei dem Budget hat man bei Intel gerade erst den Prozessor gekauft, wenn überhaupt. Hatte ich erwähnt, dass diese acht Kerne wirklich ziemlich flott sind, wobei ich jeder VM 8GB Speicher und vier von den 16 Threads spendiert habe. Und wem das nicht reicht, der kann sich ja einen Threadripper hinstellen, noch mehr Speicher reinpacken und noch viel mehr VMs betreiben. Und dabei immer noch überschaubar im Preis bleiben (aktuell rund 900€ für 16 Kerne und 1800 für 32 Kerne, also 64 Threads). In Kürze kommen aber auch bei Intel acht Kerne und 16 Threads in der Consumerplattform, dann werden die Karten neu gemischt, vor allem weil Intel eine Grafikeinheit mitbringt. Da muss man nur aufpassen, keinen Intel-Netzwerkchip auf dem Board zu haben, für den es offiziell keine Servertreiber gibt. Das ist nämlich ein blödes Gefummel, die Treiber auf den Server zu bringen, ganz besonders, wenn man keine grafische Oberfläche hat. Mit den Reaktek-Chips gibt es kein Gefummel, die erkennt der Windows Server einfach und gut ist.

Noch keine Kommentare

Die Kommentarfunktion wurde vom Besitzer dieses Blogs in diesem Eintrag deaktiviert.