Jump to content
  • entries
    56
  • comments
    190
  • views
    8770

Dynamic Memory Considerations...


Vangelis

978 views

 Share

 

Επιτέλους η RC έκδοση του Service Pack 1 έγινε RTM και τα νέα Features του Hyper V όπως το Dynamic memory και το Remote FX, από αύριο θα είναι μαζί μας. Λόγω του ότι χρησιμοποιώ τα  χαρακτηριστικά αυτά από την beta έκδοση σε συνέχεια την RC και από προχτές την RTM, έχω μάθει αρκετά πράγματα όσο αφορά την συμπεριφορά του συγκεκριμένου χαρακτηριστικού σε servers διαφορετικών ρόλων.

SP1.png?psid=1

Ας ξεκινήσουμε όμως από τα βασικά χαρακτηριστικά του Dynamic Memory αλλά και πού πρέπει να το χρησιμοποιήσουμε και με πιο τρόπο….

Το ποσοστό της  δυναμικής μνήμη ενός Virtual machine έχει να κάνει καθαρά με τα Resources που ζητάει η κάθε υπηρεσία από τον Kernel του κάθε εικονικού μηχανήματος. Ο kernel με την σειρά του απευθύνεται στο Dynamic Memory VSC (Virtual Service Client) και μέσω του VMBus καταλήγει στο VSP (Virtual Service Provider). O VSP τώρα έχει άμεση επικοινωνία με τον Memory Balancer μέσω του Memory Balancer interface, όπου και ο “IntelligentHyper V  μέσω του VID (Virtual Infrastructure Driver) απελευθερώνει ή παραδίδει memory resources στα Virtual Machines που τα έχουν ανάγκη σύμφωνα με τις τιμές και τις προτεραιότητες, που έχουμε ρυθμίσει στα settings του κάθε Virtual machine.

Από τις βασικές λεπτομέρειες όμως που πρέπει να έχουμε υπ όψιν πριν ξεκινήσουμε και βάζουμε δυναμική μνήμη στα VM μας, είναι το εάν οι υπηρεσία/ες που έχει το κάθε Virtual Machine έχει σχεδιαστεί έτσι ώστε να μπορεί να κάνει δυναμικό memory allocation και όχι να αναζητά εξ αρχής το μεγαλύτερο ποσοστό μνήμης ώστε να μπορέσει να λειτουργήσει ομαλά χωρίς προβλήματα….

Τι κάνω δηλαδή εάν σε ένα Virtual Machine  έχω SQL Server ή ακόμα και Exchange Server?

Να το ενεργοποιήσω ή όχι, τι θα γίνει? Σε Domain Controllers? Σε SharePoint farms?

Πρέπει λοιπόν να ξεκαθαρίσουμε όλες αυτές τις λεπτομέρειες, που πολλοί από εμάς δεν γνωρίζουν. Καλό θα ήταν πριν ξεκινήσουμε να κάνουμε οποιαδήποτε αλλαγή να διαβάσουμε προσεκτικά κάποια Hints (βλ. παρακάτω) πριν βρεθούμε προ εκπλήξεως.

Πριν αρχίσουμε όμως να αναλύουμε ξεχωριστά το πώς συμπεριφερόμαστε σε κάθε υπηρεσία, ας ξεκαθαρίσουμε λίγο το νέο UI (User interface) που θα δούμε μπροστά μας στην κονσόλα του Hyper V μόλις εγκαταστήσουμε το SP 1.

Πρώτα απ όλα θα δούμε μπροστά μας 3 καινούργιες στήλες…

DynRam.jpg?psid=1

ASSIGNED MEMORY

To Assigned memory αντιπροσωπεύει την φυσική μνήμη που έχει διατεθεί στο συγκεκριμένο Virtual Machine, και είναι στην ουσία το αποτέλεσμα πρόσθεσης  του Memory Demand και του Memory Buffer που έχουμε ορίσει από τα memory settings  του κάθε VM.

 

“MEMORY DEMAND”  

Το Memory Demand αντιπροσωπεύει την μνήμη που ζητάει εκείνη την στιγμή το εικονικό μηχάνημα.

ΜEMORY STATUS”

Στο memory status μπορούμε να δούμε εύκολα και γρήγορα εάν τα settings που έχουμε καθορίσει για κάθε virtual machine είναι σωστά ή όχι. Μας ενημερώνει με τρία διαφορετικά values..

«OK»

Σε αυτή την κατάσταση το Virtual Machine έχει στην διάθεση του σύμφωνα με τις ρυθμίσεις μας το κατάλληλο memory demand αλλά έχει και διασφαλισμένο το memory buffer που έχουμε ορίσει.

«LOW»

Σε αυτή την κατάσταση το Virtual Machine μας έχει το κατάλληλο memory demand αλλά έχει αρχίσει και καταλαμβάνει επιπλέον μνήμη από τον memory buffer που του έχουμε ορίσει.

«WARNING»

