O blog da AWS

Arquitetura do Amazon FSx for NetApp ONTAP for Microsoft SQL Server – Parte 1

Por Diego Voltz, Arquiteto de Soluções Sênior na AWS.

Quando se trata de bancos de dados empresariais, a camada de armazenamento é um dos componentes mais essenciais. Ela deve suportar de forma confiável os requisitos críticos em relação ao desempenho e à alta disponibilidade. O Amazon FSx for NetApp ONTAP é um serviço que fornece armazenamento multiprotocolo seguro, confiável, altamente performático e de classe empresarial.

Esta série de blogs focará principalmente nos blocos de construção do serviço Amazon FSx for NetApp ONTAP em conjunto com as cargas de trabalho do Microsoft SQL Server. Nosso objetivo é fornecer uma visão clara da camada de armazenamento, explicando os diferentes aspectos da configuração do serviço, os objetos necessários e como eles estão interconectados, capacitando você a tomar decisões arquitetônicas informadas. Também exploraremos configurações e melhores práticas usando o protocolo de Armazenamento de Blocos iSCSI para cargas de trabalho do SQL Server.

Benefícios do Amazon FSx for NetApp ONTAP

O FSx for ONTAP oferece uma variedade de benefícios projetados para atender às necessidades de clientes empresariais que buscam soluções de armazenamento de arquivos robustas, de alto desempenho e escaláveis. Uma das principais vantagens deste serviço é sua integração perfeita com os ambientes NetApp existentes, permitindo que as empresas aproveitem seus investimentos e conhecimentos atuais. O FSx for ONTAP oferece alto desempenho com baixa latência, garantindo que as aplicações que requerem acesso rápido e consistente aos dados possam operar de forma eficiente. Além disso, ele fornece recursos de segurança abrangentes, incluindo criptografia em repouso e em trânsito, gerenciamento de identidade e acesso e isolamento de rede, garantindo que os dados estejam bem protegidos contra acessos não autorizados. Além disso, o serviço suporta ambientes de nuvem híbrida, permitindo que as empresas gerenciem e migrem dados facilmente entre a infraestrutura local e a AWS, aumentando assim a flexibilidade operacional e a escalabilidade.

Single-AZ vs Multi-AZ

Dependendo da sua preferência de região, o Amazon FSx for NetApp ONTAP pode ter diferentes especificações de desempenho. O serviço é sempre altamente disponível e pode ser implantado em uma configuração Single-AZ ou Multi-AZ.

O modelo Single-AZ possui dois nós provisionados dentro da mesma Zona de Disponibilidade, cada um com uma cópia completa dos dados. É uma implantação ativa/passivo que pode falhar automaticamente e sem interrupções para o nó passivo e continuar a servir os dados. O SLA é de 99,9%.

O modelo Multi-AZ utiliza duas Zonas de Disponibilidade, com os dados espelhados de forma síncrona entre os nós. É uma configuração ativa/passivo que proporciona proteção adicional em caso de falha em uma Zona de Disponibilidade. O SLA para Multi-AZ é de 99,99%.

Especificações de desempenho
O serviço Amazon FSx for NetApp ONTAP possui diferentes especificações em termos de cache in-memory e NVMe, que são determinadas pela capacidade de throughput. A opção Multi-AZ sempre inclui cache NVMe, ao contrário da opção Single-AZ, onde ele está presente apenas se o throughput exceder 2.048 MBps.

O cache NVMe é um recurso de design funcional que ajuda a reduzir o número total de IOPS necessários pela carga de trabalho SQL. Se os dados que o cliente está acessando estiverem no cache NVMe, não há necessidade de ler os dados da camada de desempenho (SSD). Esse recurso ajuda a fornecer tempos de resposta rápidos e a lidar com mais solicitações de leitura.

Tipos de implantação

O serviço Amazon FSx for NetApp ONTAP possui dois tipos de implantação:

·       A implantação scale-up pode ser configurada em um ambiente Single-AZ ou Multi-AZ usando uma configuração ativa/standby. Os dois nós formam um par de Alta Disponibilidade (HA) e um cluster, onde a camada de desempenho pode atingir até 192 TiB e 160.000 IOPS. Eles escalam com base no throughput, que varia de 128 MBps a 4.096 MBps.

