Compare as Tecnologias de Memória no VMware e Microsoft

Download Report

Transcript Compare as Tecnologias de Memória no VMware e Microsoft

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 Live Migration CSV (Clustered Shared Volumes) Coordinator Node VM Affinity Pass-Through Disks Core Parking VMware HA (High Availability) vMotion VMFS Primary Node VM Affinity Raw Device Mapping Distributed Power Management

Tecnologia e Terminologia (cont …)

Hyper-V Manager Windows Server Backup (WSB) Dynamic Disk Expand Disk/Volume VM IDE boot Hot Add Disks Integration Components Virtual Switch VI Client Consolidated Backup Thin Provisioning Volume/Extent Grow VM SCSI Hot Add Disks VMware Tools 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 Templates Clones P2V / V2V Storage vMotion Templates Full Clones 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) Ballooning Hypervisor Swapping 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 idênticas é mantida c/ possíveis paginas 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 Balloooning é “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

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 8TB de espaço de endereçamento virtual até a 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

Buffer de Memória Demanda de Memória Máximo de Memória Memória alvo 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 Memória Tem como alvo o percentual para caching de memória “Apenas o necessário” de memória para a VM baseado na demanda + buffer

Componentes do Dynamic

Componentes do Host Host HYPER-V Balanceador de Memória Dynamic Memory VSP Virtualization Stack Memory Manager

Memory

Dynamic Memory VSP 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 Memória Física do Sistema

Componentes do Dynamic Memory

Componentes da Virtual Machine Virtual Machine Windows Memory Manager Page File Dynamic Memory VSC 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 VM memória física dentro da

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

Memória DDR3-1600 Memória DDR3-1333 Memória DDR3-1066 Memória DDR3-800 Disco

Velocidade

5 nanosegundos 6 nanosegundos 7,5 nanosegundos 10 nanosegundos ~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.