Jump to content
wznutzer

Windows 10 1903 Gast auf Host 2012 R2

Recommended Posts

Hallo,

 

wir haben etwas ähnliches hier schon einmal diskutiert: 

Da Windows 10 pauschal in der Kompatibilitätsliste genannt wird, habe ich das mal getestet. Eine VM mit W10 1903 und einem SQL-Server 2017 liefert auf einem W2K12R2 Host extrem schlechte Abfrageergebnisse (Performance). Mit einem Windows Server 2019 habe ich das bereits mal gestestet. Da ist es ähnlich schlecht, aber Server 2019 auf einem W2K12R2 Host wird ohnehin nicht supportet.

 

Kennt jemand eine Lösung für das Performance-Problem (Guest W10 1903 - Host W2K12R2)? Es könnte aber auch schlicht ein Kompatibilitätsproblem sein, auch wenn MS Windows 10 aufführt.

 

Auf dem Host Server 2019 zu installieren ist leider nicht möglich, weil der Hersteller "nur" bis Server 2016 supportet. Also müsste ein neuer Server her.

 

Danke

 

Share this post


Link to post
Share on other sites

Liefert denn die Hardware des Hosts die nötige Performance? Wie hast du das vorher geprüft/sichergestellt? 

Share this post


Link to post
Share on other sites
vor 16 Stunden schrieb MurdocX:

Liefert denn die Hardware des Hosts die nötige Performance? Wie hast du das vorher geprüft/sichergestellt? 

Die getesteten Abläufe sind in einer Windows 7 VM oder W2K12R2 VM ca. 8 - 10 x so schnell. Getestet mit einem selbst geschriebenen Benchmark der die Anforderungen an den SQL-Server abbildet. Auch habe ich das schon einmal mit einem anderen Host verifiziert. Diesen Host habe ich auf Server 2019 upgedatet und hinterher die gleiche VM mit Windows 10 1903 laufen lassen und ein ähnliches Ergebnis gehabt. Die Ergebnisse sind gleich einer VM mit Server 2019. Aber da ist es erklärbar, weil dieser ja auch nicht auf der Kompatibilitätsliste bei einem W2K12R2 Host aufgeführt ist.

 

Es sieht so aus als ob die Kompatibilitätsliste von Microsoft schlicht falsch ist. Windows 10 1903 mit einem installierten SQL-Server läuft auf einem W2K12R2 Host nicht rund. Ob es nur mit dem SQL-Server zusammenhängt kann ich nicht sagen. Derzeit muss man aber davon ausgehen, dass wenn ein Server 2019 nicht supportet ist, auch ein Windows 10 1903 nicht sauber läuft. Ich wollte Erfahrungen abfragen die mir evtl. eine Lösung aufzeigen können, ohne alle Hosts auf Server 2019 upzugraden.

 

Danke

Share this post


Link to post
Share on other sites

Ohne jetzt auf deinen Post detailliert einzugehen, möchte ich Dir einen Artikel von Microsoft zeigen. Als Themengebiete könnten für Dich NUMA und die BlockSize interessant sein.

 

Microsoft Docs | Hyper-V-Speicher-e/a-Leistung

https://docs.microsoft.com/de-de/windows-server/administration/performance-tuning/role/hyper-v-server/storage-io-performance

 

 

Share this post


Link to post
Share on other sites
vor 23 Stunden schrieb MurdocX:

Ohne jetzt auf deinen Post detailliert einzugehen, möchte ich Dir einen Artikel von Microsoft zeigen. Als Themengebiete könnten für Dich NUMA und die BlockSize interessant sein.

Microsoft Docs | Hyper-V-Speicher-e/a-Leistung

https://docs.microsoft.com/de-de/windows-server/administration/performance-tuning/role/hyper-v-server/storage-io-performance

Die Blocksize hat, in den mir bekannten Umgebungen, einen eher weniger großen bis gar keinen Einfluss beim SQL-Server. Getestet habe ich aber mit 64K. Das darunter liegende Storage war beim Test ein Lenovo IO3 Flash Adapter. Daran dürfte es eher nicht liegen, der ist flott. Beim SQL-Server gibt es auch unterschiedliche Empfehlungen dazu. Ob 4K, 8K, 64K wenn man am Limit unterwegs ist, mag das etwas bringen. Meiner Erfahrung nach lohnt sich der Blick darauf meist nicht.

 