·       A opção de implantação scale-out está disponível apenas para implantações Single-AZ. Essa arquitetura pode alcançar 1 PiB na camada de desempenho com 2,4 milhões de IOPS e até 72 GBps de throughput de rede. A opção scale-out pode suportar até 12 pares HA (24 nós) em um único cluster.

Nesta série de blogs, focaremos nossa atenção no tipo de implantação scale-up juntamente com o Microsoft SQL Server.

Conceitos do ONTAP

O Amazon FSx for NetApp ONTAP é um sistema de arquivos que pode fornecer o protocolo iSCSI como um protocolo de armazenamento em blocos via Ethernet sobre uma camada de desempenho baseada em SSDs que hospedará dados do SQL. É importante entender as características do serviço e os conceitos necessários para arquitetar, projetar e configurá-lo adequadamente.

O FSx for ONTAP possui duas camadas: uma camada baseada em SSD e uma camada de pool de capacidade. A camada baseada em SSD é de alto desempenho, onde os dados “quentes” (mais acessados) residirão. Ela pode ser aumentada a qualquer momento e é identificada internamente como um pool de armazenamento. Veja a Figura 1.

Figure 1 – ONTAP conceito

Sobre a camada baseada em SSD, temos o volume. Diferentemente dos volumes Amazon EBS, que você pode anexar diretamente a uma instância Amazon EC2, um volume no FSx for ONTAP é um conceito diferente. Um volume é um objeto lógico onde seus dados residem e pode hospedar um ou mais LUNs (Logical Unit Numbers) para protocolos de armazenamento em blocos. Um volume é thin-provisioned por padrão, o que significa que o tamanho total do volume pode ser maior do que o armazenamento real disponível no sistema de arquivos (agregado).

Se o tamanho do volume provisionado for maior do que a camada baseada em SSD, isso pode levar a uma situação em que a carga de trabalho fique sem espaço. Nesse caso, o administrador deve conhecer profundamente a carga de trabalho e ter um plano adequado de monitoramento e gerenciamento de espaço definido.

LUNs são unidades de armazenamento básicas. As instâncias EC2 verão o LUN como um disco usando o protocolo iSCSI. Um LUN é tipicamente menor que um volume, e eles são provisionados de forma espessa por padrão, mas também podem ser configurados como provisionados de forma fina. Um LUN pode ser mostrado ou oculto usando um processo chamado mascaramento e mapeamento de LUN, que discutiremos mais tarde.

Quando se trata da camada de rede, é importante notar que o serviço em si possui diferentes tipos de objetos para diferentes propósitos.

A implantação scale-up compreende dois nós: os nós preferido e standby. Cada nó possui uma ENI (Elastic Network Interface), e juntos formam um par de HA (Alta Disponibilidade), criando um cluster único. Para servir dados, precisamos de uma SVM (Storage Virtual Machine) de dados. Dentro desta, sempre haverá uma SVM de administração e uma SVM de dados. Uma Storage Virtual Machine é um ambiente isolado onde os volumes de dados estão vinculados.

Ao implantar o FSx for ONTAP, sempre haverá três diferentes endpoints ou LIFs (Interfaces Lógicas). O primeiro está associado à administração e sempre passa pelo nó preferido. O serviço também possui outros dois LIFs, cada um relacionado aos nós preferido e standby. Esses são chamados de LIFs inter-cluster e são usados principalmente para replicar dados em outros sistemas Amazon FSx for NetApp ONTAP que podem estar na mesma AZ, em outra AZ ou em outra região usando SnapMirror.

