Virtualização do Microsoft SQL Server em equipamentos

Propaganda
Virtualização do Microsoft SQL Server
em equipamentos convergentes de
escala da Web Dell Série XC baseados
no software Nutanix
Nota técnica sobre o Dell Série XC
O aumento na virtualização de aplicativos essenciais, tais como o Microsoft SQL Server, deu origem ao
conceito de hiperconvergência no data center. Esta nota técnica analisa as vantagens de performance
e as melhores práticas para infraestrutura convergente para o Microsoft SQL Server.
SQL Server na infraestrutura convergente
Se há uma tendência tecnológica que está revolucionando o data center empresarial tanto quanto o
Flash, essa tendência é a hiperconvergência. Este é o local em que armazenamento e computação
(CPU e RAM) são fornecidos em um único elemento essencial modular, conectados com o uso de
redes Ethernet padrão. Essa nota técnica analisará os principais aspectos de performance do Microsoft
SQL Server e os benefícios de usar o Dell XC convergente baseado no software Nutanix para cargas de
trabalho essenciais do SQL Server.
O equipamento Dell XC é uma solução de infraestrutura com finalidade específica para ambientes de
virtualização e cloud computing. Ele reúne os inúmeros benefícios e a economia de arquiteturas de
escala da Web de empresas, como Google, Facebook e Amazon, por meio de seu Sistema de Arquivos
Distribuídos Nutanix (NDFS). A solução Dell XC inclui armazenamento e computação de servidores
de alta densidade (CPU e memória) em um único elemento essencial de plataforma. Cada elemento
essencial baseia-se na tecnologia de processador e servidor da Intel de alto desempenho padrão do
setor e oferece uma arquitetura unificada, sem compartilhamento, com escalabilidade horizontal e
sem ponto único de falha (SPOF). O que diferencia o Dell XC das outras soluções de armazenamento
é sua inigualável simplicidade. Essa simplicidade não é demonstrada apenas pela facilidade de
implantação (30 minutos) e das operações, como quando ocorre o aumento dinâmico do tamanho
do sistema, mas também pela facilidade de projetar e elaborar soluções bem-sucedidas, mesmo para
aplicativos essenciais aos negócios, como o Microsoft SQL Server.
Todo o gerenciamento de armazenamento é centrado na VM, lidando com discos virtuais. A E/S de
armazenamento de um disco virtual é vista do modo como ela é, sendo otimizada pelo NDFS. Em
um Dell XC distribuído, há um pool compartilhado de armazenamento que inclui SSDs baseadas em
Flash para alta performance e HDDs de alta capacidade e baixa latência para capacidade acessível.
Os diferentes tipos de dispositivos de armazenamento no pool de armazenamento são armazenados
automaticamente em camadas usando algoritmos inteligentes a fim de garantir que os dados usados
com mais frequência estejam disponíveis na memória ou no Flash.
A Figura 1 mostra uma visão geral do XC, incluindo os hosts de hipervisor (VMware ESXi ou Microsoft
Hyper-V), as VMs do Microsoft SQL Server (VMs de usuário), a VM do controlador de armazenamento
(VM do controlador Nutanix) e seus discos locais. Cada VM de controlador está diretamente conectada
ao controlador de armazenamento local e a seus discos associados. Ao usar controladores de
armazenamento local em cada host ESXi, o acesso aos dados por meio do NDFS é localizado. Isso
nem sempre exige que os dados sejam transferidos pela rede, o que aprimora a latência. O NDFS
garante que as gravações sejam replicadas, distribuindo os dados dentro da plataforma para fins de
resiliência. O controlador de armazenamento local em cada host garante que a performance e a
capacidade de armazenamento aumentem quando nós adicionais forem adicionados ao Dell XC.
VM(s) do usuário
Hipervisor
Controlador SCSI
E/S da VM
VM do
controlador
VM(s) do usuário
Hipervisor
Controlador SCSI
E/S da VM
VM do
controlador
VM(s) do usuário
Hipervisor
Controlador SCSI
E/S da VM
VM do
controlador
NDFS
ESCALABILIDADE
Figura 1: o Dell XC ajusta a escala facilmente sem as restrições do armazenamento tradicional.
2
Virtualização do Microsoft SQL Server em equipamentos convergentes de escala da Web Dell Série XC baseados no software Nutanix
Embora o armazenamento seja local para cada nó na arquitetura de escalabilidade horizontal distribuída,
ele aparece para o hipervisor como um armazenamento compartilhado. Por esse motivo, ele se integra
perfeitamente à camada de virtualização. No caso do VMware vSphere, isso inclui o VMware DRS, o
VMware High Availability e o VMware Fault Tolerance. A combinação de armazenamento local em SSDs e
HDDs, além do armazenamento em camadas automático e inteligente, equilibra o custo e a performance,
enquanto as técnicas de resiliência do NDFS eliminam a perda de performance associada ao RAID. A
localização de dados permite que a performance e a QoS sejam fornecidas por host. Desse modo, VMs
"com ruído" não causam muitos impactos na performance das que estão próximas delas. Isso possibilita
grandes clusters do vSphere de carga de trabalho mista que são mais eficientes sob um ponto de vista de
capacidade e performance e mais resilientes a falhas.
No momento em que esse relatório foi publicado, a performance típica do modelo intermediário
com quatro nós ocupando 8 RU de espaço era uma combinação de até 100.000 RPM de E/S de
leitura aleatória de 4.000 RPM, 50.000 RPM de E/S de gravação aleatória de 4.000 RPM e taxa de
transferência de leitura sequencial de 3 GB/s e de gravação sequencial de 1,4 GB/s.
A natureza simplificada da arquitetura do Dell XC e do NDFS simplifica o layout de armazenamento. A
Figura 3 ilustra um exemplo de layout, que é um padrão em um ambiente do Dell XC. Ele é composto
por um único repositório de dados NFS (ou, no caso do Hyper-V, um único compartilhamento do
SMB 3.0) e um único pool de armazenamento. Não é necessário preocupar-se quanto às várias LUNs
ou às dimensões das filas associadas. As próximas etapas a seguir são demonstradas para o VMware
vSphere, mas o equivalente pode ser aplicado ao Microsoft Hyper-V.
[DADOS/REGISTRO]N
DBLog
DBData
Dados de TempDB
VMDK de n GB
VMDK de n GB
VMDK de n GB
VMDK de n GB
Controlador PV-SCSI
VMDK de n GB
VMDK de n GB
VMDK de 80 GB
Controlador PV-SCSI
Registro de TempDB
Discos do banco de dados SQL
Arquivo de página
Sistema
operacional+SQL
VM do SQL
Repositório de dados NFSe
RF2 CTR VM
CTR N
SPI (SSD PCIe, SSD SATA, HDD SATA)
Nutanix DFS (NDFS)
Figura 2: layout de disco da VM do SQL Server no Dell XC
3
Virtualização do Microsoft SQL Server em equipamentos convergentes de escala da Web Dell Série XC baseados no software Nutanix
O layout de armazenamento simplificado e a localização dos dados para cada nó onde a VM está
sendo executada fornecem inúmeros benefícios de performance para cada um dos tipos de banco de
dados do SQL.
Recursos e benefícios do Dell XC
• E/S localizado para operações de baixa latência
• Flash para arquivos de bancos de dados de índices e chaves
• Lida facilmente com cargas de trabalho sequenciais e aleatórias
Banco de dados transacional
SQL OLTP
Banco de dados analítico
SQL OLAP
• Relatórios e consultas de alta performance com E/S localizado
• Ampla taxa de transferência de leitura e gravação sequenciais
• Ajusta a escala facilmente para acomodar o crescimento
Tabela 1: benefícios de performance para os bancos de dados SQL OLTP e OLAP.
Para demonstrar a performance do Dell XC para aplicativos, como o Microsoft SQL Server, inúmeros
testes de referência de desempenho SQLIO foram realizados como parte do informe oficial Nutanix
Best Practices White Paper (Melhores práticas do SQL no Nutanix). As Figuras de 3 a 7 a seguir mostram
os resultados dos testes de referência de desempenho:
IOPS
SQLIO – Única VM
IOPS aleatório por tamanho de bloco
40,000
35,000
30,000
25,000
20,000
15,000
10,000
5,000
0
Leitura
Gravação
512 KB
64 KB
8 KB
Figura 3: IOPS aleatório de única VM do SQL Server SQLIO por tamanho de bloco
SQLIO – Única VM
Taxa de transferência sequencial por tamanho de bloco
Taxa de transferência (MBps)
1,400
1,200
1,000
800
Leitura
600
Gravação
400
200
0
8 KB
64 KB
512 KB
Figura 4: SQLIO do SQL Server - taxa de transferência de única VM por tamanho de bloco
4
Virtualização do Microsoft SQL Server em equipamentos convergentes de escala da Web Dell Série XC baseados no software Nutanix
Escalabilidade do SQL
IOPS aleatório por número de nós
600,000
500,000
IOPS
400,000
300,000
IOPS de leitura
do SK
IOPS de gravação
do SK
200,000
100,000
0
1
4
8
16
Número de nós
Figura 5: escalabilidade de IOPS de várias VMs do SQL Server SQLIO
Taxa de transferência (MBps)
Escalabilidade do SQLIO
25,000
Taxa de transferência por número de nós
20,000
15,000
MBp de leitura de
512.000
MBp de gravação de
512.000
10,000
5,000
0
1
4
8
16
Número de nós
Figura 6: SQLIO do SQL Server - escalabilidade de taxa de transferência de várias VMs
O Dell XC pode coexistir com investimentos em armazenamento existentes e cargas de trabalho de
descarregamento de plataformas de armazenamento existentes, liberando capacidade e performance
até que o ambiente existente precise ser atualizado. É fácil migrar para o Dell XC. O recurso de
performance e a escalabilidade linear, quando combinados com a inigualável simplicidade do Dell
XC, fazem com que ele seja uma boa opção para oferecer iniciativas de Banco de dados do SQL
Server como um serviço.
A Nutanix criou diversos documentos sobre a virtualização do Microsoft SQL Server. Os seguintes
relatórios podem ser encontrados em www.nutanix.com, na seção de recursos:
• Informe oficial VMware vSphere on Nutanix Best Practices (Melhores práticas do VMware vSphere no Nutanix)
• Arquitetura de referência e Informe oficial VMware vSphere on Nutanix Best Practices (Melhores
práticas do VMware vSphere no Nutanix)
• Nutanix Bible: Technology Guide (A bíblia do Nutanix: guia de tecnologia)
Apêndice: Lista de verificação de melhores práticas do Microsoft SQL Server no Nutanix
As melhores práticas do MS SQL Server no Nutanix podem ser resumidas nos itens de alto nível a seguir.
NOTA: a maioria dos benefícios de otimização e configuração das melhores práticas vem do nível do
MS SQL Server.
Geral
• • • • • Faça uma análise do estado atual para identificar as cargas de trabalho e o dimensionamento
Dedique um tempo antecipadamente para projetar uma solução que atenda às necessidades atuais e futuras
Projete para oferecer performance, confiabilidade e escalabilidade consistentes
Não aumente ou reduza demais: dimensione de modo ideal
Comece com uma PoC, teste, otimize, faça iterações, ajuste a escala
Componentes principais
5
Virtualização do Microsoft SQL Server em equipamentos convergentes de escala da Web Dell Série XC baseados no software Nutanix
• Microsoft SQL Server
o Performance e escalabilidade
 Utilize várias unidades para dados e registros TempDB e de banco de dados
