Arquitetura certificada Fast Track (DWFT) do SQL Server Data Warehouse: o que significa e como funciona

Grandes fabricantes de software popular cuidam de seus clientes de maneiras diferentes. Uma maneira é criar um programa de certificação. Para que, quando os clientes pensem entre configurações de hardware de software específico, o fabricante desse software possa apontar com um dedo com confiança: "Leve isso e tudo ficará bem".

Esse programa para o SQL Server foi desenvolvido pela Microsoft - SQL Server Fast Track (DWFT). Certifica as configurações de data warehouses - aquelas que atendem aos requisitos da carga de trabalho e podem ser implementadas com menos risco, custo e complexidade. Parece ótimo, mas é interessante avaliar esses critérios na prática. Para isso, analisaremos detalhadamente uma das configurações que possuem a certificação Fast Track do SQL Server Data Warehouse.



Para iniciantes - um pouco mais sobre o DWFT. Este programa inclui não apenas a certificação de arquiteturas de referência de fornecedores de sistemas, mas também vários guias de práticas recomendadas - se você deseja criar algo próprio. A Microsoft está atualizando o programa para o desenvolvimento de novos recursos e com base nos comentários dos clientes.

Com o armazenamento compatível com DWFT, você pode ter certeza de que todos os recursos do SQL Server estarão disponíveis. As tecnologias de armazenamento em coluna na memória melhoram o desempenho em cargas de trabalho transacionais e analíticas. Os big data relacionais estruturados e não estruturados tradicionais serão suportados - no Hadoop, Spark ou Azure Data Lake. Com o recurso PolyBase do SQL Server, você pode combinar big data no SQL Server Universe, consultar dados relacionais e não estruturados, mesclando-os sem precisar movê-los.

Uma lista geral de arquiteturas certificadas está na parte inferior desta página . A seguir, apresentaremos um deles.

Arquitetura "Referência"


Agora - para analisar uma das arquiteturas certificadas pela DWFT. Baseia-se em nossos servidores BullSequana S400 e S800 e no armazenamento Dell EMC VMAX. O armazenamento pode ser aumentado em até 4 PB se você dimensionar o servidor BullSequana S para 32 processadores.

Para garantir alta disponibilidade do banco de dados, o Cluster de Failover do Windows também é recomendado. Ou seja, o uso de pelo menos dois servidores. Por meio dos serviços de cluster da Microsoft, um servidor de banco de dados é configurado como servidor primário (ativo) e o segundo como servidor secundário (passivo). O servidor passivo deve ter a mesma configuração que o servidor principal.


Lista e características dos componentes da infraestrutura


Esboço geral de duas configurações

Componentes de hardware


Servidor BullSequana S800


O servidor BullSequana S800 é um servidor de oito processadores com até 12 TB de memória, E / S avançada e adições de módulos com armazenamento SSD / HDD / NVMe ou com GPUs NVidia Tesla.

A linha BullSequana S está disponível em opções do S200 com dois processadores e do S3200 com 32 processadores. A etapa de escala da linha é de dois processadores. Para a arquitetura DWFT do SQL Server 2017, os modelos S200, S400 e S800 são igualmente certificados.



Adaptador de barramento host Emulex LPe31002-M6 16 Gbps


Comparados às gerações anteriores, os adaptadores Emulex Gen 6 FC com arquitetura dinâmica de múltiplos núcleos oferecem maior desempenho, menor latência, melhores diagnósticos e capacidade de gerenciamento. Ele fornece velocidades de até 12.800 MB / s (duas portas 32GFC ou quatro portas 16GFC), uma taxa de transferência de 1,6 milhões de IOPS por adaptador. A versão de quatro portas do LPe32004 fornece até 3,2 milhões de IOPS por adaptador.

Brocade 6510 Switch


O Brocade 6510 Switch da Broadcom é um switch Fibre Channel de 1U e 48 portas montado em servidor.
  • Desempenho Fibre Channel: 16 Gb / s
  • Até 48 portas que fornecem taxa de transferência agregada de 768 Gb / s
  • Entroncamento de quadro de até 128 Gbps
  • Consumo de energia: 14 W / Gb / s

Dell EMC VMAX 250F


O VMAX All Flash se concentra no volume de dados de petabytes e no grande processamento de transações. VMAX All Flash dimensiona e integra centenas de processadores multinúcleo Intel para cargas de trabalho dinâmicas mistas. O elemento principal do VMAX All Flash é o V-Brick - é possível combinar até oito V-Bricks como um sistema único com recursos de conectividade, processamento e largura de banda completamente separados. Cada V-Brick suporta até 72 núcleos de processador para dimensionar o desempenho - até 576 núcleos por matriz. Para dimensionamento, os módulos do Flash Capacity Packs são usados.

