Confiabilidade no Armazenamento em Disco do Azure

Armazenamento em Disco do Azure fornece discos gerenciados para VMs (máquinas virtuais) Azure. Criado para cargas de trabalho comercialmente críticas, ele garante a confiabilidade e a disponibilidade de nível empresarial. Seus dados são replicados automaticamente para se proteger contra falhas de hardware, com várias opções de redundância para atender aos seus requisitos de durabilidade.

Quando você usa o Azure, a confiabilidade é uma responsabilidade compartilhada. Microsoft fornece uma variedade de recursos para dar suporte à resiliência e recuperação. Você é responsável por entender como esses recursos funcionam em todos os serviços que você usa e selecionar os recursos necessários para atender aos seus objetivos de negócios e metas de tempo de atividade.

Este artigo descreve como tornar Armazenamento em Disco do Azure resilientes a várias possíveis interrupções e problemas, incluindo falhas transitórias, falhas na zona de disponibilidade e falhas em toda a região. Ele também descreve as opções de backup e recuperação e realça as principais informações sobre o SLA (contrato de nível de serviço) Armazenamento em Disco do Azure.

Importante

Quando você considera a confiabilidade de um disco, também precisa considerar a confiabilidade de suas VMs, infraestrutura de rede e aplicativos executados em suas VMs. Melhorar a resiliência do disco sozinho poderá ter impacto limitado se os outros componentes não forem igualmente resilientes. Dependendo dos requisitos de resiliência, talvez seja necessário fazer alterações de configuração em várias áreas.

Recomendações de implantação de produção

O Azure Well-Architected Framework fornece recomendações para confiabilidade, desempenho, segurança, custo e operações. Para entender como essas áreas influenciam umas às outras e contribuem para uma solução de Armazenamento em Disco do Azure confiável, consulte as práticas recomendadas Architecture para Armazenamento em Disco do Azure.

Visão geral da arquitetura de confiabilidade

Cada VM usa discos para diferentes finalidades:

  • Disco do sistema operacional: Um único disco do sistema operacional executa o sistema operacional. Por padrão, é um disco gerenciado que persiste os dados. Você também pode usar discos de SO efêmeros, que não são gerenciados. Evite usar o disco do sistema operacional para armazenar aplicativos ou dados.
  • Discos de dados: Zero ou mais discos gerenciados para armazenar aplicativos e dados.
  • Disco temporário: Um disco não persistente e não gerenciado incluído em todas as VMs.

Este guia se concentra especificamente em discos gerenciados, que persistem dados de forma confiável. Para saber mais sobre as diferentes funções de disco, consulte as funções de disco.

Os discos gerenciados foram projetados para 99.999% disponibilidade de VM e fornecem pelo menos 99,99999999999% (11 9s) de durabilidade. Quando você usa discos gerenciados, seus dados são replicados três vezes. Se uma das três cópias ficar indisponível, Azure criará automaticamente uma nova cópia dos dados em segundo plano. Esse processo garante a persistência de seus dados e a alta tolerância a falhas.

Por padrão, os discos gerenciados usam LRS (armazenamento com redundância local). O LRS mantém três cópias dos dados do disco em um único datacenter, o que protege contra falhas de hardware, como problemas em unidades ou racks de servidor.

Embora o LRS proteja seus discos contra falhas no rack do servidor e na unidade, ele não contabiliza desastres como incêndio ou inundações dentro de um datacenter. Para níveis mais altos de proteção, use o ZRS (armazenamento com redundância de zona), que replica seus discos em várias zonas de disponibilidade.

Para aplicativos executados em várias VMs, várias VMs têm o SLA de maior disponibilidade quando distribuídas entre várias zonas de disponibilidade. Para VMs e discos distribuídos em várias zonas de disponibilidade, os discos e as VMs às quais pertencem são colocados, respectivamente, na mesma zona, o que impede que várias VMs fiquem indisponíveis, mesmo que uma zona inteira sofra uma interrupção.

Quando as zonas não estiverem disponíveis ou sua carga de trabalho estiver sensível à latência entre VMs, implante VMs e discos em vários domínios de falha. Os domínios de falha não fornecem redundância de zona, mas reduzem o impacto de falhas de hardware, interrupções de rede ou interrupções de energia. Isso impede que várias VMs falhem se um domínio de falha de armazenamento falhar.