Para alocar dados, você precisa ter pelo menos uma SVM de dados, e dependendo do throughput, você pode ter até 24 SVMs. Cada Storage Virtual Machine terá três LIFs, que fluirão pelas ENIs. Um dos LIFs está associado à administração, protocolos SMB e NFS, e fluirá pelo nó ativo. Em caso de failover, o nó standby servirá automaticamente esse LIF. Isso é controlado pela AWS atualizando a tabela de rotas. Para o protocolo iSCSI, o serviço possui dois LIFs, um associado ao nó preferido e o segundo ao nó standby. A instância EC2 que consome o serviço lida com o processo de failover usando MPIO (Multipath Input/Output) com ALUA (Acesso a Unidade Lógica Assimétrica), onde está conectada a ambos os nós simultaneamente com caminhos diretos chamados caminhos ativos/otimizados e caminhos indiretos chamados caminhos ativos/não otimizados. Veja a Figura 2 para detalhes da Camada de Rede.

Figura 2 – Arquitetura do NetApp ONTAP

Tipos de implantação do SQL

Neste blog, focamos em bancos de dados autogerenciados usando Amazon EC2 e Amazon FSx for NetApp ONTAP. Estes são usados principalmente quando você precisa de controle total sobre o mecanismo de banco de dados, configuração e sistema operacional.

Dois dos modelos de implantação de alta disponibilidade mais comuns para o SQL Server são:

● Always On Availability Group (AG)
● Always On Failover Cluster Instance (FCI)

A opção Always On Availability Group é amplamente utilizada porque pode facilmente alcançar alta disponibilidade entre diferentes Zonas de Disponibilidade (AZs). O Availability Group pode ser definido como um grupo de bancos de dados que serão protegidos, replicados e configurados. A granularidade dessa opção é a nível de banco de dados. Para proteção, os backups podem ser executados no banco de dados secundário que é replicado. A replicação ocorre na camada SQL, que pode ser síncrona ou assíncrona, e requer uma licença Microsoft SQL Server Enterprise Edition. Nesse caso, cada nó do cluster SQL possui seus próprios discos.

O Always On Failover Cluster Instance é uma tecnologia de cluster que funciona no nível do Windows Server e envolve armazenamento compartilhado entre os nós do cluster. Os clientes podem usar essa tecnologia com licenças Microsoft SQL Server Standard Edition ou Enterprise Edition. O armazenamento compartilhado deve ser apresentado aos nós, e várias opções estão disponíveis ao executar instâncias EC2. Uma delas é o Amazon FSx for NetApp ONTAP, que pode criar armazenamento compartilhado em diferentes zonas de disponibilidade usando o protocolo de armazenamento em blocos iSCSI. Com esta opção Multi-AZ, a alta disponibilidade é alcançada pelo serviço com replicação síncrona ocorrendo no nível de armazenamento. Esta tecnologia é bem conhecida em implantações on-premises e está disponível no Amazon FSx for NetApp ONTAP. Veja a Figura 3.

Figura 3 – Multi AZ

Nesta figura, o Amazon FSx for NetApp ONTAP é implantado em uma configuração multi-AZ, onde o nó preferido replica de forma síncrona para o nó standby. O mesmo disco compartilhado é apresentado usando o protocolo iSCSI para cada um dos nós do cluster SQL do EC2.

Existem configurações a serem feitas no nível do serviço, como SVMs, volumes e LUNs. A Figura 4 ilustra uma implantação clássica do Microsoft SQL FCI:

Figura 4 – Microsoft SQL FCI

Por que usar FSx for ONTAP em bancos de dados MS SQL?

Cache
O FSx for ONTAP melhora a velocidade de recuperação de dados por meio de suas capacidades de cache, armazenando dados frequentemente acessados mais próximos dos recursos de computação, o que reduz significativamente a latência e melhora o desempenho de leitura. Esse recurso é particularmente benéfico para aplicações que exigem acesso rápido e consistente aos dados, garantindo que elas operem de forma eficiente sem os atrasos que podem ocorrer ao acessar dados armazenados em locais mais distantes.

Snapshots
Os snapshots no FSx for ONTAP fornecem um método eficiente para proteção e recuperação de dados. Essas cópias de dados em um ponto no tempo permitem que os usuários revertam rapidamente para um estado anterior sem afetar as operações em andamento. Os snapshots são eficientes em termos de espaço, capturando apenas as alterações incrementais desde o último snapshot, o que ajuda a minimizar os custos de armazenamento. Essa funcionalidade é crucial para manter a integridade dos dados e garantir que informações críticas possam ser restauradas prontamente em caso de perda ou corrupção de dados.

