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