Resiliência a falhas transitórias

Falhas transitórias são falhas curtas e intermitentes nos componentes. Elas ocorrem com frequência em um ambiente distribuído, como a nuvem, e são uma parte normal das operações. Falhas transitórias se corrigem após um curto período de tempo. É importante que seus aplicativos possam lidar com falhas transitórias, geralmente repetindo solicitações afetadas.

Todos os aplicativos hospedados na nuvem devem seguir as diretrizes transitórias de tratamento de falhas Azure quando se comunicam com apis, bancos de dados e outros componentes hospedados na nuvem. Para obter mais informações, confira Recomendações para tratamento de falhas transitórias.

Os discos gerenciados se recuperam automaticamente de falhas transitórias na infraestrutura Azure.

Resiliência a falhas de zona de disponibilidade

as zonas Availability são grupos fisicamente separados de datacenters em uma região Azure. Quando uma zona falha, os serviços podem fazer o failover de uma das zonas restantes.

Há duas maneiras de usar zonas de disponibilidade com discos gerenciados:

  • Você pode implantar um disco ZRS, que está localizado em três zonas de disponibilidade em uma região. Para obter a melhor confiabilidade, recomendamos que você use discos ZRS porque os discos ZRS fornecem resiliência automática de zona.
  • Você pode implantar um disco LRS zonal, que está localizado apenas em uma única zona. Ao usar discos LRS zonais, você é responsável por configurar sua carga de trabalho para ser resiliente a interrupções de zona. Você consegue essa resiliência implantando várias VMs e discos e localizando-os entre zonas de disponibilidade.

Se você não configurar o suporte à zona de disponibilidade, o disco será nonzonal ou regional e poderá ser colocado em qualquer zona de disponibilidade na região. Esses discos são considerados LRS porque são replicados dentro da região.

Discos com redundância de zona

O ZRS replica seus dados de forma síncrona em três zonas de disponibilidade em uma região. Quando você habilita a redundância de zona para um disco gerenciado, Azure garante que uma falha em qualquer zona única não afete a disponibilidade de dados.

Diagrama de um disco com redundância de zona. Suas réplicas são distribuídas em três zonas de disponibilidade na região.

Os discos ZRS podem ser compartilhados entre VMs para melhorar a disponibilidade para aplicativos clusterizados ou distribuídos, como SQL Server FCI, SAP ASCS/SCS ou GFS2. Você pode anexar um disco ZRS compartilhado a VMs primárias e secundárias em zonas diferentes, aproveitando discos ZRS e VMs distribuídas em várias zonas de disponibilidade. Se a zona primária falhar, você poderá fazer failover rapidamente para a VM secundária usando a reserva persistente SCSI.

Se um disco ZRS estiver anexado como um disco de dados a uma única VM em uma zona inativa, você poderá forçar a desanexação do disco da VM com falha e anexá-lo a outra VM.

Requisitos

  • Suporte à região: Para obter uma lista de regiões que dão suporte a discos gerenciados do ZRS, consulte as opções de redundância para discos gerenciados.

  • Tipos de disco: Há suporte para discos com redundância de zona com discos gerenciados SSD Premium e SSD Standard. ZRS não é compatível com discos gerenciados Premium SSD v2, Ultra Disks ou Standard HDD.

Custo

O ZRS incorre em um custo maior do que o LRS devido à sobrecarga de replicação e à infraestrutura adicionais necessárias para manter dados em várias zonas. A diferença exata de custo varia de acordo com o tipo de disco e região. Para obter informações detalhadas sobre preços, consulte preços de disco gerenciado do Azure.

