Dynamic Memory richtig einsetzen und konfigurieren

Hat etwas lange gedauert, bis ich diesen Artikel fertig hatte, aber Gut Ding braucht Weile. Ich habe letztens unseren Hyper-V Cluster vollständig mit Dynamic Memory konfiguriert, die Hosts mit ausreichend Memory Reserve ausgestattet und mich erkundigt welche Software überhaupt Dynamic Memory unterstützt.

In diesem Artikel habe ich euch erklärt, wie der Cluster mit SP1 aktualisiert wird, und welche Voraussetzungen für Dynamic Memory geschaffen werden müssen. Jetzt können wir unsere Hosts und VMs konfigurieren. Arbeiten wir uns von untern nach oben durch, also beginnen wir bei den VM Hosts.

VM Host für Dynamic Memory vorbereiten

Hier gibt es 2 Dinge zu beachten, einmal die RAM Reserve und das Pagefile.

Memory Reserve konfiguriert einen RAM Wert, der nur für den Host bereitsteht und nicht an die VMs übergeben wird, gerade bei Dynamic Memery kann dies schnell passieren, das der ganze, verfügbare RAM an die VMs verteilt wird, und der Host somit ohne Speicher da steht. Dieser Engpass würde dann zu einigen Performance Problemen führen, die wahrscheinlich nicht auf den ersten Blick erkennbar wären.

Also reservieren wir auf unseren Host etwas RAM, damit wir dieses Problem gleich im Vorhinein umgehen. Bei den meisten sollten 2GB ausreichend sein, wer mehr benötigt kann auch 4GB nehmen. Dies hängt von einigen Faktoren ab.

  • Wie viele VMs werden auf dem Host ausgeführt
  • Welche Agents sind auf dem Host installiert (SCDPM, SCCM, Forefront…)
  • Drittanbieter Software?
Michel Lüscher hat hier noch ein paar interessante Punkt aufgelistet – http://www.server-talk.eu/2011/01/31/wie-viel-virtual-memory-braucht-ein-hyper-v-host/

Ihr könnt die Memory Reserve über die Registry einstellen, und zwar unter folgendem Schlüssel:

HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Virtualization

Einen DWORD Key mit dem Namen RootMemoryReserve (Windows Server 2008) oder MemoryReserve (Windows Server 2008 R2) erstellen und als Wert 2048 (Decimal) eingeben. Nach einem Neustart sollten die 2GB für das System reserviert sein.

Pagefile sollte jedem bekannt sein, ist auch als Auslagerungsdatei bekannt und sollte laut einigen Angaben das 1 1/2 fache des physischen RAMs betragen.

Ist diese Regel auch für einen Hyper-V Host gültig? Nein, den dann würde ein Host mit 128GB RAM eine grosse HDD benötigen. Da ja der meiste RAM an die VMs weitergegeben wird, können wir uns hier an der Memory Reserve orientieren. Nehmt als Startwert den reservierten Speicher wie oben beschrieben, und davon das 1 1/2 fache.

Solltet ihr keine Platzprobleme haben, überlasst einfach Windows die Einteilung der Pagefile, dann müsst ihr euch nicht darum kümmern.

Nachdem der Host versorgt ist, können wir nun Dynamic Memory in unseren VMs konfigurieren. Ich erläutere jetzt meine Erfahrungen,  Informationen und Empfehlungen bzgl. Dynamic Memory im Einsatz mit unterschiedlichen Produkten. Zum Schluss bekommt ihr eine Aufstellung, wie ich unsere VMs konfiguriert habe.

Dynamic Memory und Exchange Server

Da kommen wir gleich zur ersten Enttäuschung, Microsoft empfiehlt bei Exchange auf Dynamic Memory zu verzichten! Aber eines Vorweg, Exchange ist hier eine Ausnahme. Laut eigenen Aussagen von Microsoft, soll aus Performance- und Stabilitätsgründen auf Dynamic Memory in Verbindung mit Exchange verzichtet werden. Somit wird hier der Rat gegebn, den Arbeitsspeicher auf einen fixen Wert zu stellen.

Einige Infos dazu findet ihr in den folgenden Artikeln:

http://www.hyper-v.nu/archives/jaapwess/2011/04/exchange-server-2010-and-dynamic-memory/
http://www.aidanfinn.com/?p=11239
http://www.beingexchanged.com/mainblog/?p=216

