Virtualizar o SQL Server de alto desempenho é possível? Será apresentado a arquitetura e as novidades do Hyper-v 2012, os cuidados na configuração para obter o melhor desempenho de um servidor SQL Server e também como escolher e dimensionar o seu hardware para o seu host.
1. 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
sqlleroy@hotmail.com
http://www.sqlleroy.com
3. Agenda
Por que virtualizar?
Melhorias no Hyper-v 2012
Configurações
Storage
Network
Failover Clustering
CPU
Arquitetura NUMA
Memória
“Causos”
4. 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.
5. Melhorias no Hyper-v 2012
Hyper-v Server 2012
Free
Licenciar cada VM
Sistema operacional
mais enxuto.
Hypervisor
Windows Server driver
Suporte ao Failover
Clustering
Menor Downtime
Windows Server 2012.
Licenciado
Todas as features
Windows Server Core
Standard x Datacenter
Standard: Duas VMs por
licença
Datacenter: Ilimitado
6. 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
8. 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)
10. 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.
12. Configurações: Failover Clustering
Priority Settings
Define quais VMs serão iniciadas primeiro em um
ambiente cluster e/ou terão prioridade nos recursos
de 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.
14. Configurações: CPU
VP:LP Ratio
SQL Server ratio máximo: 4:1
CPU Reserve
Bin Packing
CPU Schedule
50%
Reserve
LP0 LP1 LP2 LP3
NUMA Node
VM
1
50%
Reserve
VM
2
VM
2
VM
2
50%
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.
15. Configurações: CPU
Second Level Address Translation (SLAT)
Intel: Extended Page Table (EPT)
AMD: Nested Page Table (NPT)
Guest Virtual
Address
System Physical
Address
SLAT
Guest Virtual
Address
Guest Physical
Address
System Physical
Address
NORMAL
Hypervisor não
permite o
acesso direto a
memória.
Utiliza Recurso
chamado
Shadow
Pages Table.
17. 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.
Processors
Memory
NUMA node 1 NUMA node 2
Processors
Memory
NUMA node 3 NUMA node 4
Host NUMA
18. Configurações: NUMA
Acesso
desbalanceado
ocorre quando o
processador
acessa memórias
de outros Nodes.
Processors
Memory
NUMA node 1 NUMA node 2
Processors
Memory
NUMA node 3 NUMA node 4
Host NUMA
19. 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
21. 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.
22. Configurações: Memória
O WhitePaper “Running SQL Server with Hyper-v Dynamic Memory”
demonstra o comportamento com o Dynamic Memory.
23. 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).
25. 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)
26. 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.
27. 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
Virtual Fiber channel Ajuda a executar o Failover Cluster no Guest
MPIO
MPIO should be used for host access. Multiple FC ports can be installed on the host SQL Server database to provide highly available connectivity to the LUNs accessible by the host.
MPIO can be used on the host for providing resilient connections from host to storage. Similarly, MPIO can also be used in guest machines for resilient connections from the guest operating system to FC storage.
D-VMQ
Windows Server 2012 introduces Dynamic Virtual Machine Queue (D-VMQ) for Hyper-V, which dynamically distributes the processing of incoming network traffic to host SQL Server processors, based on processor use and network load. In times of heavy network load, D-VMQ automatically uses more processors; when the network load decreases, D-VMQ relinquishes these processors.
CPU Reserve é a configuração que garante o SLA. É a configuração que garante o VP:LP Ratio e desta forma não permite a criação das VMs acima da capacidade do HOST.
Bin Packing – Host with 4 LP
* VM with 4 vCPU with 50% CPU Reserve = 50% consumo do Host
* VM with 2 vCPU with 50% CPU Reserver = 25% consumo do Host
CPU Schedule permite a melhor utilização dos LPs na economia de energia. (TI Verde).
Falar sobre o comportamento do hyper-v antes do 2012