Configurar o suporte à zona de disponibilidade

  • Criar um novo disco ZRS: Para criar um novo disco gerenciado do ZRS, consulte Tutorial – Gerenciar discos Azure com o CLI do Azure para VMs Linux ou Tutorial: gerenciar discos com Azure PowerShell para VMs Windows. Selecione uma camada de disco ZRS durante a criação do disco.

    Você é responsável por anexar seu disco a VMs, incluindo a configuração de discos compartilhados em várias VMs em zonas diferentes, se isso for apropriado para sua carga de trabalho.

  • Altere um disco existente para usar o ZRS: Você pode converter um disco nonzonal (regional) existente em ZRS.

    Embora não seja possível converter um disco LRS zonal em ZRS, você pode criar um novo disco ZRS a partir de um instantâneo. Consulte Converter um disco de LRS em ZRS para obter procedimentos e requisitos de migração passo a passo.

  • Desabilitar o suporte à zona de disponibilidade: Você não pode alterar a configuração da zona de disponibilidade de um disco ZRS existente. Em vez disso, você precisa criar um novo disco com a nova configuração usando um instantâneo do disco anterior e, em seguida, excluir o antigo.

Comportamento quando todas as zonas estão saudáveis

Esta seção descreve o que esperar quando você configura discos gerenciados para ZRS e todas as zonas de disponibilidade estão operacionais.

  • Cross-zone operation: Azure gerencia automaticamente o roteamento de tráfego entre zonas de disponibilidade quando você usa uma VM com um disco com redundância de zona. Durante as operações normais, as solicitações são distribuídas entre zonas de forma transparente.

  • Replicação de dados entre zonas: Os discos ZRS replicam cada gravação de forma síncrona em várias zonas de disponibilidade na região. Uma operação de gravação é concluída somente depois que os dados são armazenados em clusters em várias zonas. Essa abordagem fornece consistência forte e alta disponibilidade, mas pode introduzir latência de gravação ligeiramente maior em comparação com discos LRS.

Comportamento durante uma falha de zona

Esta seção descreve o que esperar quando você configura um disco gerenciado para ZRS e há uma interrupção em uma das zonas de disponibilidade.

  • Detecção e resposta: Interrupções de zona podem afetar apenas discos, somente VMs ou ambos. O comportamento depende se a interrupção da zona afeta a VM anexada ao disco.

    Se a VM permanecer íntegra, mas o disco for afetado pela interrupção, sua VM continuará operando. A Microsoft redireciona automaticamente as operações de disco para trabalharem com os dados em zonas de disponibilidade saudáveis, e não há nada que você precise fazer.

    Se a VM estiver inativa, você precisará mudar sua carga de trabalho para outra VM em uma zona de disponibilidade diferente.

    • Discos compartilhados: Se você já criou a VM secundária em uma zona diferente e configurou discos compartilhados, o disco estará disponível para a VM secundária usar. Nenhuma alteração de configuração é necessária.

    • Discos que não são compartilhados: Você pode desanexar à força o disco da VM com falha e depois anexá-lo a uma VM em uma zona saudável. Para executar um desanexão de força:

  • Notification: Microsoft não notifica automaticamente quando uma zona está inoperante. No entanto, você pode usar Azure Resource Health para monitorar a integridade de um recurso individual e pode configurar alertas Resource Health para notificar você sobre problemas. Você também pode usar Integridade do Serviço do Azure para entender a integridade geral do serviço, incluindo quaisquer falhas de zona, e você pode configurar alertas Service Health para notificar você sobre problemas.
  • Perda de dados esperada: Nenhuma perda de dados ocorre durante falhas de zona.

  • Tempo de inatividade esperado: Quando o disco é compartilhado entre várias VMs, nenhum tempo de inatividade é esperado.

  • Redistribution: Azure redireciona automaticamente o tráfego para outra cópia do disco que está em uma zona íntegra.

Recuperação de zona

Azure detecta automaticamente quando a zona com falha anterior está íntegra e restaura a sincronização de dados para a zona recuperada.

Discos LRS zonais

Os discos LRS zonais residem em uma zona de disponibilidade específica e são anexados somente a VMs nessa zona. Todas as cópias dos dados do disco estão na mesma zona. Um único disco LRS zonal e uma VM não fornecem resiliência de zona. Se a zona que contém o disco sofrer uma interrupção, o disco poderá ficar indisponível.

Diagrama que mostra um disco LRS zonal. Suas réplicas estão todas em uma única zona de disponibilidade.

Para cargas de trabalho de várias VMs, você pode obter resiliência de zona implantando várias VMs e seus discos LRS zonais em diferentes zonas de disponibilidade. Essa abordagem é a maneira mais comum de obter alta disponibilidade para cargas de trabalho como servidores Web, camadas de aplicativo e clusters de banco de dados. Se uma zona falhar, você poderá configurar sua carga de trabalho para continuar a operar usando as VMs em zonas íntegras.