NUMA habe ich mir schon angesehen, aber auch hier musste ich die Erfahrung machen, dass man mit den Standardeinstellungen (also mit denen wenn man gar nichts macht) nichts falsch macht. Das mag bei VMs mit dynamischen RAM und die zwischen Hosts hin und hergeschoben werden anders sein. Aber ich nutze statischen RAM, die CPUs sind nicht überbucht und das beschriebene Verhalten tritt auch auf wenn die VM alleine auf dem Host läuft.

 

Meine Erfahrungen entstammen alle aus "nicht-Enterprise wir haben tausende Clients" Umgebungen. Da mag es anders sein, da weiß ich nichts drüber zu sagen.

 

Grüße

Share this post


Link to post
Share on other sites

Moin,

 

man verwechsle die Support-Statements nicht mit einer "Kompatibilitätsliste" und deute vor allem keine Aussage à la "läuft in jedem Szenario bestens" dort hinein. Die Supportliste heißt: Grundsätzlich gewährt Microsoft für diese Kombination Unterstützung bei Problemen. Die Abgrenzung ist: Steht ein System nicht auf der Supportliste, dann wird Microsoft den Support ablehnen, entweder sofort und komplett oder nach kurzer Zeit - egal, ob das konkrete Problem mit dem nicht unterstützten Systemteil zu tun hat. Und "Support" heißt wiederum nicht, dass jedes mögliche Problem aus der Welt zu schaffen wäre.

 

Performanceprobleme sind in komplexen Umgebungen leider immer sehr schwer zu greifen. Man muss abwägen, was der sinnvollere Weg ist - viel Aufwand in die Analyse stecken, um möglicherweise dann den entscheidenden Splitter zu finden, den man ziehen kann. Oder rechtzeitig nach Alternativen suchen.

 

Was du an Beobachtungen anführst, legt in der Tat die Vermutung nahe, dass hier im Gesamtstack irgendwas klemmt. Viel mehr kann man aber nicht sagen, man kann auch keine allgemeinen Aussagen ableiten, ob sich das auf allen ähnlich installierten Systemen so verhalten würde. Untergekommen ist es mir bislang noch nicht, aber das liegt auch daran, dass die Kombination Host 2012 und VM Win10 eher selten ist.

 

Wo ich dir zustimme: Die Blocksize im Dateisystem wird erst in High-Performance-Umgebungen relevant, die in Grenzbereichen laufen. Ungünstige NUMA-Konfiguration könnte hingegen durchaus Auswirkungen haben, und da wäre möglicherweise auch ein Zusammenhang zu Windows 10, das sicher in einer VM anders auf NUMA reagiert als das gut abgehangene Windows 7.

 

Gruß, Nils

 

Edited by NilsK

Share this post


Link to post
Share on other sites

Welche Version hat der SQL Server 2017? SELECT @@VERSION in einer Abfrage auf dem SQL eingeben und mit F5 od. STRG + R ausführen lassen.

Share this post


Link to post
Share on other sites
Am 2.8.2019 um 11:59 schrieb Sunny61:

Welche Version hat der SQL Server 2017? SELECT @@VERSION in einer Abfrage auf dem SQL eingeben und mit F5 od. STRG + R ausführen lassen.

Microsoft SQL Server 2017 (RTM-CU14-GDR) (KB4494352) - 14.0.3103.1 (X64)   Mar 22 2019 22:33:11

 

Am 2.8.2019 um 10:39 schrieb NilsK:

Wo ich dir zustimme: Die Blocksize im Dateisystem wird erst in High-Performance-Umgebungen relevant, die in Grenzbereichen laufen. Ungünstige NUMA-Konfiguration könnte hingegen durchaus Auswirkungen haben, und da wäre möglicherweise auch ein Zusammenhang zu Windows 10, das sicher in einer VM anders auf NUMA reagiert als das gut abgehangene Windows 7.

Ich habe nun jede Menge Artikel über NUMA gelesen. Allerdings bleiben alle sehr schwammig wie den das optimal konfiguriert werden soll. Überall steht eigentlich nur, dass es sehr schwierig ist da eine optimale Konfiguration zu finden. Wenn ich allerdings das auch nur halbwegs richtig verstanden habe, dürfte eine VM mit z. B. 4 vCPUs die alleine auf einem Host läuft dessen CPU 8 Kerne hat mit NUMA nicht viel am Hut haben. Jedenfalls nicht so, dass das so signifikat relevant für die Performance ist.

 

Ich konnte dieses Verhalten auch bereits auf zwei verschiedenen Hosts mit zwei verschiedenen VMs nachvollziehen.

 

