Configurar o Azure Elastic SAN para SQL Server em VMs do Azure

Aplica-se a:SQL Server em VM no Azure

Este artigo ensina você a configurar uma SAN Elástica do Azure para seu SQL Server em VMs (Máquinas Virtuais) do Azure.

Visão geral

O Azure Elastic SAN é uma oferta de NAS que fornece aos clientes uma solução flexível e escalável com o potencial para reduzir custos por meio da consolidação de armazenamento. O Azure Elastic SAN oferece uma solução de armazenamento em bloco econômica, com desempenho superior e confiável que se conecta a uma variedade de serviços de computação do Azure via protocolo iSCSI. O Elastic SAN permite uma transição perfeita de um ambiente de armazenamento SAN existente para a nuvem sem a necessidade de refatorar a arquitetura de aplicativos do cliente.

Essa solução pode ser dimensionada para milhões de IOPS, dois dígitos de GB/s de taxa de transferência e latências baixas de um dígito de milissegundos, com resiliência integrada para minimizar o tempo de inatividade. Use o Azure Elastic SAN se precisar consolidar o armazenamento, trabalhar com vários serviços de computação ou tiver cargas de trabalho que exijam altos níveis de taxa de transferência ao direcionar o armazenamento pela largura de banda da rede. No entanto, como alcançar a IOPS/taxa de transferência desejada para cargas de trabalho do SQL Server geralmente requer capacidade de superprovisionamento, normalmente não é apropriado para cargas de trabalho individuais do SQL Server. Para obter a solução mais econômica com o Elastic SAN, considere usá-la como armazenamento para várias cargas de trabalho consolidadas do SQL Server ou uma combinação de SQL Server e outras cargas de trabalho de baixo desempenho.

Ao considerar o dimensionamento e o desempenho da VM para o Azure Elastic SAN, é importante entender que a comunicação de armazenamento ocorre pela rede. Por exemplo, o tamanho da VM E4d_v5 não dá suporte ao Armazenamento Premium do Azure, mas funciona bem com o Azure Elastic SAN, pois dá suporte à taxa de transferência de rede de até 12.500 Mbps. Ao usar o Azure Elastic SAN com esse tamanho de VM, você deve garantir que os requisitos de taxa de transferência de rede e armazenamento para sua carga de trabalho fiquem abaixo do limite de taxa de transferência de rede de 12.500 Mbps.

Determine seus requisitos de rede e armazenamento antes de implantar sua VM do SQL Server com uma SAN Elástica do Azure e, em seguida, monitore cuidadosamente a utilização de rede e armazenamento para confirmar se a VM escolhida pode acomodar a carga de trabalho. Para saber mais, examine o desempenho da VM com volumes de SAN Elástico e métricas de SAN Elástico.

Cuidado

O dimensionamento de VMs com o Elastic SAN deve acomodar os requisitos de taxa de transferência de rede entre as VMs, além da taxa de transferência de armazenamento. Ao usar SAN Elástico, os tamanhos de VM que otimizam a taxa de transferência de E/S podem não ser tão econômicos quanto os tamanhos de VM que otimizam a largura de banda de rede.

