Upload
anasofia-pimental
View
221
Download
0
Embed Size (px)
Citation preview
Compare as Tecnologias de Memória no VMware e MicrosoftVIR311
Fabio HaraEspecialista de InfraestruturaMicrosoft Brasil@fabiohara
Alexandre GoudardTeam Lead – ProConsult BrazilDell | IT Computing Services
Agenda
Memória e Virtualização Técnicas de Otimização de MemóriaHyper-V Dynamic Memory
Arquitetura e ConceitosDemoImpacto no sistema
Tecnologia e TerminologiaParent Partition Service Console
VHD (Virtual Hard Disk) VMDK (Virtual Machine Disk)
Live Migration vMotion
Failover Clustering VMware HA (High Availability)
CSV (Clustered Shared Volumes) VMFS
Coordinator Node Primary Node
Core Parking Distributed Power Management
Pass-Through Disks Raw Device Mapping
VM Affinity VM Affinity
GH
Windows Server Backup (WSB) Consolidated Backup
Dynamic Disk Thin Provisioning
Expand Disk/Volume Volume/Extent Grow
Virtual Switch Standard/Distributed Switch
Hyper-V Manager VI Client
VM IDE boot VM SCSI
Integration Components VMware Tools
Hot Add Disks Hot Add Disks
Tecnologia e Terminologia (cont…)
GH
System Center Virtual Machine Manager vCenter
Quick Storage Migration Storage vMotion
Distributed Resource Scheduler (DRS)
Self Service Portal Web Access
Templates Templates
Clones Full Clones
P2V / V2V Converter
Virtual Machine Servicing Tool (VSMT) Update Manager
Performance and Resource Optimization (PRO)
Tecnologia e Terminologia (cont…)
GH
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?
GH
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”
GH
Virtualização e MemóriaMemória
Fator chave para a quantidade de VMs rodandoO recurso mais utilizado no sistema, porém o mais caro
Estatisticas na utilização de recursosCPU 10%Memória 40%Rede I/O <5%Disco I/O <5%
Requisitos de clientesDensidade máxima, sem sacrificar performanceManter consistência na performanceNão prover um recurso que não se encaixe em um ambiente de produção
GH
Técnicas Utilizadas
Memória
Transparent Page
Sharing (TPS)
Ballooning
Hypervisor Swapping Compressão
de Memória
GH
Transparent Page Sharing (TPS)
Utilizado em cenários com VM’s utilizando mesmo Sistema Operacional, mesmo aplicativo ou mesmo dadosHypervisor mantém apenas uma cópia dos dados redundantesUma tabela de Hash é mantida c/ possíveis paginas idênticasUtiliza 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 2MBBaixa probabilidade de encontrar paginas identicasOverhead para comparação bit-a-bit é maior com páginas de 2MB
G
Como FuncionaConteúdo
de PáginasVM 1 VM 2 VM 3 Função de
Hash
Valor doHash = “A”
A
B
G
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
G
Como Funciona
G
Compressão de Memória
Utiliza cache (por VM) para armazenar páginasMais rápido se comparado com swap de disco devido ao Disk I/O
G
Hypervisor Swapping
Memória-extra solicitada pela VM é redirecionada para paginação em discoElimina problemas das outras técnicas
Seleção de paginas que estarão fora do swapProblemas com dupla paginaçãoLatência
Ideal desde que utilizado com discos SSD
G
Gerenciamento de MemóriaProcessos não endereçam diretamente a memória físicaMemória física é apresentada para os processos do kernel e user-mode através de um espaço de endereçamento virtualCada processo tem acesso até a 8TB de espaço de endereçamento virtual
Paginas de Memória Virtual
Paginas de Memória Física
ProcessoProcessoProcesso
H
ModificadoPáginas de memória que ainda não foram utilizadas durante algum tempo, mas precisam ser gravadas no disco antes que possam ser reutilizados
StandbyPáginas que não estão sendo usadas e foram escritas para o discoElas podem ser devolvidas a um processo se este precisar, mas também estão disponíveis para uso por outro processo
FreePáginas de memória que não estão em uso, mas ainda não foram “zeradas”
Gerenciamento de MemóriaH
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 trabalhoO trabalho que você teve ao dimensionar corretamente da primeira vez
Funciona bem para cargas de trabalho de VMs de servidores e desktopsAdiciona um mínimo de overhead ao sistema
H
Dynamic MemoryHabilitado no Windows Server 2008 R2 SP1
HYPER-V host deve rodar R2 SP1ICs 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 existenteDinamicamente gerencia a memória alocada para uma VM, baseado na demanda
Monitore de “Committed Bytes” dentro da VMUtiliza técnica de “hot add” para adicionar memoryUtiliza técnica de “memory ballooning” para remover a memória
Buffer configurável para as necessidades de memória de cache para as VM’sPermite que voce priorize a memoria de cada VM
H
Como funciona
H
Conceitos de Dynamic Memory
Demanda de Memória:Qdade de memória que uma VM necessitaDinamicamente calculada por VM
Buffer de Memória:Para satisfazer necessidade de cache para a VMConfigurável Online por VM
Buffer de Memória
Demanda de Memória
H
Conceitos de Dynamic MemorySLAs
Memória InicialMemoria é designada durante boot inicialMemória reservada para a VM
Máximo de MemóriaLimite de memória para a VM
Buffer de MemóriaTem 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
Buffer de Memória
Demanda de Memória
Máximo de Memória
Memória Inicial
Memória-alvo
H
Componentes do Dynamic MemoryComponentes do Host
Dynamic Memory VSPComunica com a VM (VSC) e corretores de solicitacao para os balanceadores de memória
Balanceador de MemóriaMonitora pressao de memória no Host e entre as maquinas virtuaisAloca memória para a VM. Baseado em em demanda de memória da VMRecupera memória das VMs que estejam em déficitDeppois da memória ser removida , a mesma é adicionada nas maquinas que necessitam
Dynamic Memory
VSP
Balanceador de
Memória
Memória Física do Sistema
Host HYPER-V
Virtualization Stack Memory Manager
H
Componentes do Dynamic MemoryComponentes da Virtual Machine
Dynamic Memory VSCDriver (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 HostAdiciona memória na VM através de enlightenmentsRemove memória da VM através de ballooning
Dynamic Memory VSC
Windows Memory Manager
Endereco físico de
memória do Guest
(Máquina Virtual)
Page File
Virtual Machine
H
Adicionando MemóriaQuando a demanda de memória aumenta então o VSC requisita memória adicional via VSPVSC apresenta memória adicionada para o gerenciador de memória da VMDM 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
H
Removendo MemóriaUtiliza técnica de Ballooning para “inflar” o driver do espaço de endereçamento virtual não-paginadoO SO da VM ainda acredita que a memória esteja lá, porém o espaço de endereçamento é designado para o Kernel driverA 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
H
Balanceamento de MemóriaPolítica de adicão de memória ativa
Memória é adicionada imediatamente quando a VM necessitar
Política de reclamacao de memória passivaMemória não é removida quando não há necessidade imediata de memóriaMemória inutilizada é coletada a cada 5 minutos
Banda de Pressão de MemóriaBanda calculada para a pressão da VM com objetivo de minimizar operacões de adicão/remocão
Pressão atual de memória
Banda alta de pressão de memória
Banda baixa de pressão de memória
H
Interface gráfica HYPER-V Manager
Assigned memory: Memória alocada para a VMMemory 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 + bufferWarning: memória corretamente configurada na VM para demanda, porém pequena no bufferCritical: memória incorretamente configurada na VM para demanda (VM está paginando)
H
Contadores do Monitor de Performance
Contadores específicos da VMHYPER-V Dynamic Memory VM/*
Current Pressure: demanda de memória da VM vs. Designada (em %)Physical Memory: memória designada para a VMGuest 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-VHYPER-V Dynamic Memory Balancer/System Balancer
Available Memory: Memória física total disponível no HostAverage Pressure: Média de pressão de todas as VMs rodando atualmente no host
H
Integracão com SCVMM
Necessário SP1 do SCVMM 2008 R2Configuracões de Dm através de “Hardware Configuration”Prioridade de DM priority é gerenciado separadamente em “Advanced”
H
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 PagesUsar 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
SuperFetchPopula trechos de memória com aplicações que sejam frequentemente carregados, melhorando tempo de respostaReduz quantidade de “Zero Pages” reduzindo eficiência do Page SharingDesde o Windows XP é implementado o SuperFetchPreload (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
H
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çãoVM fazendo swap e Hypervisor fazendo outro swap
Necessário pelo menos array de discos SSD
Tipo VelocidadeMemó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
Leitura obrigatória: Understanding
Memory Resource Management in
Vmware ESX Server
H
Conteúdo Relacionadohttp://technet.microsoft.com/pt-br/treinamento
www.microsoft.com/brasil/servidores
Blogs.technet.com/virtualization
www.vmware.com/resources/techresources/10206
GH
Recursos
Recursos para IT Pros
Recursos para Desenvolvedores
http://technet.microsoft.com/pt-br
http://msdn.microsoft.com/pt-br
Getthefreemobileappforyourphonehttp://gettag.mobi
Getthefreemobileappforyourphonehttp://gettag.mobi
Não esqueça de preencher sua
avaliação onlinewww.teched.com.br/
avaliacao
Getthefreemobileappforyourphonehttp://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.