Συνήθως στο Warning state,  καταλαβαίνουμε όλοι μας ότι κάτι δεν πάει καλά. Με αυτό το signal πρέπει να γνωρίζουμε ότι το memory demand έχει ξεπεράσει τα όρια που του έχουμε θέσει ως Minimum Memory àMaximum Memory & Memory Buffer και έχει αρχίσει ήδη την διαδικασία paging… Σε αυτή την κατάσταση πρέπει να αυξήσουμε την μνήμη στο συγκεκριμένο VM αλλιώς όπως είναι λογικό θα έχει performance impact

Μέχρι εδώ είμαστε καλά, πάμε όμως στις υπηρεσίες που βρίσκονται πλέον εσωτερικά σε κάθε Virtual Machine

SQL SERVER & DYNAMIC MEMORY…

O SQL Server, χαρακτηρίζεται από την Microsoft ως ένα προϊόν το οποίο υποστηρίζεται σε Virtual Platforms. Από την έκδοση 2005  SP3 έως και την έκδοση 2008 R2. Αλλά τι γίνεται με τις εκδόσεις του SQL Server, STD, Ent, DC?

Στον SQL Server  οι εκδόσεις που χρησιμοποιούν ΗΟΤ ADD memory είναι μόνο οι εκδόσεις Enterprise και Datacenter...Οσο αφορά την STD έκδοση ο SQL Server θα καταλάβει μόνο την μνήμη που έχει εξ αρχής το Virtual Machine,  χωρίς να προσπαθήσει να αντλήσει ούτε ένα bit μνήμης παραπάνω.. βέβαια αυτό δεν έχει να κάνει με τις υπόλοιπες υπηρεσίες που τυχών να φιλοξενούνται στο SQL Server VM. Οπότε έχουμε κατά νου πως παρόλο που το Dynamic Memory μπορεί να υποστηριχτεί στο συγκεκριμένο VM η  υπηρεσία του SQL Server STD edition ΔΕΝ το υποστηρίζει, οπότε στο Sizing που θα κάνουμε πρέπει να προϋπολογίσουμε εξ αρχής σαν minimum memory την μνήμη που θέλουμε να καταλάβει ο SQL Server.

Reference: KB956893

EXCHANGE SERVER & DYNAMIC MEMORY

 Εδώ έχουμε ακόμη μεγαλύτερο κενό… δυστυχώς τα product group δεν έχουν ανακοινώσει ακόμη πλήρες οδηγίες για το συγκεκριμένο χαρακτηριστικό. Αλλά ψάχνοντας βρίσκεις μερικά hints τα οποία σε βοηθούν να κατανοήσεις το sizing και το configuration του Dynamic Ram για τον Exchange Server.  Μέσα λοιπόν από συζητήσεις αλλά και του Documentation που ήδη υπάρχει για το Performance Optimization κατέληξα στα εξής σενάρια..

Exchange 2007/2010 Consolidated Role  

Σε αυτό το μοντέλο όλοι οι ρόλοι του Exchange Server είναι εγκατεστημένοι στον ίδιο server. Τι κάνουμε σε αυτή την περίπτωση? Καλό θα ήταν να μην έχουμε ενεργοποιημένο το Dynamic Memory σε αυτό το σενάριο ή να κάνουμε το σωστό Dynamic Sizing.

 Όπως αναφέρονται στα άρθρα

http://technet.microsoft.com/en-us/library/cc794548%28EXCHG.80%29.aspx

και

http://technet.microsoft.com/en-us/library/dd346700.aspx

βλέπουμε πως οι ρόλοι του exchange server εκτός του Mailbox έχουν την δυνατότητα να κάνουν δυναμικό memory allocation αναλόγως με τα request που δέχονται. O Mailbox ρόλος όμως χρησιμοποιεί ένα στατικό μοντέλο memory allocation οπότε πρέπει να έχουμε στο μυαλό μας πως μέσα από την αρχική μνήμη που θα δώσουμε στο VM μας ο mailbox ρόλος θα καταλάβει ότι μπορεί μέσα από αυτήν. Οι υπόλοιποι ρόλοι θα μπορούν να ζητήσουν και να εξυπηρετηθούν μέσω του Dynamic Ram οπότε, προσοχή στο πώς συμπεριφερόμαστε στον Exchange Server.

Exchange 2007/2010 Multiple Roles

Στο συγκεκριμένο μοντέλο έχουμε πολλαπλούς exchange server όπου ο καθένας έχει κάποιο ρόλο ή αποτελείτε από κάποια Arrays όπως π.χ.  CAS Array

Στο μοντέλο αυτό μπορούμε να ενεργοποιήσουμε το Dynamic Memory σε όλους τους ρόλους εκτός από τον Mailbox ρόλο.. Αυτό λόγω του ζητήματος που περιγράψαμε παραπάνω..Static Memory Allocation Model

Μακάρι στο SP4 & SP2 του Exchange 2007 & 2010 αντίστοιχα να δούμε βελτιώσεις και αλλαγές ως προς την δυναμικότητα του memory allocation σε όλους τους ρόλους.       

 