O armazenamento deve atender claramente aos requisitos de processamento de transações em tempo real (OLTP) de alta precisão, aplicativos virtualizados e bancos de dados Oracle e SQL. Os requisitos são atendidos para milhões de IOPS, taxa de transferência de petabytes e desempenho previsível (tempo de resposta de 350 μs).

Por fim, a arquitetura deve ter isolamento aprimorado de erros, verificação confiável da integridade dos dados e atualizações comprovadas de hardware e software à prova de falhas. Outro requisito: disponibilidade para operações 24x7 usando o software SRDF.

Como o armazenamento está conectado


Configuração do VMAX 250F (All Flash):

  • 2 vBrick com 2 TB de cache por bloco.
  • Portas FC do host de 32 * 16 Gbps
  • Flash de 64 * 3,84 TB (Raid5-7 + 1) + reserva

Aparência do VMAX vBricks em um rack:



Localizações do porto:



A configuração do array lógico em uma arquitetura certificada está alinhada com a configuração e as melhores práticas do Dell EMC.

  • Versão do HyperMaxOS: 5977.1131.1131
  • Criptografia: Ativada
  • Compactação: desativada
  • Perfil de desempenho do sistema: básico

Distribuição principal:




Configuração de LUN


Todos os LUNs são configurados como THIN LUNs em um pool virtual criado em 64 unidades. Os dados são distribuídos por todas as unidades flash nos dois vBricks. No total, 35 LUNs são definidos no Dell EMC VMAX:

  • 16 LUNs de 8 TB para dados do usuário (total de 128 TB)
  • 16 LUN ou 2 TB para tempdb (total de 32 TB)
  • Tamanho de 2 LUN de 2 TB para a revista (total de 4 TB)

As portas front-end do Fibre Channel (FC) são configuradas para usar quatro domínios de failover no modo de porta virtual. Cada porta é conectada um a um a uma porta no VMAX, que serve apenas um LUN de dados e um LUN Tempdb. Para cada um deles, existe um LUN para separar as operações de leitura e gravação no LUN (ao executar GROUP BY ou ORDER BY, os dados são gravados primeiro no Tempdb antes de serem usados ​​em outra parte da consulta ou apresentados ao usuário). Cada LUN é mapeado para quatro portas FA e é acessível de quatro maneiras.

Mapeamento de porta:



Grupos de armazenamento VMAX (SG)


Os seguintes grupos de armazenamento foram criados:



Cache de leitura e gravação


O cache do VMAX é global, usado dinamicamente para leitura e gravação. As configurações padrão são usadas para limitar a espera pela gravação no sistema. Como o sistema usa apenas um aplicativo, não há necessidade de criar partições de cache.

Conecte-se ao servidor e ao MPIO


O Windows Server 2016 usou seu próprio MPIO. Sua alternativa é o software PowerPath para aplicativos Dell EMC.

Roteamento de cabos


As portas superiores dos comutadores Brocade são usadas para conectar o servidor BullSequana S800. Cada porta par do Emulex HBA é conectada às portas superiores à esquerda do comutador Brocade. Cada uma das portas Outbus Emulex HBA está conectada às portas superiores à esquerda do comutador Brocade_2. As portas inferiores são usadas apenas para conectar as portas Dell EMC VMAX FC.

Configuração de servidor único


O diagrama a seguir mostra o cabeamento entre o BullSequana S800 e o Dell EMC VMAX 250F. O posicionamento do HBA pode variar dependendo do posicionamento dos módulos do HBA.



Conexões de cabo na configuração do servidor de alta disponibilidade


O diagrama abaixo mostra como conectar dois servidores BullSequana S800 em uma configuração de alta disponibilidade com um Dell EMC VMAX 250F. Mais uma vez, o posicionamento do HBA pode variar dependendo do posicionamento dos módulos do HBA.



Acima, no lado esquerdo do comutador Brocade, a metade esquerda das portas do primeiro servidor S800 é destacada, e no lado direito da imagem estão as portas corretas e o segundo servidor S800 está conectado a elas.

Configuração do servidor BullSequana S800


BIOS do sistema