• Comece com um mínimo de duas unidades para pequenos ambientes
ou quatro para ambientes maiores
• Procure a contenção PAGEIOLATCH_XX e ajuste a escala do total de unidades conforme necessário
• Utilize um tamanho de unidade de alocação NTFS de 64 KB para unidades do MSSQL
• Ative as páginas bloqueadas em memória para a conta de serviço do MSSQL Server (NOTA: se essa
configuração for usada, a memória da VM deverá ser bloqueada, é aplicável apenas para memória
menor que 8 GB)
• Arquivos de dados TempDB
• Configure o tamanho de TempDB entre 1 e 10% dos tamanhos dos bancos de dados de instâncias
• Se o total de núcleos for menor que oito, o número de núcleos será igual ao número de arquivos de dados
• Se o total de núcleos for maior que oito, use oito arquivos de dados inicialmente
o Procure a contenção para a alocação em memória
(PAGELATCH_XX) e ajuste a escala de quatro arquivos por vez
até que a contenção seja eliminada
 Arquivos de dados do banco de dados
• Dimensione adequadamente e ative o AUTOGROW relativo ao
aumento do banco de dados
• Não reduza arquivos de registro e dados automaticamente
(AUTOSHRINK)
• Mantenha a utilização da capacidade do disco abaixo de 80%
• Use várias unidades e vários arquivos de dados
o Procure a contenção para a alocação em memória
(PAGELATCH_XX). Se houver contenção, aumente o número
de arquivos
o Procure a contenção do subsistema de E/S (PAGEIOLATCH_
XX). Se houver contenção, distribua os arquivos de dados em
várias unidades
 Sinalizadores de rastreamento