Considere colocar cargas de trabalho do SQL Server em SAN Elástico para obter melhor eficiência de custo porque:

  • Consolidação de armazenamento e compartilhamento dinâmico de desempenho: normalmente para o SQL Server em cargas de trabalho de VM do Azure, o armazenamento em disco é provisionado por VM com base em sua capacidade e requisitos de desempenho de pico para essa VM. Esse desempenho superprovisionado está disponível quando necessário, mas o desempenho não utilizado não pode ser compartilhado com cargas de trabalho em outras VMs. A SAN elástica, semelhante à SAN local, permite consolidar as necessidades de armazenamento de várias cargas de trabalho SQL e não SQL para obter melhor eficiência de custo, com a capacidade de compartilhar dinamicamente o desempenho provisionado entre os volumes provisionados para essas cargas de trabalho diferentes com base nas demandas de E/S. Por exemplo, na região Leste dos EUA, digamos que você tenha 10 cargas de trabalho que exigem capacidade de 2 TiB e IOPS de 10K cada, mas coletivamente não precisam de mais de 60.000 IOPS em nenhum momento. Você pode configurar uma SAN Elástica com 12 unidades base (1 unidade base = US$ 0,08 por GiB/mês) que lhe dará 12 TiB de capacidade e as 60 mil IOPS necessárias e 8 unidades somente de capacidade (1 unidade somente capacidade = US$ 0,06 por GiB/mês), o que oferece a capacidade restante de 8 TiB a um custo menor. Essa configuração de armazenamento ideal fornece melhor eficiência de custo, fornecendo o desempenho necessário (IOPS de 10K) para cada uma dessas cargas de trabalho. Para obter mais informações sobre a base de SAN elástica e unidades de provisionamento somente capacidade, consulte Planejamento para um Azure Elastic SAN e para preços, visite Azure Elastic SAN – Preços.
  • Para gerar uma taxa de transferência de armazenamento mais alta: as implantações de VM do SQL Server no Azure ocasionalmente exigem o excesso de provisionamento de uma VM devido aos limites de taxa de transferência de disco para essa VM. Você pode evitar isso com a Elastic SAN, já que gera uma maior taxa de transferência de armazenamento sobre a largura de banda da rede de computação com o protocolo iSCSI. Por exemplo, uma VM Standard_E32ds_v5 é limitada a 51.200 IOPS e 865 MBps para taxa de transferência de disco/armazenamento, mas pode atingir até um máximo de 2.000 MBps de taxa de transferência de rede. Se o requisito de taxa de transferência de armazenamento para sua carga de trabalho for maior que 865 MBps, você não precisará atualizar a VM para um SKU maior, pois agora ela pode dar suporte a até 2.000 MBps usando o ELASTIC SAN.

Conceitos de SAN

Para entender melhor como uma SAN pode funcionar para sua carga de trabalho do SQL Server, é importante entender os componentes de uma SAN.

A SAN Elástica do Azure foi projetada para simplificar a implantação, o dimensionamento e o gerenciamento do armazenamento em escala. Ele consiste em três componentes principais: a Elastic SAN, grupos de volumes e volumes.

  • Grupos de volumes: constructos de gerenciamento que permitem gerenciar volumes em escala. Todas as configurações ou configurações aplicadas a um grupo de volumes, como regras de rede virtual, são herdadas por todos os volumes associados a esse grupo de volumes. Isso é semelhante a como os grupos de recursos funcionam no Azure, fornecendo uma maneira de aplicar configurações e políticas em vários volumes.
  • Volumes: unidades de armazenamento individuais em que os dados são armazenados. Cada volume pode ser montado em clientes usando o protocolo iSCSI e eles dão suporte à montagem no Windows, Linux, AVS (Solução VMware) do Azure e AKS (Serviço de Kubernetes do Azure).

Para um DBA do SQL preocupado em separar arquivos de dados do SQL Server em unidades lógicas separadas:

  • Criar um grupo de volumes: esse grupo de volumes atua como um contêiner para seus volumes e herda todas as configurações que você aplicar a ele.
  • Criar volumes separados: nesse grupo de volumes, crie volumes separados para o disco hospedar dados, logs e arquivos de dados tempdb. Cada volume pode ser configurado com suas próprias configurações de desempenho e capacidade e são montados na máquina virtual como unidades lógicas separadas.

Essa configuração permite que você gerencie e configure seus recursos de armazenamento com eficiência, garantindo que os arquivos de dados do SQL Server (dados, log, tempdb) sejam armazenados em unidades lógicas separadas, conforme determinado pelas práticas recomendadas.

Pré-requisitos

Para configurar uma SAN Elástica do Azure para sua VM do SQL Server, você precisa dos seguintes pré-requisitos:

Criar e configurar o Azure Elastic SAN

Siga as instruções para criar um Azure Elastic SAN.

Sua SAN elástica deve estar no mesmo grupo de recursos, rede virtual e zona de disponibilidade que sua VM do Azure.

