SQL Server, Exchange e Dynamic Memory

imageNei post Software Microsoft supportato in ambiente virtuale e SQL Server 2005 in ambiente virtuale avevo analizzato i software Microsoft supportati in ambiente virtuale. SQL Server e Exchange sono supportati in ambiente virtuale a partire rispettivamente dalla versione SQL Server 2005 ed Exchange 2007 SP1, a determinate condizioni come avevo descritto nei post che ho citato.

L’introduzione della Dynamic Memory in col Service Pack 1 di Windows Server 2008 R2 sebbene permetta di risparmiare ed ottimizzare la RAM una delle risorse fondamentali delle infrastrutture basate sulla virtualizzazione, necessita di un’analisi preventiva per sincerarsi del supporto di questa funzionalità nello scenario specifico.

Infatti non è sufficiente che la Dynamic memory sia supportata dal sistema operativo (a riguardo si veda Windows 2008 R2 SP1: Dynamic Memory Issues), ma occorre che anche le applicazioni e i servizi erogati dalla macchina virtuale supportino tale funzionalità.

In particolare per quanto riguarda SQL Server solo le versioni Enterprise e Datacenter supportano la Dynamic Memory come indicato nella Support policy for Microsoft SQL Server products that are running in a hardware virtualization environment, mentre le altre versioni sono in grado di rilevare come memoria presente nel sistema solo quella presente all’avvio:

Q7: Is Hyper-V Dynamic Memory supported for SQL Server?
A7
: Hyper-V Dynamic Memory is fully supported with SQL Server. Only SQL Server versions and editions (Enterprise and Datacenter) that support Hot Add Memory can see memory that is added by using Hyper-V Dynamic Memory. SQL Server versions that do not support Hot Add Memory are still supported. But these versions will detect only the memory that is present in the operating system when SQL Server starts. Before you deploy Hyper-V Dynamic Memory, please read the following resources when you use Hyper-V Dynamic Memory with SQL Server:

Per quanto riguarda Exchange possiamo utilizzare le indicazioni contenute nel seguente Exchange 2010 System Requirements in cui viene indicato di non utilizzare memory overcommitment o dynamic memory:

“Many of the performance gains in recent versions of Exchange, especially those related to reduction in I/O, are based on highly efficient usage of large amounts of memory. When that memory is no longer available, the expected performance of the system can’t be achieved. For this reason, memory oversubscription or dynamic adjustment of virtual machine memory should be disabled for production Exchange servers.”

In generale occorre tenere presente che la Dynamic Memory è stata pensata per ottimizzare infrastrutture VDI, questo non significa che non possa essere utilizzata in altri scenari, ma prima di attivarla occorre come ho già detto sincerarsi che OS, applicazioni e servizi la supportino.

Se volete testare Hyper-V potete scaricare la versione di valutazione di Windows Server 2008 R2 con SP1 dal seguente link Download di Windows Server 2008 R2 con Service Pack 1 oppure la versione gratuita di Hyper-V Server 2008 R2 SP1 da seguente link Download Microsoft Hyper-V Server 2008 R2 with Service Pack 1 (SP1).

Sempre sul TechNet Evaluation Center sono disponibili anche Microsoft Exchange Server 2010 con SP1 e Microsoft SQL Server 2008 R2.