• Implemente o sinalizador de rastreamento 1118 na inicialização para
remover alocações de única página
• Implemente o sinalizador de rastreamento 834 para ativar
grandes páginas (para performance de camada 1)
 Utilize o Analisador de melhores práticas (BPA) do MSSQL Server para identificar
possíveis problemas
 Utilize a inicialização rápida de arquivos
 Ajuste a escala do total de VMs do MSSQL vs. o total de instâncias do MSSQL por VM
 Mais memória = maior performance. Se você notar que há demandas de
memória, aumente a memória da VM
 Utilize um disco dedicado para o arquivo de paginação da Microsoft
o Disponibilidade
 Na maioria dos casos, o vSphere HA fornecerá um nível adequado de
disponibilidade e tempo de atividade para aplicativos não essenciais/da camada 1
 Para aplicativos essenciais/da camada 1:
• MSSQL 2012: utilize grupos de disponibilidade AlwaysOn (preferencial)
• MSSQL 2008 e versões anteriores: utilize o envio de registros ou o
MSSQL em cluster usando clusters do MSCS
 Obtenha snapshots e faça backups consistentes de bancos de dados, a
frequência deve ser proveniente dos RPOs exigidos
 Utilize ferramentas nativas ou de terceiros para gerenciar backups (exemplo:
Microsoft System Center Data Protection Manager (DPM) etc.)
o Capacidade de gerenciamento
 Padronize, monitore e mantenha