Todos os parâmetros, exceto a configuração de rede BMC, foram deixados nas configurações padrão de fábrica. A configuração Processador lógico na seção Configurações do processador permanece por padrão ativada. Isso ativa a tecnologia Intel Hyper-Threading, que maximiza o número de processadores lógicos disponíveis para o SQL Server.

Emulex LPe31002-M6 16 Gbps


Todos os HBAs Emulex estão disponíveis através do Emulex OneCommand Manager. As versões de firmware e driver usadas durante a certificação Microsoft DWH Fast Track são 12.0.193.13.



É importante que todos os HBAs tenham o mesmo firmware. O firmware mais recente pode ser baixado do site da Broadcom. As atualizações de firmware podem ser executadas usando o botão "Download de firmware" no Emulex OneCommand Manager. Alterar o driver e / ou firmware pode exigir uma reinicialização do servidor.

Com exceção do parâmetro QueryDept, que foi alterado de 32 para 64, todos os outros parâmetros de host e HBA permaneceram por padrão.



Configuração do Windows Server 2016


Instalação


A instalação do Windows foi realizada com as configurações padrão. Após a instalação, a função Windows MPIO foi ativada, conforme mostrado na figura abaixo.



Depois de instalar a função MPIO, o Windows deve ser reiniciado.

Instalando drivers e pacotes


É importante ter drivers e pacotes no armazenamento USB, pois eles não estão incluídos no catálogo de drivers do Windows incluído no DVD de instalação (os adaptadores de rede são mais recentes que o Windows Server 2016). Após a instalação do Windows e MPIO, os seguintes drivers e pacotes foram instalados (na ordem especificada):

  1. Chipset INF Intel versão 10.1.17711.8088_PV ou posterior (reinicialização necessária)
  2. Driver MegaRAID para Windows 2016 versão 6.14-6.714.05.00-WHQL (é necessário reiniciar)
  3. PROWinx64 para família Intel XL7xx versão 23_2 ou posterior
  4. OneInstall-Setep-12.0.193.18.exe ou posterior

Configurações de energia


Para maximizar o desempenho, o servidor foi configurado para usar um plano de alto desempenho.



Bloquear páginas na memória


Para impedir que o sistema operacional Windows envie páginas de dados para a memória virtual em disco e o SQL Server possa usar o processo para salvar dados na memória física (RAM), a opção Bloquear páginas na memória da conta de serviço do SQL Server foi ativada. Você deve reiniciar o SQL Server para que esta opção entre em vigor.

Unidades do Windows


Depois que o zoneamento é concluído nos comutadores VMAX e LUN, eles são exibidos no Gerenciamento de Disco do Windows.



Se todas as unidades estiverem formatadas corretamente, o Gerenciamento de Disco do Windows exibirá a seguinte lista:



Existem 34 LUNs no total:

  • 16 LUNs de 8 TB para dados do usuário (total de 128 TB)
  • 16 LUN ou 2 TB para tempdb (total de 32 TB)
  • Tamanho de 2 LUN de 2 TB para a revista (total de 4 TB)

Para arquiteturas de referência DWFT, a Dell EMC e eu recomendamos o uso de pontos de montagem para volumes em vez de letras de unidade. Recomendamos que você atribua nomes de volume e ponto de montagem apropriados para simplificar a solução de problemas e a análise de desempenho. Idealmente, os nomes dos pontos de montagem devem ser atribuídos de maneira a simplificar a identificação do volume VMAX para esse volume do Windows.

A tabela a seguir mostra os rótulos de volume e os caminhos de acesso usados ​​para a configuração de referência:



Depois que todos os LUNs estiverem prontos, o diretório C: \ Storage terá a seguinte aparência:



MPIO


A política MPIO para todos os volumes é definida na seção Menos departamento da fila.


Configuração do Windows Defender


O Windows Defender é um componente antivírus e anti-spam padrão. Para impedir que os dados e arquivos de log do SQL Server sejam verificados (para desempenho), as seguintes exceções devem ser adicionadas.

Pastas em um servidor:

  • C: \ Arquivos de Programas (x86) \ Microsoft SQL Server
  • C: \ Arquivos de Programas \ Microsoft SQL Server
  • C: \ Storage (solução de servidor único)

Pastas em uma solução de alta disponibilidade (HA):
  • C: \ Arquivos de Programas (x86) \ Microsoft SQL Server
  • C: \ Arquivos de Programas \ Microsoft SQL Server
  • C: \ ClusterStorage (solução altamente acessível)
  • C: \ Windows \ Cluster
  • Unidade de quorum
  • Unidade MSDTC