Depois que a SAN Elástica for criada, siga estas etapas para configurar sua SAN:

  1. Acesse sua nova SAN Elástica no portal do Azure.

  2. Em Gerenciamento de SAN, selecione Grupos de volumes para abrir o painel Grupos de volumes .

  3. Se um grupo de volumes ainda não existir, use + Criar no painel Grupos de volumes para criar um novo grupo de volumes. Se já existir um volume, modifique-o, se necessário, porque o grupo de volumes deverá:

    1. Habilite a Proteção de CRC se você estiver usando uma máquina virtual do Windows.
    2. Esteja na mesma rede virtual e sub-rede que a VM do Azure que você pretende usar para o SQL Server. Utilize a funcionalidade de Rede ao criar ou editar um grupo de volumes e, na lista suspensa, selecione Adicionar uma rede virtual existente para abrir o painel Adicionar rede. Selecione a assinatura, a rede virtual e a sub-rede apropriadas que a VM do Azure usa nas listas suspensas e selecione Adicionar.
  4. Vá para a página Volumes em Gerenciamento de SAN no portal do Azure para criar novos volumes no grupo de volumes. Para seguir as práticas recomendadas:

    1. Crie três volumes separados, um para dados do SQL Server, um para o log e outro para tempdb.
    2. Torne cada volume um tamanho diferente para que eles sejam fáceis de diferenciar no Gerenciamento de Disco.

Conectar volumes à VM

Depois de criar volumes em seu grupo de volumes, você pode conectá-los à máquina virtual.

Para conectar os volumes à máquina virtual, siga estas etapas:

  1. Vá para as páginas de volumes da sua Azure Elastic SAN no portal do Azure.

  2. Marque as caixas ao lado de todos os volumes que você deseja conectar à VM do SQL Server e selecione Conectar para abrir a página Conectar volumes :

    Captura de tela da página de volumes da SAN elástica no portal do Azure com a conexão selecionada.

  3. Se você ainda não fez isso, configure o acesso à rede para que o grupo de volumes esteja na mesma rede virtual e sub-rede que a VM do Azure que você pretende usar para o SQL Server. Se isso já estiver feito, vá para a próxima etapa. Caso contrário, use a lista suspensa Rede para selecionar Adicionar uma rede virtual existente para abrir o painel Adicionar rede . Selecione a assinatura, a rede virtual e a sub-rede apropriadas que a VM do Azure usa nas listas suspensas e selecione Adicionar.

  4. Escolha o sistema operacional apropriado e copie o script do PowerShell fornecido na etapa Conectar-se aos destinos . Salve esse script para uma etapa posterior.

  5. Conecte-se ao recurso virtual do Azure usando seu método preferido, como o Bastion.

Depois de se conectar à máquina virtual, abra uma sessão administrativa do PowerShell.

Primeiro, habilite o serviço iniciador iSCSI com os seguintes comandos do PowerShell:

# Confirm iSCSI is running
Get-Service -Name MSiSCSI

# If it's not running, start it
Start-Service -Name MSiSCSI

# Set it to start automatically
Set-Service -Name MSiSCSI -StartupType Automatic

Em seguida, instale o MPIO (Multipath I/O) com os seguintes comandos do PowerShell:

# Install Multipath-IO
Add-WindowsFeature -Name 'Multipath-IO'

# Verify if the installation was successful
Get-WindowsFeature -Name 'Multipath-IO'

# Enable multipath support for iSCSI devices
Enable-MSDSMAutomaticClaim -BusType iSCSI

# Set the default load balancing policy based on your requirements. In this example, we set it to round robin
# which should be optimal for most workloads.
mpclaim -L -M 2

Dica

Antes de conectar a VM à SAN, considere otimizar sua configuração de SAN seguindo as práticas recomendadas de SAN elástico.

Por fim, execute o script do PowerShell salvo anteriormente na etapa Conectar a destinos no portal do Azure para conectar os volumes à máquina virtual.

Depois que o script for concluído, você poderá usar o Gerenciamento de Disco (para Windows) para formatar os volumes e colocá-los online.

Instale o SQL Server