Exchange 2003

O Exchange 2003, έχει και αυτός static memory model allocation οπότε προσοχή και σε αυτό το σενάριο του πώς διαχειριζόμαστε το Dynamic Memory σε τέτοιου είδους ρόλους.

Reference: KB815372

 

Conclusion:

Μπορούμε να έχουμε ενεργοποιημένο το Dynamic Memory σε όλους τους παραπάνω ρόλους αλλά προσοχή στο Startup Memory Allocation του κάθε ρόλου.Πρέπει αν γνωρίζουμε ότι οι συγκεκριμένοι ρόλοι θα ζητήσουν μνήμη από αυτή που βλέπει το σύστημα κατά την διάρκεια εκκίνησης και όχι στην συνέχεια να την ζητήσουν και να την  δεσμεύσουν δυναμικά.

Όσο αφορά ρόλους όπως Domain Controllers, IIS Servers, SharePoint Services, Custom Application, ακόμα και Oracle DB  έχω δει στην πράξη πως υποστηρίζουν το χαρακτηριστικό της δυναμικής μνήμης χωρίς κανένα performance  impact. Εργάζονται πολύ καλά με το συγκεκριμένο feature από την beta έκδοση έως και τώρα.

Πιστεύω πως πολλά από τα product group, αλλά και υπόλοιποι Vendors θα αρχίσουν να λαμβάνουν πολύ καλά υπ όψιν τους ότι αλλάζει όλο το γνώριμο και στατικό περιβάλλον που μέχρι τώρα είχαμε, και θα προσπαθήσουν να δημιουργήσουν πιο έξυπνες εφαρμογές που θα οικειοποιούνται αυτά τα νέα χαρακτηριστικά που φέρνει ο HyperVisor με το SP1.

2008 Server SP2 STD/Web Edition

Κάτι που πρέπει να γνωρίζουμε επίσης για την έκδοση Std /Web του Server 2008 SP2 είναι ότι για να ενεργοποιηθεί το dynamic memory πρέπει να εγκαταστήσουμε το Hotfix 2230887.

ΠΡΟΣΟΧΗ

Για να ενεργοποιηθεί το Dynamic Ram σε όλους τους Virtual Servers μας πρέπει πρώτα απ όλα να συμπεριλαμβάνονται στην παρακάτω λίστα….

  • Windows Server 2008 R2 Enterprise Edition (64-bit)

  • Windows Server 2008 R2 Datacenter Edition (64-bit)
  • Windows Server 2008 R2 Standard Edition (64-bit)
  • Windows 7 Ultimate Edition (32-bit and 64-bit)

  • Windows 7 Enterprise Edition (32-bit and 64-bit)

  • Windows Server 2008 Enterprise Edition (32-bit and 64-bit)

  • Windows Server 2008 Datacenter Edition (32-bit and 64-bit)
  • Windows Server 2008 Standard Edition (32-bit and 64-bit)
  • Windows Vista Ultimate Edition (32-bit and 64-bit)

  • Windows Vista Enterprise Edition (32-bit and 64-bit)

  • Windows Server 2003 R2 Enterprise Edition (32-bit and 64-bit)

  • Windows Server 2003 R2 Datacenter Edition (32-bit and 64-bit)
  • Windows Server 2003 R2 Standard Edition (32-bit and 64-bit)
  • Windows Server 2003 Enterprise Edition (32-bit and 64-bit)

  • Windows Server 2003 Datacenter Edition (32-bit and 64-bit)
  • Windows Server 2003 Standard Edition (32-bit and 64-bit)

 …αλλά και στην συνέχεια να γίνουν update τα Integration Services μέσα από την κονσόλα του Hyper V.

Ας ξεκινήσουμε λοιπόν να χρησιμοποιούμε αυτό το νέο χαρακτηριστικό που μας φέρνει ο Hyper V με το SP1 και είμαι σίγουρος πως πολλοί από εμάς θα το λατρέψουνε….

Καλώς ορίσατε στο Dynamic Environment….

V

 Share

4 Comments


Recommended Comments

Πολύ καλή ανάλυση. Περιμενουμε ανάλυση του τρόπου χρήσης του dynamic memory. ΕΠίσης επεξήγηση του τρόπου upgrade των integration services. Τέλος μια ερώτηση. Στα VM να βάλουμε SP1 και αν ναι γιατί?

Link to comment

Βεβαίως και θα προχωρήσω σε ένα αναλυτικότατο post αυτή την εβδομάδα μιας και την τρίτη θα πάρει φωτιά το net απο τα Downloads!! Έχουμε να δούμε πολλά στο SP1 όπως πχ καινούργιοι perf counters..HyperV VM Dynamic Memory Load Balancer etc

Λίγο υπομονή...

V

Link to comment

ωραία όλα αυτά κάτι για το RemoteFx θα έχουμε Εύάγγελε ιδιαίτερα για το τι είδους άδειες χρειάζεται για να παίζει...

Link to comment
Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  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.

Loading...
×
×
  • Create New...