Tipos de arquivo:
  • .ldf
  • .mdf
  • .ndf

Configuração do SQL Server 2017 Enterprise Edition


A instalação é feita principalmente usando as configurações padrão. Algumas exceções estão listadas abaixo. Durante a instalação do SQL Server 2017, a opção Executar tarefa de manutenção de desempenho está selecionada.

Configuração Tempdb


O banco de dados Tempdb está configurado para usar 16 arquivos do mesmo tamanho. Arquivos de dados Tempdb estão localizados em 16 volumes. O arquivo de log de transações tempdb é colocado no disco em que os logs são mantidos. O zoom automático está ativado.

Opções de inicialização para uma instância do SQL Server


O SQL Server 2017 define automaticamente os sinalizadores de rastreamento -T1117 e -T1118, para que você não precise mais adicioná-los às opções de inicialização da instância. Se você não usar o sinalizador de rastreamento -T834, será obtido um melhor desempenho. A Microsoft recomenda não usar esse sinalizador ao usar índices de armazenamento em colunas em cluster.

O único parâmetro inicial é o sinalizador -E:



Para obter mais informações sobre este tópico, consulte Microsoft DBCC TRACEON - Opções de inicialização do serviço de mecanismo de banco de dados e sinalizadores de rastreamento .

Memória máxima do SQL Server


A memória máxima do servidor para essa arquitetura de referência deve ser definida como 11.534.336 MB ou 11.264 GB, em que 1,024 GB é alocado para o sistema operacional. Se aplicativos adicionais compartilharem o servidor, você deverá ajustar a quantidade de memória disponível para o sistema operacional.



Concorrência máxima (MAXDOP)


O grau máximo de paralelismo é definido em 448, que corresponde ao número de núcleos lógicos disponíveis no servidor.



Gerenciamento de recursos


Dependendo do tipo de carga de trabalho usada - o armazenamento com o maior número de linhas (RS) ou o armazenamento em coluna em cluster (CS) -, você deve configurar o Administrador de Recursos adequadamente.

Para o armazenamento de cadeias, o parâmetro regulador de recursos usado para limitar a quantidade máxima de memória é definido como 12 por cento.

ALTER WORKLOAD GROUP [default] WITH (request_max_memory_grant_percent=12); ALTER RESOURCE GOVERNOR RECONFIGURE; 

Para armazenamento de coluna, a configuração do controlador de recurso usada para limitar a quantidade máxima de memória é definida como 25 por cento.

 ALTER WORKLOAD GROUP [default] WITH (request_max_memory_grant_percent=25); ALTER RESOURCE GOVERNOR RECONFIGURE; 

Configuração do banco de dados


O banco de dados do armazém de dados foi configurado para usar vários grupos de arquivos, cada um contendo 16 arquivos distribuídos igualmente em dezesseis volumes de dados. Todos os arquivos podem crescer automaticamente. Grupos de arquivos foram configurados com o parâmetro AUTOGROW_ALL_FILES para garantir que todos os arquivos em um determinado grupo de arquivos permaneçam os mesmos.

 ALTER DATABASE <database name> MODIFY FILEGROUP <file group name> AUTOGROW_ALL_FILES; 

Complementos para a arquitetura de link de alta disponibilidade (HA)


A arquitetura de referência de alta disponibilidade usa o Windows Failover Clustering para fornecer alta disponibilidade. A configuração de um cluster de failover do Windows tem problemas adicionais de armazenamento. A configuração recomendada permite que todas as vozes do cluster votem no quorum e usem o disco.

Um volume adicional deve ser criado e configurado como disco testemunha. A Dell EMC recomenda o uso de 2 GB de espaço em disco. Todos os volumes devem ser mapeados para cada nó do cluster, configurados como um recurso de cluster e adicionados ao grupo de recursos de cluster do SQL Server.

Conclusão


Em conclusão, provavelmente destacaremos a vantagem mais importante da configuração - a capacidade de conectar um grande número de adaptadores HBA. Isso permite equilibrar o aumento de módulos de armazenamento com eles.


E este é o certificado para a configuração do ATOS BullSequana S800 e Dell EMC VMAX 250F. Você pode ver as métricas de teste nele.

Em um futuro próximo, planejamos transferir soluções para a arquitetura do Cascade Lake. Isso levará ao início de uma nova certificação que complementará a atual. Teremos o maior prazer em responder suas perguntas sobre certificação e nossa arquitetura nos comentários.

Source: https://habr.com/ru/post/pt438356/


All Articles