Dynamic Memory und SQL

Dynamic Memory in Verbindung mit SQL Server 2005 und 2008 und 2008 R2 wird seitens Microsoft unterstützt, jedoch gibt es Unterschiede bei den einzelnen Versionen. Das Zauberwort heisst „HotAdd“ und betitelt eine Funktion von SQL, die dafür zuständig ist, dem SQL Server zusätzlichenRAM zur Verfügung zu stellen, und das im Betrieb.

Die Standard Version von SQL beinhaltet die HotAdd Funktion nicht, und kann somit nur den RAM ansprechen, der beim Start des SQL Dienstes zur Verfügung steht. Somit macht auch Dynamic Memeory in diesem Szenario wenig Sinn.

Wer also Dynamic Memory und SQL sinnvoll einsetzen möchte, sollte auf die Enterprise oder Datacenter Version setzen. Mit der nächsten Version SQL Denali, ist diese Funktion allerdings auch in der Standard Version enthalten.

Als Startup RAM wird beim SQL ein Wert von 1024, und der Speicherpuffer mit 5% empfohlen.

Dynamic Memory und Sharepoint

Hier gibt es leider noch keine Aussage des Sharepoint Teams, weder dafür noch dagegen. Es gibt aber einige Berichte im Internet die Dynamic Memory in Verbindung mit Sharepoint erfolgreich einsetzen, somit habe ich das auch gemacht. Abgesehen davon, das eventuell am Sharepoint auch der SQL läuft, habe ich auch hier den Startup RAM auf 1024  gestellt, jedoch den Speicherpuffer auf 10%

Windows Server und Dynamic Memory

Die restlichen Server (AD Server, DNS, Print, Admin…) habe ich nach den Empfehlungen von Microsoft konfiguriert,also mit einem Startup RAM von 512, jedoch den Speicherpuffer auf 10%. Aber ich zeige euch einfach meine Liste mit Servern und der Konfiguration.

Serverfunktionen: StartupRAM / Maximum RAM / Speicherpuffer
Active Directory Server: 512 / 2048 / 10
CRM Server mit SQL: 1024 / 4096 / 10
Sharepoint mit SQL; 1024 / 4096 / 10
RDP Server: 512 / 2048 / 10
Test SQL Server: 1024 / 4096 / 5
Navision Server mit SQL: 1024 / 4096 / 5
Exchange Server:  6144 / — / —
WSUS mit SQL: 1024 / 2048 / 5

Dies ist meine aktuelle Konfiguration, diese basiert auf Informationen von Microsoft und meinen Erfahrungen, also keine Richtlinie. Die Gewichtung habe ich nur bei sehr unwichtigen Maschinen auf sehr gering gestellt, alle anderen habe ich beim Standard belassen.

Viel Spaß beim konfigurieren von Dynamic Memory

Michael Seidl

 

 

4 comments to Dynamic Memory richtig einsetzen und konfigurieren

  • Hallo Michael Seidl,

    toller Artikel, kann dir nur Zustimmen mit deiner Konfiguration, mache es fast identisch. Nur der SQL Server hat bei uns einen fixen Speicher zugewiesen bekommen, die HotAdd Funktion kannte ich bis jetzt noch nicht, da werde ich mich morgen noch mal genauer informieren. :-)

    Viele Grüße

    Helmut Thurnhofer

  • Hallo Helmut,

    Danke für das Lob, ja die HotAdd Funktion habe ich auch erste vor kurzem kennen gelernt, was so kleine Features ausmachen können…

    Vg
    Michael Seidl

    PS: deine Bilder gefallen mir sehr gut, besonders „in the Street“

  • Hallo Michael,

    auch ich sag Danke fürs Lob, freut mich wenn dir meine Bilder gefallen. Sollte ich noch fragen haben, melde ich mich noch mal. :-)

    Gruß Helmut

  • […] Dynamic Memory richtig einsetzen und konfigurieren » TechGuy22. Aug. 2011 … Helmut Thurnhofer. Michael Seidl · 22. August 2011 at 23:38. Hallo Helmut,. Danke für das Lob, ja die HotAdd Funktion habe ich auch erste vor … […]

Leave a Reply

  

  

  

*