Diagrama que mostra três VMs em zonas diferentes, cada uma com seu próprio disco LRS zonal.

Esse padrão de distribuição de várias zonas funciona com todos os tipos de disco, incluindo SSD Premium v2 e Ultra Disks, que só dão suporte a LRS. Para obter mais informações sobre essa abordagem, consulte Distribuir VMs e discos entre zonas de disponibilidade.

Requisitos

Custo

Discos LRS zonais são cobrados na mesma taxa que discos nonzoais. Para obter informações detalhadas sobre preços, consulte preços de disco gerenciado do Azure.

Configurar o suporte à zona de disponibilidade

  • Criar um novo disco com suporte à zona de disponibilidade: Para criar um novo disco gerenciado com redundância de LRS zonal, consulte Tutorial – Gerenciar discos Azure com o CLI do Azure para VMs Linux ou Tutorial – Gerenciar discos com Azure PowerShell para VMs Windows.

    Selecione a zona de disponibilidade durante a criação do disco.

    Importante

    A anexação a uma única zona de disponibilidade só é recomendada quando a latência entre zonas é muito alta para suas necessidades e depois de verificar se a latência não atende aos seus requisitos. Por si só, um recurso zonal não fornece resiliência a uma interrupção de zona de disponibilidade. Para melhorar a resiliência de um recurso zonal, você precisa implantar explicitamente recursos separados em várias zonas de disponibilidade e configurar o roteamento e o failover de tráfego. Para obter mais informações, consulte recursos zonais e resiliência de zona.

  • Altere a configuração da zona de disponibilidade de um disco existente: Não é possível alterar a configuração da zona de disponibilidade de um disco LRS zonal existente. Em vez disso, você precisa criar um novo disco que tenha a nova configuração usando um instantâneo do disco anterior e, em seguida, excluir o antigo.

Comportamento quando todas as zonas estão saudáveis

Esta seção descreve o que esperar quando você configura um disco gerenciado para LRS zonal e todas as zonas de disponibilidade estão operacionais.

  • Operação entre zonas: O tráfego entre uma VM zonal e um disco LRS zonal na mesma zona permanece dentro da zona de disponibilidade.

    Ao implantar várias VMs entre zonas, você é responsável por distribuir solicitações de entrada entre as VMs. Cada VM lê e grava em seu próprio disco zonal.

  • Replicação de dados entre zonas: Todas as operações de gravação em discos LRS zonais são replicadas de forma síncrona dentro da zona de disponibilidade.

    Ao implantar várias VMs entre zonas, se sua carga de trabalho exigir consistência de dados entre VMs, você será responsável por sincronizar dados. Por exemplo, você pode usar replicação de banco de dados ou replicação de camada de aplicativo.

Comportamento durante uma falha de zona

Esta seção descreve o que esperar quando você configura um disco gerenciado para LRS zonal e há uma interrupção em uma das zonas de disponibilidade.

  • Detecção e resposta: Se você tiver uma única VM com um disco LRS zonal, será responsável por detectar uma interrupção de zona e disparar um failover ou outra resposta.

    Quando você tem VMs distribuídas em várias zonas, você é responsável por configurar sua carga de trabalho para detectar falhas de zona e continuar a executar nas VMs que estão em zonas íntegras.

  • Notification: Microsoft não notifica automaticamente quando uma zona está inoperante. No entanto, você pode usar Azure Resource Health para monitorar a integridade de um recurso individual e pode configurar alertas Resource Health para notificar você sobre problemas. Você também pode usar Integridade do Serviço do Azure para entender a integridade geral do serviço, incluindo quaisquer falhas de zona, e você pode configurar alertas Service Health para notificar você sobre problemas.
  • Perda de dados esperada: A replicação LRS fornece pelo menos 99,999999999999% (11 9s) de durabilidade, de modo que o disco retém seus dados e os dados podem ser recuperados após a recuperação da zona.

    Quando você tem VMs distribuídas entre zonas, todos os dados que estavam apenas nos discos na zona com falha estão temporariamente indisponíveis. Se seu aplicativo sincronizar dados entre VMs, as VMs em zonas íntegras continuarão a atender solicitações usando seus próprios dados.

  • Tempo de inatividade esperado: Um único disco LRS zonal fica indisponível até que a zona de disponibilidade se recupere.

    Quando você tem VMs e discos distribuídos entre zonas, sua carga de trabalho pode continuar operando nas VMs em zonas saudáveis.

  • Redistribuição: Se você tiver uma única VM com um disco LRS zonal, será responsável por redirecionar o tráfego para outra VM, se tiver uma disponível.

    Quando você tiver VMs distribuídas entre zonas, poderá configurar sua carga de trabalho para redistribuir automaticamente o tráfego para VMs em zonas íntegras.