Clones
Os clones oferecem uma solução poderosa para testes e desenvolvimento rápidos. O FSx for ONTAP permite que os usuários criem cópias graváveis de volumes de dados quase instantaneamente. Esses clones não consomem espaço adicional de armazenamento inicialmente, pois compartilham os mesmos blocos de dados do volume original até que sejam feitas alterações. Esse recurso permite que as equipes de desenvolvimento criem rapidamente ambientes de teste ou várias instâncias de um conjunto de dados sem incorrer em sobrecarga significativa de armazenamento, acelerando assim os processos de desenvolvimento e implantação.

Replicação
A replicação no FSx for ONTAP garante a disponibilidade e durabilidade dos dados, copiando automaticamente os dados entre diferentes regiões da AWS ou zonas de disponibilidade. Esse recurso é essencial para recuperação de desastres e continuidade dos negócios, pois oferece proteção robusta contra perda de dados. Ao manter cópias de dados críticos em locais geograficamente dispersos, a replicação garante que as aplicações possam continuar funcionando mesmo que ocorra uma falha em uma região. Isso aumenta a resiliência geral da infraestrutura de TI, apoiando operações ininterruptas e protegendo contra possíveis violações ou perdas de dados.

Conclusão
Nesta primeira parte fundamental, é crucial compreender a importância dos diversos serviços de armazenamento disponíveis na AWS. Cada serviço possui suas capacidades únicas, e entendê-las é essencial para construir uma arquitetura altamente disponível, eficiente e resiliente para a implantação do Microsoft SQL Server. Por exemplo, o Amazon FSx for NetApp ONTAP, parte da categoria File System X, oferece uma gama de recursos de classe empresarial, como desduplicação, compressão, thin-provisioning, snapshots e replicação. No próximo post da série de blogs, revelaremos por que e como podemos aproveitar esses recursos para nossa carga de trabalho específica, fornecendo uma arquitetura de referência com diretrizes para arquitetar bancos de dados Microsoft SQL com sucesso.

______________________________________________________________________________________________________________
 

Autor
Diego Voltz Diego Voltz atua como Arquiteto de Soluções Sênior no seguimento de enterprise na AWS no Sul da Florida. Ele atuou por 15 anos como CTO de Startups no seguimento de Web Hosting e Health, tendo como foco virtualização, Storage e containers, hoje ajuda os clientes da AWS na jornada de adoção da nuvem e na otimização dos custos no sul da Florida
Autor

Pedro Fernandes é Arquiteto de Soluções em Nuvem na NetApp Inc., com quase 20 anos de experiência no setor corporativo. Focado em tecnologias de datacenter, desde Armazenamento até Redes, ele é apaixonado por tecnologias que podem apoiar, transformar e resolver os desafios das empresas. Nos últimos anos, seu propósito tem sido em ambientes de nuvem, ajudando clientes a construir, arquitetar e otimizar cargas de trabalho. Fora do trabalho, ele gosta de passar tempo com a família, ler livros e praticar kitesurf.
Revisor

Rogerio Xavier Rogerio Xavier é Arquiteto de Soluções Sênior para parceiros da AWS, atua ajudando parceiros na jornada de parceria com a AWS e a entregar a melhor solução aos clientes. Com mais de 15 anos de experiência em infraestrutura de TI, arquitetura e administração de sistemas. Nos ultimos 7 anos ele se dedicou em Redes, Storage (Block e Object), Sistemas Operacionais, Messaging, Migração de dados, Serverless, além de modernização de aplicações. Ele adora passar o tempo livre com a família e jogar video-game.
Autor

Samuel Sousa é Arquiteto de Soluções especialista em Storage na AWS para a América Latina. Ele possui mais de 10 anos de experiência na área de arquitetura de soluções focado especificamente no armazenamento, gerenciamento, proteção e recuperação de dados. Juntou-se ao time da AWS em 2020 e, desde então, vem ajudando os clientes a migrar e a otimizar suas cargas de trabalho na nuvem.