6
Virtualização do Microsoft SQL Server em equipamentos convergentes de escala da Web Dell Série XC baseados no software Nutanix
 Utilize uma solução de monitoramento de aplicativos do MSSQL (exemplo:
System Center etc.)
 Crie modelos padronizados de VM do MSSQL
 Utilize esquemas de layout e quantidades de disco consistentes para VMs do MSSQL
 Una o MSSQL Server ao domínio e use o Active Directory para
autenticação
 Utilize a opção Contained Database Authentication (MSSQL 2012)
 Use instâncias nomeadas para instâncias de bancos de dados do MSSQL,
mesmo quando somente estiver planejando uma única instância por VM
 Para instâncias nomeadas, garanta a compatibilidade dos aplicativos com as portas
dinâmicas; caso contrário, configure a instância para que use uma porta fixa
• VMware vSphere (utilize as melhores práticas equivalentes no caso do Hyper-V)
o Siga as melhores práticas de performance do VMware
o Evite a oversubscription de núcleo da CPU (para cargas de trabalho da camada 1)
o Para pequenas MVs do MSSQL, mantenha o número de vCPUs menor ou igual ao
número de núcleos para cada nó físico NUMA
o Para MVs amplas do MSSQL, dimensione as vCPUs para que elas estejam alinhadas aos
limites físicos NUMA e utilize vNUMA
o Para facilitar o agendamento, mantenha os números de vCPU facilmente divisíveis
pelos tamanhos dos nós NUMA
o Deixe o compartilhamento de hyperthreading na política padrão (Any)
o Ative a política de eficiência do host "High Performance" (Alta performance)
o Bloqueie a memória da VM do MSSQL (para cargas de trabalho da camada 1)
o Dimensione a memória da VM do MSSQL com o seguinte cálculo:
 Memória da VM = memória máx. do SQL Server + pilha de segmentos +
