Compare as Tecnologias de
Memória no VMware e
Microsoft
VIR311
Alexandre Goudard
Team Lead – ProConsult Brazil
Dell | IT Computing Services
Fabio Hara
Especialista de Infraestrutura
Microsoft Brasil
@fabiohara
Agenda
Memória e Virtualização
Técnicas de Otimização de Memória
Hyper-V Dynamic Memory
Arquitetura e Conceitos
Demo
Impacto no sistema
Tecnologia e Terminologia
Parent Partition
Service Console
VHD (Virtual Hard Disk)
VMDK (Virtual Machine Disk)
Failover Clustering
VMware HA (High Availability)
Live Migration
vMotion
CSV (Clustered Shared Volumes)
VMFS
Coordinator Node
Primary Node
VM Affinity
VM Affinity
Pass-Through Disks
Raw Device Mapping
Core Parking
Distributed Power Management
Tecnologia e Terminologia (cont…)
Hyper-V Manager
VI Client
Windows Server Backup (WSB)
Consolidated Backup
Dynamic Disk
Thin Provisioning
Expand Disk/Volume
Volume/Extent Grow
VM IDE boot
VM SCSI
Hot Add Disks
Hot Add Disks
Integration Components
VMware Tools
Virtual Switch
Standard/Distributed Switch
Tecnologia e Terminologia (cont…)
System Center Virtual Machine Manager
vCenter
Performance and Resource Optimization (PRO) Distributed Resource Scheduler (DRS)
Self Service Portal
Web Access
Quick Storage Migration
Storage vMotion
Templates
Templates
Clones
Full Clones
P2V / V2V
Converter
Virtual Machine Servicing Tool (VSMT)
Update Manager
Virtualização e Memória
Virtualização e Memória
Quanto de memória um servidor
realmente precisa?
IIS Server?
Print server?
File server?
Banco de dados?
Servidor de email?
Ninguém quer Dimensionar a
Memória de uma VM
“Novas VMs utilizam 1GB de RAM [não importa o que a VM
esteja rodando]. Eu apenas forneço mais memória se as
pessoas reclamam de performance”
“Todas as VMs usam 4GB de RAM [não tenho idéia do que
acontece com a memória] e ninguém reclama”
“Eu configuro o mínimo requisitado pelo sistema e adiciono
(50%, 100%, 150%, etc)”
“O fabricante me disse que a aplicação precisa de 4GB de
RAM. Não tenho tempo de testar para saber se é verdade
ou não”
Virtualização e Memória
Memória
Fator chave para a quantidade de VMs rodando
O recurso mais utilizado no sistema, porém o mais caro
Estatisticas na utilização de recursos
CPU 10%
Memória 40%
Rede I/O <5%
Disco I/O <5%
Requisitos de clientes
Densidade máxima, sem sacrificar performance
Manter consistência na performance
Não prover um recurso que não se encaixe em um
ambiente de produção
Técnicas Utilizadas
Transparent
Page
Sharing
(TPS)
Hypervisor
Swapping
Ballooning
Compressão de
Memória
Transparent Page Sharing (TPS)
Utilizado em cenários com VM’s utilizando mesmo Sistema
Operacional, mesmo aplicativo ou mesmo dados
Hypervisor mantém apenas uma cópia dos dados
redundantes
Uma tabela de Hash é mantida c/ possíveis paginas
idênticas
Utiliza técnica de Copy-on-Write para gerenciar escritas nas
paginas compartilhadas
Uma cópia particular é mantida para cada VM que realiza uma
escrita
Hashes de 4KB, mesmo para páginas grandes de 2MB
Baixa probabilidade de encontrar paginas identicas
Overhead para comparação bit-a-bit é maior com páginas de
2MB
Como Funciona
VM 1
VM 2
VM 3
Função de
Hash
Valor do
Hash = “A”
Ballooning
Implantado dentro da VM (depende de um
“device” driver)
Comunica com o Hypervisor e informa quando
está sob pressão para obter mais memória
Quando o driver de Ballooning é “inflado”
cabe ao SO da VM decidir quais páginas
serão desalocadas da memória para
satisfazer as requisições de alocação do
Balloooning
Como Funciona
Compressão de Memória
Utiliza cache (por VM) para
armazenar páginas
Mais rápido se comparado com swap
de disco devido ao Disk I/O
Hypervisor Swapping
Memória-extra solicitada pela VM é
redirecionada para paginação em disco
Elimina problemas das outras técnicas
Seleção de paginas que estarão fora do swap
Problemas com dupla paginação
Latência
Ideal desde que utilizado com discos SSD
Gerenciamento de Memória
Processos não endereçam
diretamente a memória física
Memória física é apresentada
para os processos do kernel e
user-mode através de um espaço
de endereçamento virtual
Cada processo tem acesso até a
8TB de espaço de
endereçamento virtual
Processo
Processo
Processo
Paginas de Memória Virtual
Paginas de Memória Física
Gerenciamento de Memória
Modificado
Páginas de memória que ainda não foram utilizadas durante algum
tempo, mas precisam ser gravadas no disco antes que possam ser
reutilizados
Standby
Páginas que não estão sendo usadas e foram escritas para o disco
Elas podem ser devolvidas a um processo se este precisar, mas
também estão disponíveis para uso por outro processo
Free
Páginas de memória que não estão em uso, mas ainda não foram
“zeradas”
Objetivos do Dynamic Memory
Altas taxas de consolidação de VMs com
impacto mínimo de performance
Dependente de:
Variação na utilização de memória, dependendo da
carga de trabalho
O trabalho que você teve ao dimensionar
corretamente da primeira vez
Funciona bem para cargas de trabalho de
VMs de servidores e desktops
Adiciona um mínimo de overhead ao
sistema
Dynamic Memory
Habilitado no Windows Server 2008 R2 SP1
HYPER-V host deve rodar R2 SP1
ICs da Virtual Machine com R2 SP1 versão (7601)
Permite que a memória de host possa ser vendida, porém
entregue apenas no limite físico existente
Dinamicamente gerencia a memória alocada para uma VM,
baseado na demanda
Monitore de “Committed Bytes” dentro da VM
Utiliza técnica de “hot add” para adicionar memory
Utiliza técnica de “memory ballooning” para remover a
memória
Buffer configurável para as necessidades de memória de
cache para as VM’s
Permite que voce priorize a memoria de cada VM
Como funciona
Conceitos de Dynamic Memory
Buffer de
Memória
Demanda
de Memória
Demanda de Memória:
Qdade de memória que
uma VM necessita
Dinamicamente calculada
por VM
Buffer de Memória:
Para satisfazer
necessidade de cache
para a VM
Configurável Online por
VM
Conceitos de Dynamic Memory
Máximo
de
Memória
Buffer de
Memória
Demanda
de Memória
Memóriaalvo
Memória
Inicial
SLAs
Memória Inicial
Memoria é designada
durante boot inicial
Memória reservada
para a VM
Máximo de Memória
Limite de memória
para a VM
Buffer de Memória
Tem como alvo o
percentual para
caching de memória
Memória
“Apenas o necessário” de
memória para a VM
baseado na demanda +
buffer
Componentes do Dynamic Memory
Componentes do Host
Dynamic Memory VSP
Host HYPER-V
Balanceador
de Memória
Dynamic
Memory
VSP
Virtualization Stack Memory Manager
Memória Física
do Sistema
Comunica com a VM (VSC) e
corretores de solicitacao para os
balanceadores de memória
Balanceador de Memória
Monitora pressao de memória no
Host e entre as maquinas virtuais
Aloca memória para a VM.
Baseado em em demanda de
memória da VM
Recupera memória das VMs que
estejam em déficit
Deppois da memória ser
removida , a mesma é adicionada
nas maquinas que necessitam
Componentes do Dynamic Memory
Componentes da Virtual Machine
Virtual Machine
Windows Memory Manager
Dynamic Memory
VSC
Page File
Endereco físico
de memória do
Guest (Máquina
Virtual)
Dynamic Memory VSC
Driver (DMVSC.sys) é
instalado no guest via IC’s,
mas não é habilitado até
que o DM esteja habilitado
também.
Coleta e envia estatísticas
de memória do Guest
para o Balanceador de
Memória do Host
Adiciona memória na VM
através de enlightenments
Remove memória da VM
através de ballooning
Adicionando Memória
Quando a demanda de memória aumenta
então o VSC requisita memória adicional
via VSP
VSC apresenta memória adicionada para
o gerenciador de memória da VM
DM não utiliza a técnica tradicional de
HotAdd, porém utiliza no lugar o “HotAdd
Enlightenments”
Aparece como memória física dentro da
VM
Removendo Memória
Utiliza técnica de Ballooning para “inflar” o driver do espaço
de endereçamento virtual não-paginado
O SO da VM ainda acredita que a memória esteja lá, porém
o espaço de endereçamento é designado para o Kernel
driver
A memória virtual é liberada e/ou despaginada, e colocada
em uma lista livre (free/zero)
O VSC chama a função do Gerenciador de Memória para
alocar a memória fora da lista livre (free/zero)
A técnica de ballooning invalida os contadores de memória
do Task Manager
Balanceamento de Memória
Política de adicão de memória ativa
Memória é adicionada imediatamente quando a VM
necessitar
Política de reclamacao de memória passiva
Memória não é removida quando não há necessidade
imediata de memória
Memória inutilizada é coletada a cada 5 minutos
Banda de Pressão de Memória
Banda calculada para a pressão da VM com objetivo de
minimizar operacões de adicão/remocão
Banda alta de pressão de memória
Pressão atual de memória
Banda baixa de pressão de memória
Interface gráfica HYPER-V Manager
Assigned memory: Memória alocada para a VM
Memory Demand: Demanda de Memória da VM
(Memory/Committed bytes)
Memory Status: Demanda de memória da VM + buffer
OK: memória corretamente configurada na VM para demanda +
buffer
Warning: memória corretamente configurada na VM para
demanda, porém pequena no buffer
Critical: memória incorretamente configurada na VM para
demanda (VM está paginando)
Contadores do Monitor de
Performance
Contadores específicos da VM
HYPER-V Dynamic Memory VM/*
Current Pressure: demanda de memória da VM vs. Designada
(em %)
Physical Memory: memória designada para a VM
Guest Visible Physical Memory: memória física que uma VM
acredita que está designada para ela. Inclui memória fora do
balloon
Contadores do Host HYPER-V
HYPER-V Dynamic Memory Balancer/System Balancer
Available Memory: Memória física total disponível no Host
Average Pressure: Média de pressão de todas as VMs rodando
atualmente no host
Integracão com SCVMM
Necessário SP1 do
SCVMM 2008 R2
Configuracões de Dm
através de “Hardware
Configuration”
Prioridade de DM priority é
gerenciado
separadamente em
“Advanced”
Por que a Microsoft não
implementa Page Sharing?
Page Sharing funciona bem com páginas de 4K, porém
eficiência é muito baixa com Large Memory Pages (2MB)
Páginas de 4K não conseguem usar com eficiência o
Translation Lookaside Buffer (TLB) com Large Memory Pages
Usar paginas de 4K ao invés de Large Memory Pages reduz a
performance de servidores c/ SLAT em ~20%
Windows Vista/7 e Windows Server 2008/2008R2 usam Large
Memory Pages por padrão
SuperFetch
Popula trechos de memória com aplicações que sejam
frequentemente carregados, melhorando tempo de resposta
Reduz quantidade de “Zero Pages” reduzindo eficiência do
Page Sharing
Desde o Windows XP é implementado o SuperFetch
Preload (Linux)
Address Space Layout Randomization (ASLR)
DLL`s de sistema e executáveis são carregados em areas
diferentes da memória toda vez que o SO é inicializado
Por que a Microsoft não
implementa Second Level Paging?
Se o Hypervisor não conseguir identificar quais páginas da VM
devem ir para swap pode ocorrer interações desnecessárias
com as políticas de gerenciamento da memoria nativa na VM
Ex: O sistema operacional da VM nunca vai fazer paginação das paginas
do Kernel. O Hypervisor não consegue identificar quais são as paginas do
Kernel e vai fazer swap
Possibilidades de dupla-paginação
VM fazendo swap e Hypervisor fazendo outro swap
Necessário pelo menos array de discos SSD
Tipo
Velocidade
Memória DDR3-1600
5 nanosegundos
Memória DDR3-1333
6 nanosegundos
Memória DDR3-1066
7,5 nanosegundos
Memória DDR3-800
10 nanosegundos
Disco
~8milisegundos
Conteúdo Relacionado
http://technet.microsoft.com/pt-br/treinamento
www.microsoft.com/brasil/servidores
Blogs.technet.com/virtualization
www.vmware.com/resources/techresources/10206
Get the free mobile app for your phone
http:/ / gettag.mobi
http://technet.microsoft.com/pt-br
Get the free mobile app for your phone
http:/ / gettag.mobi
http://msdn.microsoft.com/pt-br
Não esqueça de
preencher sua avaliação
online
www.teched.com.br/avaliacao
Get the free mobile app for your phone
http:/ / gettag.mobi
© 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market
conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT
MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Download

Compare as Tecnologias de Memória no VMware e Microsoft