Wie wichtig es ist Software oder Installationen unter verschieden Windows Versionen oder Konstellationen zu testen zeigt aktuell das Negativbeispiel Falcon von Crowdstrike.
Aber auch viele andere Anbieter, quer durch alle Betriebssysteme haben allein in diesem Jahr, das eine oder andere Update verpatzt. Ein kleines Beispiel, im Zuge der Virtualisierung, wurde zum Testen Linux Mint auf einer VM installiert und bereits das erste Update hat das System zerschossen, so das keine weiteren Updates möglich waren. Ein Linux-Fachmann hätte dies in wenigen Minuten bereinigen können, ein normaler Anwender schaut das Produkt wahrscheinlich nie wieder an.
Einfach zu sagen, es handelt sich um ein fehlerhaftes Update ist eine schwache Erklärung, vor allem wenn es sich wie bei Falcon um hochbezahlte, sicherheitskritische Software handelt. Häufig liegt der Fehler aber nicht in den fehlenden Möglichkeiten, sondern eher im Management, welches am falschen Ende spart, sei es an Zeit oder Man-Power.
Stellen Sie sich nun vor, dieses Produkt ist ihres, und der Anwender hat die oben genannte Probleme mit Ihrer Software.
Das man systemkritische Komponenten nicht einfach ungetestet auf Produktivsystemen ausrollen sollte, steht dabei natürlich auf einem ganz anderen Blatt.
Dabei können Tests, ob eine Software unter verschiedenen Systemen läuft, heutzutage sehr leicht vollzogen werden. Die Zeiten, in denen ein realer PC von Nöten war, sind lange vorbei. Seit Jahren werden viele Server nur noch virtuell betrieben und das gleiche System kann natürlich für Software- und Deployment-Tests genutzt werden.
Also eine Software, die es gestattet ein anderes Betriebssystem (Gast) auf dem eigenen (Wirt) System auszuführen. Dies kann unter Windows die gleiche Windows Version aber eine andere oder gar ein Linux sein.
Hier gibt es einige kostenlose Produkte, die dieses sehr einfach ermöglichen. Dabei muss man allerdings ein paar Dinge beachten, doch dazu später.
Im Zuge einiger Umstellungen haben wir uns mit einigen Virtualisierungslösungen befasst und ich gehe im Folgenden näher auf Proxmox, VMWare, VirualBox, Windows Sandbox und Hyper-V ein. Die eben genannten Produkte können kostenlos verwendet werden.
Alle gemeinsam haben, dass das System über genügen RAM-Speicher verfügen sollte, Speicher geht mMn über CPU. 16 GB sind die unterste Grenze, 32 besser 64 GB sollten es eher sein. Soll es noch mehr sein, muss die CPU das natürlich auch unterstützen.
Für ein flüssiges Arbeiten sind weiterhin schnelle Speichermedien wie SSD oder besser NVMe nötig. Erst dann kommt die CPU-Performance, eine einigermaßen schnelle CPU macht das Arbeiten natürlich durchaus angenehmer.
Für so ein System kann man im kleinen Rahmen einen Desktop-PC, ein Server oder ein Mini-PC benutzen.
Steht dieses System in einem Serverraum oder abseits des Büros, muss sich über die Geräusch-Entwicklung keine Gedanken gemacht werden, soll das System aber auf dem Schreibtisch oder darunter stehen schon.
Lüfterlos wäre also wünschenswert, doch lässt sich diese selten mit vernünftiger Leistung verbinden. Aktuelle Mini-PCs werden gerne mit leise oder geräuscharm beworben, doch jeder Mensch empfindet dieses natürlich anders.
Ein Mac- oder Linux Benutzer wird wahrscheinlich bei gängigen Windows-PCs Reißaus nehmen. Erst recht in einem Büro mit mehreren Mitarbeitern, ohne Serverraum sollte diese also beachtet werden.
Für das System wünschenswert sind mindestens 2,5Gbit-Lan Anbindung, besser 10Gbit, was aber im Betrieb auch wieder mehr Wärme produziert, die gekühlt werden will.
Vorweg, wenn es zu Problemen kam, wurde von vorne begonnen, sprich eine neue VM angelegt und Windows neuinstalliert etc. schlicht, um Konfigurations- oder Bedienungsfehler auszuschließen. Kam es dabei zum gleichen Resultat, wurde das Produkt verworfen.
Ziel war es, die VMs zum Testen auf ein schnellers System zu transferieren, welches von unterschiedlichen Clients angesprochen werden kann, Desktops-PC aufzulösen und durch Notebooks zu ersetzen und dabei die komplette Entwicklungsumgeben in einer VM laufen zu lassen.
Diese sollte die Einrichtungszeit bei neuer Hardware deutlich verkürzen und somit einen schnelleren Umzug gemöglichen. Weiterhin eine komplette Verschlüsselung aller Laufwerke per Bitlocker oder Linux-Lösungen, gekoppelt mit mehrstufigen Backups. Durch die Teilung in Windows und Linux sowie Passkey bzw. Biometrie sollte das Ganze besser abgesichert werden.
Proxmox:
Dieses System läuft auf einem Debian Linux und ermöglicht es, virtuelle Maschinen anzulegen, diese mit Firewall-Regeln zu sichern, Snapshots zu erstellen, automatische Backups einzurichten und USB direkt durchzureichen, ist kostenlos und die Einrichtung ist kinderleicht, auch ohne Linux -Erfahrung.
So können in einer VM ein NAS laufen, welches Storage für VMs und Client-Computer bereitstellt und mehrere weitere virtuelle Test-Maschinen gleichzeitig betrieben werden.
Das Aufwachen oder Rebooten ist auf einem aktuellen System mit NVMe sehr schnell.
Durch Snapshots kann ein zerschossenes System einfach wiederhergestellt werden, ohne eine langwierige Windows-Reparatur zu starten. Von Snapshots sollte man nach jedem Einrichtungsschritt einer VM auch gebrauch machen. So kann man leicht dahin zurückkehren, wenn bei einem anderen Einrichtungsschritt etwas schiefläuft und muss nicht ganz von vorn anfangen. Dieses gilt auch für alle anderen Virtualisierungslösungen.
Proxmox, braucht im normalen Betrieb kaum CPU-Power, einzig bei Backups oder wenn eine Windows VM anläuft, treibt die CPU-Last nach oben.
Getestet auf: Intel Core i9-12900H, 32 GB RAM, 1+4 TB-NVMe (keine Probleme, sehr zufrieden).
VMware (Workstation) ist inzwischen kostenlos. Wir hatten Windows Workstation seit Version 7 im Einsatz. Allerdings wurde diese trotz aktualisierter Hardware über die Jahre von Version zu Version spürbar langsamer. Dies betraf den Start, Snapshots erstellen, von Snapshots starten und das Defragmentieren und das Beenden, wenn ein System ein paar Mal zurückgerollt wurde. Bei der Programmierung per API gab es massive Memory Leaks, wenn man da jetzt Rückschlüsse auf die gesamte Software schließt, wundern das nicht. Aber das ist die persönliche Meinung als Anwender und Entwickler.
Mit neuer Hardware kommt VMware scheinbar nicht so gut klar. Auf einem Intel Core Ultra 9 185H stürzte VMware nach dem Einspielen der Gasttreiber mit einem Bluescreen ab. Auch lief die Software auf diesem System sehr träge. Scherzhaft wurde auf dem alten System (i7) schon immer davon gesprochen, dass VMware nach jedem Befehl ein Sleep(1) ausführt, doch damit das sich diese Software auf einem 185H mit schneller NVMe (6700 Mb/s) anfühlt, als würde man mit einer Datasette an einem C64 sitzen, hat keiner gerechnet. VMware Workstation 17.5.x ist offensichtlich noch nicht bereit für den Intel Core Ultra 9. Auf dem i7 ließ sich passabel arbeiten.
Getestet auf: Intel Core Ultra 9 185H, 32 GB RAM, NVMe (Bluescreen nach Gasttreibern).
Getestet auf Intel Core i7 6800k, 24 GB RAM, SSD, HDD (läuft, aber träge).
VirtualBox:
Windows Installieren, Windows Updates liefen auf dem 185H-System nur wenige langsamer als auf dem Host und die Software machte nach dem anfänglichen Missmut bei der Installation (eine Installation abweichend von C ist nicht möglich) einen passablen Eindruck. Es kam nach dem Windows Update und Neustart zu einem hängenbleiben, was aber durch einen Reset behoben werden konnte. Doch das System stand die ganze Zeit nahezu unter Volllast.
Alle zugeteilten Kerne liefen bis zum Anschlag und auch der Host erreichte 50-80% Auslastung. Nach dem Einspielen der Gast-Treiber war allerdings Schluss mit Lustig. Das System hing beim Booten fest und sank nach kurzer Zeit auf 0% Auslastung. Die Version 7.0.20 kommt offenbar mit dem Intel Core Ultra 9 185H noch nicht klar. Aufgrund der Volllast und des Absturzes beim Booten wurden keine weiteren Tests durchgeführt und auch die Installation auf einem anderen System verworfen.
Getestet auf: Intel Core Ultra 9 185H, 32 GB RAM, NVMe (Stürzt beim Booten nach Gasttreibern ab).
Windows Sandbox:
Dies ist mMn eines der besten Features in Windows. Es ermöglicht zwar keine Snapshots oder andere Systeme als das Host-System, ist dafür aber rasend schnell verfügbar und ermöglich bequemes Testen in begrenztem Umfang, ohne weitere Windows Lizenz oder Windows Installation. Bedingung ist Windows Pro und eine Aktivierung in den Windows Features. Automatisierte Tests lassen sich hiermit am einfachsten Realisieren.
Getestet auf: Intel Core Ultra 9 185H, 32 GB RAM, NVMe (Keine Probleme).
Getestet auf Intel Core i7 6800k, 24 GB RAM, SSD, HDD (Keine Probleme).
Getestet auf AMD Ryzen 9 5950x, 32 GB RAM, SSD, HDD (Keine Probleme).
Hyper-V:
Ebenfalls in den Windows Features aktivierbar, verhält sich diese wie die voran gegangen VM-Lösungen. Snapshot, mehre VM gleichzeitig, unterschiedliche Systeme. Von der Performance unterscheidet es sich kaum vom Host, die CPU-Last ist normal und richtet sich nach dem Konsum der VMs. Hyper-V ist grob mit Proxmox vergleichbar, kann aber im Gegensatz dazu auf einem Windows-Host betrieben werden.
Backups bei laufenden VM wurde nicht getestet, aber im heruntergefahrenen Zustand können diese einfach exportiert oder die gesamten Verzeichnisstruktur gesichert werden. Das Arbeiten in der VM verursachten anfänglich etwas Verwunderung, warum einige Programmstart so langsam waren, die Ursache war aber schnell im Defender gefunden. Nachdem der Cloud-Zirkus deaktiviert wurde, lief das System so schnell wie der Host. Auch mehrere Neustarts und Gasterweiterung hat das System, im Gegensatz zu VMware und VirtualBox überstanden. Neben Windows Sandbox und Proxmox also ein System, in dem am vernünftig arbeiten könnte.
Getestet auf: Intel Core Ultra 9 185H, 32 GB RAM, NVMe (Keine Probleme).
Getestet auf Intel Core i7 6800K, 24 GB RAM, SSD, HDD (Keine Probleme).
Fazit:
Auf unterstützter (älterer) Hardware sind VMware und VirtualBox eine Möglichkeit, aber bei weitem nicht die beste Alternative. Möglicherweise haben Sie andere Erfahrung, als Autor kann ich aber nur von den bei uns getestet Hardware reden.
Die anderen genannten Systeme sind uneingeschränkt empfehlenswert. Windows Sandbox eignet sich hervorragend zum Testen von Installationsabläufen oder RePaketierung, ermöglicht aber keine anderen Systeme als der Host und keine Reboots oder Snapshots.
Hyper-V, es gab hier keinerlei Probleme mit der relativ neuen CPU und der verbauten Hardware. Mehrere Systeme werden unterstützt und es kann direkt unter Windows betrieben werden. Benötigt aber wie Windows Sandbox eine Windows Pro.
Proxmox, eignet sich zu so viel mehr als nur das Testen von Software, hat aber noch einen weiteren Vorteil. Es ist nicht von Microsoft, welche gerne mal Dinge abkündigen oder in andere Lizenz verlagern oder mal schlicht die Preise um mehr als 100% anheben. Auf lange Sicht ist Proxmox vielleicht sicherer, was die Verfügbarkeit betrifft.
Mit den genannten Lösungen ist ein Testen der Software oder des Deployment auf jeden Fall sehr einfach möglich. Durch Snapshots haben Sie die Möglichkeit, verschiedene Testszenarien anzulegen und bequem dahin zurückzukehren.
Für welche Lösung man sich am Ende entscheidet ist jedem Unternehmen oder jeder Person überlassen.
Softwaretests in virtuellen Maschinen
-
- Administrator
- Beiträge: 1092
- Registriert: 29.02.2004, 15:51
- Wohnort: Hamburg
- Kontaktdaten:
Softwaretests in virtuellen Maschinen
Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
AKApplications, Andreas Kapust