memória do sistema operacional + sobrecarga da VM
 Pilha de segmentos = máximo de segmentos de trabalho do
SQL * 2 MB (para x64)
o Use controladores Paravirtual SCSI (PVSCSI) e placas de rede VMXNET3
o Use pools de recurso com a alocação correta de compartilhamento
o Use as regras de antiafinidade do DRS para manter as MVs do MSSQL separadas
• Dell XC
o Use um único contêiner para o SQL Server
o Utilize o modelo apropriado com base nos requisitos de computação e armazenamento
 Idealmente, mantenha o conjunto de trabalho na SSD e o tamanho do banco
de dados dentro da capacidade do nó
 Escolha um modelo que possa encaixar todo o banco de dados em um único
nó. NOTA: para bancos de dados maiores que não cabem em um nó, verifique
se há ampla largura de banda entre os nós
 Utilize modelos de nós com mais memória para cargas de trabalho do MSSQL
com uso intenso de E/S
o Crie um grupo de consistência dedicado com os aplicativos e as MVs do MSSQL
o Utilize "snapshots de aplicativos consistentes" no grupo de consistência para chamar o
VSS ao capturar snapshots
Componentes auxiliares
• Rede
o Utilize e otimize a QoS para o tráfego do banco de dados e do NDFS
o Use switches de 10 GbE de baixa latência
o Utilize uplinks redundantes de 10 GbE em cada nó do Nutanix
o Garanta a taxa de transferência adequada entre os nós do Nutanix e as MVs do MSSQL
o Verifique se há quadros de pausa que possam impactar a replicação e a comunicação
da VM
• Active Directory
o Utilize a autenticação com base no AD para as MVs do MS SQL Server
• Atualização dos aplicativos e do sistema operacional
7
Virtualização do Microsoft SQL Server em equipamentos convergentes de escala da Web Dell Série XC baseados no software Nutanix
o Agende as atualizações para que elas sejam aplicadas fora do período de trabalho a fim
de evitar impactos na performance
o Organize as atualizações em fases
Suporte da Microsoft para a virtualização do SQL Server na VMware
O suporte da Microsoft para a virtualização do SQL Server na VMware limita-se ao "melhor esforço".
As melhores práticas da Microsoft para a virtualização do SQL Server sugerem o uso do Hyper-V,
que oferece aos clientes o suporte completo da Microsoft para a solução. A Microsoft não impede a
virtualização de cargas de trabalho da Microsoft na VMware, mas consegue oferecer apenas suporte de
"melhor esforço" para esse caso de uso. Para obter detalhes sobre o suporte da Microsoft para produtos
em MVs da VMware, acesse: https://www.vmware.com/support/policies/ms_support_statement.
©2015 Dell Inc. Todos os direitos reservados. Dell e o logotipo DELL são marcas comerciais da Dell Inc. Outras marcas e outros nomes comerciais
podem ser usados neste documento para se referir a entidades que reivindicam as marcas e os nomes ou seus produtos. A Dell isenta-se do
interesse na propriedade de marcas e nomes de terceiros. Este documento é apenas para fins informativos. A Dell reserva-se o direito de fazer
alterações nos produtos mencionados neste documento sem aviso prévio. O conteúdo é fornecido como se apresenta, sem garantias expressas ou
implícitas de qualquer tipo. Leasing e financiamento fornecidos e mantidos pela Dell Financial Services L.L.C. ou suas afiliadas ou seus designados
("DFS") para clientes qualificados. As ofertas podem não estar disponíveis ou podem variar dependendo do país. Quando disponíveis, as ofertas
podem ser alteradas sem aviso prévio e estão sujeitas à disponibilidade do produto, à aprovação de crédito, à execução da documentação fornecida
e aceita pelo DFS e podem estar sujeitas a um valor mínimo de transação. As ofertas não estão disponíveis para uso pessoal, familiar ou doméstico.
XC_Series_Tech_Note_031115
8
Virtualização do Microsoft SQL Server em equipamentos convergentes de escala da Web Dell Série XC baseados no software Nutanix
Download