usando hyper-v 2012 para virtualização do sql server
TRANSCRIPT
Usando Hyper-v 2012 para
virtualização do SQL Server
Virtualizar o SQL Server de alto desempenho
é possível?
Leandro Ribeiro
@sqlleroy | MCTS | MCSA | MTAC
Chapter Leader – SQL Server RJ
http://www.sqlleroy.com
Agenda
Por que virtualizar?
Melhorias no Hyper-v 2012
Configurações Storage
Network
Failover Clustering
CPU
Arquitetura NUMA
Memória
“Causos”
Por que virtualizar?
Menor consumo de energia.
Melhor utilização dos recursos de Hardware.
Provisionamento de Recursos On Demand.
Agilidade para o negócio
(VM Template x Compra de servidores).
Simplifica o Disaster Recovery.
Alta disponibilidade.
Melhorias no Hyper-v 2012
Hyper-v Server 2012
Free Licenciar cada VM
Sistema operacional mais enxuto. Hypervisor
Windows Server driver
Suporte ao FailoverClustering
Menor Downtime
Windows Server 2012.
Licenciado
Todas as features
Windows Server Core
Standard x Datacenter Standard: Duas VMs por
licença
Datacenter: Ilimitado
Melhorias no Hyper-v 2012
Melhorias no Windows Server 2012
System Maximum number Improvement factor
Windows Server
2008 R2
Windows Server
2012
Host Logical Processors on Hardware 64 320 5x
Physiscal memory 1 TB 4 TB 4x
Virtual processors per host 512 2048 4x
Virtual
Machine
Virtual processors per virtual
machine
4 64 16x
Memory per virtual machine 64 GB 1 TB 16x
Active virtual machine per server 384 1204 2.7x
Cluster Nodes 16 64 4x
Virtual machines 1000 4000 4x
Configurações: Storage
VHDx Suporte até 64TB.
Oferece proteção de dados (Log de transações).
Suporte a disco virtual com setor de 4K.
Use disco virtual do tipo Fixo.
SQL Server over SMB Permite o armazenamento de banco de dados em pastas compartilhadas.
Windows Server inclui contadores I/O Size, I/O Latency, IOPS para SMB Client.
O SQL Server suporta Single-Node, Dual-Node e Multi-Node File Server
Virtual Fiber Channel Oferece acesso direto a SAN ao Guest OS.
Suporte ao Live Migration
MPIO
Storage QoS (New in Windows Server 2012 R2)
Configurações: Network
SR-IOV Permite dedicar uma interface de rede à uma VM.
Nic Teaming Permite agrupar múltiplas interfaces de rede, aumentando
a largura de banda.
Oferece tolerância a falhas.
Dynamic Virtual Machine Queue (D-VMQ) Distribui dinamicamente o processamento de tráfego
inbound.
Utiliza somente os núcleos físicos (Not use Hyper-Threading).
Placas de redes sem VMQ utilizam sempre o núcleo zero para este processamento.
Configurações: Failover Clustering
Priority Settings Define quais VMs serão iniciadas primeiro em um
ambiente cluster e/ou terão prioridade nos recursosde hardware.
High Priority, Medium Priority, Low Priority e No Auto Start
Virtual Machine Affinity Permite configurar VMS parceiras a fim de serem
migradas simultâneamente em caso de failover.
Permite especificar que VMs não coexistam no mesmo host em caso de failover.
Configurações: CPU
VP:LP Ratio
SQL Server ratio máximo: 4:1
CPU Reserve
Bin Packing
CPU Schedule
50%
Reserve
NUMA Node
LP0 LP1 LP2 LP3
VM
150%
Reserve
VM
2VM
2
VM
2
VM
250%
Reserve
• 4 Logical Processors
• VM1 com 1 VP (vCPU) com 50% de uso no LP0
• Cria VM2 com 2 VP (vCPU) na LP0 e LP1
• VMs são iniciadas no LP0
• CPU Schedule move a VM2 para o LP1 e LP2
• Após diminuir o consumo de vCPU da VM2,
move de volta as vCPUs para o LP1 e LP2.
Configurações: CPU
Second Level Address Translation (SLAT) Intel: Extended Page Table (EPT)
AMD: Nested Page Table (NPT)
SLAT
Guest Virtual
Address
System Physical
Address
NORMAL
Guest Virtual
Address
Guest Physical
Address
System Physical
Address
Hypervisor não
permite o
acesso direto a
memória.
Utiliza Recurso
chamado
Shadow
Pages Table.
Configurações: NUMA
Arquitetura NUMA
Processador e memória são agrupados em Nodes.
Chamamos de “Acesso Balanceado” quando os recursos são acessados dentro do mesmo nó NUMA.
Memory
Processors
NUMA node 1 NUMA node 2
Memory
Processors
NUMA node 3 NUMA node 4
Host NUMA
Configurações: NUMA
Acesso
desbalanceado
ocorre quando o
processador
acessa memórias
de outros Nodes.
Memory
Processors
NUMA node 1 NUMA node 2
Memory
Processors
NUMA node 3 NUMA node 4
Host NUMA
Configurações: NUMA
Guest NUMA
(vNUMA)Novidade no Hyper-v
2012, apresenta a
arquitetura NUMA
existente no Host para as
Máquinas virtuais.
vNUMAnode A vNUMAnode B vNUMAnode A vNUMAnode B
NUMA node 1 NUMA node 2 NUMA node 3 NUMA node 4
Configurações: Memória
Dynamic Memory Monitora Committed Bytes
Hot Add Memory
Ballooning
Uso do Dynamic Memory com o SQL Server Modelo de memória “Large Pages” (Trace Flag 834) não se
beneficia do Dynamic Memory.
O SQL Server passou a suportar “Hot Add Memory” na versão 2005 Enterprise.
No SQL Server 2012, “Hot Add Memory” passa a ser suportado na versão Standard.
É recomendado configurar a conta de serviço do SQL Server com o recurso “Lock Pages in Memory”, a fim de evitar paginação em disco.
Configurações: Memória
O WhitePaper “Running SQL Server with Hyper-v Dynamic Memory”
demonstra o comportamento com o Dynamic Memory.
Configurações: Memória
Smart Paging
Configuração da VM que utiliza o disco como
memória para realizar o reboot de uma VM.
Recomendação: Definir local de armazenamento
do Smart Paging em um disco rádido (SSD).
Cuidado principalmente em ambientes de
hospedagem (Reboot não gerenciável).
Proteto de virtualização
Migração do SQL para versão Enterprise
provendo HA
Antes
Configurações da instância
Tuning Queries (Protheus – customizadas)
Analise de IO (Storage e Stall)
Fill factor (Disperdício do Data Cache)
Compressão (318GB > 29 GB)
Troubleshooting
Sintoma: Aplicação apresentando timeout
Análise do time de VM: Host Hypervisor
“Fritando”
Causa: NetBackup não estava configurado
para liberar os vlfs das bases em um dos
servidores, gerando alto tráfego na rede..
Que por sinal, estava utilizando a interface
de rede errada.
Referências
White Paper Best Practices for Virtualizing and Managing SQL
Server 2012- bit.ly/1jPHFzs
Blog do Hara – www.fabiohara.com.br
Team Blog SQLOS (Dynamic Memory) - http://bit.ly/1dY40Hc
Blog Ben Amstrong - http://bit.ly/cFJvSE
Pluralsight – SQL Server: Virtualization - http://bit.ly/13XZxzU
WhitePaper – Running SQL Server with Hyper-v Dynamic
Memory - http://bit.ly/175aLSy