Ich werde mal noch ein paar Performance-Tests unabhängig vom SQL-Server durchführen. Evtl. zeigt sich da eine Auffälligkeit. Für das Storage nehme ich gerne Diskspd, für den Rest bisher Passmark. 

 

Eine Win 8.1 VM läuft performant. Das wäre dann auch der Plan B.

 

Danke und Grüße

Share this post


Link to post
Share on other sites

Wenn Du mal was zu Deiner Hardware und der Konfiguration der VMs schreiben würdest, könnten wir vielleicht helfen. So leider nicht...

Share this post


Link to post
Share on other sites

Moin,

 

wieso läuft der SQL Server überhaupt unter einem Client-Betriebssystem? Du weißt, dass das nur in sehr engen Grenzen lizenzrechtlich zulässig ist?

 

Gruß, Nils

 

Share this post


Link to post
Share on other sites
vor 3 Minuten schrieb zahni:

Wenn Du mal was zu Deiner Hardware und der Konfiguration der VMs schreiben würdest, könnten wir vielleicht helfen. So leider nicht...

Ich bin davon ausgegangen, dass das Problem nicht auf die Hardware zurückzuführen ist, weil ich das auf zwei völlig unterschiedlichen Systemen nachvollziehen kann.

 

Lenovo x3650 M5, alle Treiber, UEFI usw. aktuell

Windows Server W2K12K2, Hyper-V Host, alle Updates

192 GB RAM, 2 x CPU Xeon E52640 v3 2,6 GHz 8 Core

4 x Intel X540T2 10 GB-Ethernet, 6 x Broadcom 1 GB-Ethernet

ServeRaid M5210 mit 2 x 250 GB SSD (OS) Raid 1 und 8 x 1 TB SSD (VMs) 2 x Raid 10

1 x Lenovo IO3 Flash Adapter mit 1,6 TB

 

Die Konfiguration der VM ist "Installation einfach durchgeklickt" sowohl OS als auch SQL-Server. Nichts aber auch wirklich keine "speziellen" Einstellungen. Die VM nutzt vhdx (statisch), 4 vCPUs, 1 x vhdx für OS, 1 x vhdx für die DB. W7 VM Generation 1, W10 Generation 2. Ups, da fällt mir auf, vielleicht sollte ich mal Generation 1 bei W10 versuchen.

 

Grüße

Share this post


Link to post
Share on other sites

Der die Ram-Größe erscheint mir etwas seltsam. Wie sind die RAM-Bänke bestückt? Jede CPU hat 12 DIMM-Slots. Wie sind die bestückt?

Jede CPU sollte exakt identisch bestückt sein.

Share this post


Link to post
Share on other sites
vor 42 Minuten schrieb NilsK:

wieso läuft der SQL Server überhaupt unter einem Client-Betriebssystem? Du weißt, dass das nur in sehr engen Grenzen lizenzrechtlich zulässig ist?

In dem vorliegenden Fall ist es eine Developer-Edition die natürlich bedingungsgemäß zur Entwicklung und Test von Software verwendet wird. Allerdings lässt sich das Verhalten auch mit Server 2019 nachvollziehen. Aber der ist ja unter einen Host 2012R2 nicht supportet.

 

Allerdings ist mir eine generelle Einschränkung, dass SQL-Server nicht auf Client-OS installiert werden darf, nicht bekannt. Wenn denn alle sonstigen Lizenzbedingungen (Cores usw.) eingehalten werden. Microsoft erlaubt das in den Anforderungen auch explizit. Nur bei SQL-Server Enterprise, Web und einigen Funktionen ist klar dokumentiert, dass Client-OS nicht kompatibel sind.

 

Viele Grüße

Share this post


Link to post
Share on other sites
vor 19 Minuten schrieb zahni:

Der die Ram-Größe erscheint mir etwas seltsam.

Ich finde das nicht ungewöhnlich.

8GB x12 Bänke = 96GB x2 CPU -> 192GB

16GB x6 Bänke = 96GB x2 CPU -> 192GB

usw.

 

Share this post


Link to post
Share on other sites

Moin,

 

dann ist es ja OK. Ich schrieb ja auch "enge Grenzen", die hältst du offenbar ein. Es war aber nicht klar, ob wir hier von produktiver Nutzung sprechen, und wir haben am Board eine Grundregel, dass wir Lizenzverstöße nicht unterstützen, daher fragen wir bei Grenzfällen schon mal nach.

 

Gruß, Nils

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


Werbepartner:



×
×
  • Create New...