Instale o SQL Server na máquina virtual como faria normalmente, usando a mídia de instalação para a versão desejada do SQL Server.

Quando você chegar à página Configuração do Mecanismo de Banco de Dados, selecione a guia Diretórios de Dados e, em seguida, escolha os volumes de SAN Elástico como os locais para seus arquivos de dados:

Captura de tela da página de configuração do mecanismo de banco de dados de uma instalação do SQL Server, com a guia diretórios de dados selecionada.

Em seguida, use a guia TempDB para modificar o caminho do tempdb para que ele também esteja usando o volume SAN Elástico do Azure designado.

Depois que os diretórios de dados forem configurados para os arquivos de dados do SQL Server, prossiga com a instalação do SQL Server.

Registrar a extensão do Agente SQL IaaS

Para gerenciar sua VM do SQL Server no portal do Azure e desbloquear vários benefícios de recurso, registre-a na extensão do Agente IaaS do SQL usando o comando New-AzSQLVM .

O -LicenseType parâmetro pode ser:

Registre uma VM do SQL Server com o PowerShell usando o seguinte comando de exemplo:

# Get the existing compute VM
$vm = Get-AzVM -Name <vm_name> -ResourceGroupName <resource_group_name>

# Register SQL VM with SQL IaaS Agent extension
New-AzSqlVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName -Location $vm.Location `
   -LicenseType <license_type>

Observação

Não há suporte para o gerenciamento do armazenamento por meio do recurso de máquinas virtuais SQL para instâncias auto-instaladas do SQL Server usando o Azure Elastic SAN. Selecionar Configurar o armazenamento na guia Gerenciamento da página Armazenamento para o recurso de máquinas virtuais SQL no portal do Azure permite que você veja os volumes, mas não é possível modificá-los desta página. Use o recurso SAN Elástico do Azure para gerenciar volumes.

Modificar volumes

Você pode modificar o tamanho dos volumes existentes ou adicionar mais volumes na página Volumes do Azure Elastic SAN no portal do Azure.

Para modificar um volume existente, selecione o nome do volume para abrir a página Editar volume .

Para adicionar mais volumes, use + Criar volume na página Volumes para abrir a página Criar volume . Você precisa conectar esse volume à máquina virtual como fez com os outros volumes.

Aumentar tamanho e IOPS

Se você precisar aumentar a IOPS de seus volumes SAN, aumente o tamanho do volume da página Volumes do Azure Elastic SAN no portal do Azure para gerar o IOPS. Você pode aumentar cumulativamente o tamanho de cada volume até a capacidade máxima da SAN ou 64 TiB, o que for menor.

Se você precisar aumentar seu IOPS além disso, aumente a capacidade máxima do próprio SAN na página Configuração em Configurações do Azure Elastic SAN no portal do Azure. Altere o tamanho base para aumentar a capacidade máxima da SAN, aumentando assim o IOPS disponível para seus volumes.

Monitorar o desempenho

Você pode usar a página Métricas da SAN Elástica do Azure para monitorar o desempenho. Você também pode usar a guia Análise de E/S da página Armazenamento para suas máquinas virtuais SQL no portal do Azure para identificar o estrangulamento no nível da VM.

Práticas recomendadas

Considere as seguintes práticas recomendadas ao usar uma SAN Elástica do Azure com o SQL Server em VMs do Azure:

  • Use volumes separados para separar os arquivos de dados, logs e tempdb do SQL Server.
  • Habilite a proteção de CRC para máquinas virtuais do Windows.
  • Use o ZRS (armazenamento com redundância de zona) para alta disponibilidade.
  • Use um ponto de extremidade privado para que seus dados não acessem a Internet pública.
  • Se você for usar o recurso de Instantâneo de Volume para fazer backup dos seus dados do Azure Elastic SAN, agende os instantâneos fora do horário de pico para evitar problemas de desempenho.

Limitações

Considere as seguintes limitações ao usar uma SAN Elástica do Azure com o SQL Server em VMs do Azure:

  • Não há suporte para alterar a configuração de armazenamento por meio do recurso de máquinas virtuais sql no portal do Azure.