Recuperação de zona

Quando a zona de disponibilidade com falha é recuperada, os discos gerenciados se recuperam automaticamente. Se a VM anexada ao disco tiver sido afetada pela interrupção, ela será reiniciada. Você é responsável por ressincronizar os dados do aplicativo para outras VMs e discos em outras zonas de disponibilidade, caso os esteja utilizando.

Testar falhas em zonas

Você não pode simular diretamente falhas de zona no nível do disco, mas pode usar o suporte Azure Chaos Studio para simulando eventos de zona para baixo em conjuntos de dimensionamento de máquinas virtuais e simulando a perda de uma VM individual.

Você deve testar a resiliência do aplicativo a falhas de zona e ao comportamento do disco gerenciado durante interrupções. Monitore o desempenho do disco durante interrupções de zona simuladas e valide se seus aplicativos lidam com maior latência adequadamente. Implemente cenários de teste automatizados que verifiquem se seus aplicativos podem lidar com atrasos temporários de E/S e forçar operações de desanexação para discos compartilhados.

Resiliência a falhas em toda a região

Armazenamento em Disco do Azure é um serviço de região única que opera dentro dos limites de uma região de Azure específica. O serviço não oferece recursos nativos de múltiplas regiões nem failover automático entre regiões. Se uma região ficar indisponível, os recursos de disco gerenciado nessa região também ficarão indisponíveis.

Soluções personalizadas de várias regiões para resiliência

Você pode criar uma solução de várias regiões implantando VMs e discos em cada região, replicando ou fazendo backup de dados entre regiões e fazendo failover ou restauração de backups quando necessário. Você é responsável por gerenciar recursos em todas as regiões, coordenar e sincronizar dados e lidar com failover ou restauração. Algumas abordagens comuns incluem:

Backup e restauração

Azure discos gerenciados dão suporte a várias abordagens de backup para proteger contra perda de dados e corrupção. Azure Disk Backup é uma solução nativa em nuvem que automatiza a gestão do ciclo de vida de snapshots. Ele fornece backups incrementais consistentes em caso de falhas, com políticas de retenção configuráveis. Essa abordagem sem agente dá suporte a vários backups por dia sem afetar o desempenho do aplicativo e se integra ao centro de Backup do Azure para gerenciamento centralizado. Você pode usar instantâneos incrementais para reduzir os custos de armazenamento e os tempos de backup.

Para proteção no nível VM, Backup do Azure fornece backups consistentes com o aplicativo para toda a VM, incluindo todos os discos anexados. Essa abordagem é ideal quando você precisa de backup coordenado de vários discos ou backups com reconhecimento de aplicativo. Para cargas de trabalho de banco de dados, considere soluções de backup específicas do aplicativo que fornecem proteção consistente com transações e opções de recuperação mais rápidas.

Para cargas de trabalho críticas, implemente uma estratégia de backup em camadas que combina backup de disco Azure, replicação de instantâneo entre regiões e backups no nível do aplicativo para consistência de transação. Configure políticas de backup com base em seus requisitos de recuperação, necessidades de conformidade e considerações de custo.

Contrato de nível de serviço

O SLA (contrato de nível de serviço) para serviços de Azure descreve a disponibilidade esperada de cada serviço e as condições que sua solução deve atender para atingir essa expectativa de disponibilidade. Para obter mais informações, consulte SLAs para serviços online.

Armazenamento em Disco do Azure não fornece seu próprio SLA de disponibilidade, mas está incluído no SLA para VMs. A configuração do disco pode afetar o SLA de disponibilidade da VM.