Partilhar via


Confiabilidade no Armazenamento de Discos do Azure

O Armazenamento de Discos do Azure fornece discos geridos para máquinas virtuais Azure (VMs). Concebido para cargas de trabalho críticas, assegura fiabilidade e disponibilidade de nível empresarial. Os seus dados são replicados automaticamente para evitar falhas de hardware, com múltiplas opções de redundância para satisfazer os seus requisitos de durabilidade.

Quando se usa Azure, fiabilidade é uma responsabilidade partilhada. A Microsoft disponibiliza uma variedade de capacidades para apoiar a resiliência e a 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 o Armazenamento de Discos do Azure resiliente a uma variedade de potenciais falhas e problemas, incluindo falhas transitórias, falhas em zonas de disponibilidade e falhas regionais. Descreve também as opções de backup e recuperação, e destaca informações chave sobre o acordo de nível de serviço (SLA) do Armazenamento de Discos do Azure.

Importante

Quando considera a fiabilidade de um disco, também precisa de considerar a fiabilidade das suas VMs, infraestrutura de rede e aplicações que correm nas suas VMs. Melhorar a resiliência do disco sozinho pode ter um impacto limitado se os outros componentes não forem igualmente resilientes. Dependendo dos seus 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 sobre fiabilidade, desempenho, segurança, custo e operações. Para compreender como estas áreas se influenciam mutuamente e contribuem para uma solução Armazenamento de Discos do Azure fiável, veja Práticas de Arquitetura para Armazenamento de Discos do Azure.

Visão geral da arquitetura de confiabilidade

Cada máquina virtual (VM) utiliza discos para diferentes finalidades:

  • Disco de SO: Um único disco de sistema operativo executa o sistema operativo. Por defeito, é um disco gerido que mantém dados. Também podes usar discos efémeros do sistema operativo, que não são geridos. Evite usar o disco do sistema operativo para armazenar aplicações ou dados.
  • Discos de dados: Zero ou mais discos geridos para armazenar aplicações e dados.
  • Disco temporário: Um disco não persistente e não gerido incluído em todas as VM.

Este guia foca-se especificamente em discos geridos, que persistem dados de forma fiável. Para saber mais sobre as diferentes funções de disco, veja Funções de disco.

Os discos geridos são concebidos para 99,999% disponibilidade de VM e proporcionam pelo menos 99,999999999% (11 9's) de durabilidade. Com discos gerenciados, seus dados são replicados três vezes. Se uma das três cópias ficar indisponível, o Azure gera automaticamente uma nova cópia dos dados em segundo plano. Isso garante a persistência de seus dados e alta tolerância a falhas.

Por defeito, os discos geridos utilizam armazenamento localmente redundante (LRS). O LRS mantém três cópias dos seus dados de disco dentro de um único centro de dados, protegendo contra falhas de hardware como problemas no disco ou no rack de servidores.

Embora o LRS proteja os seus discos contra falhas no rack de servidores e discos, não tem em conta desastres como incêndios ou inundações dentro de um centro de dados. Para níveis mais elevados de proteção, use armazenamento redundante por zonas (ZRS), que replica os seus discos em várias zonas de disponibilidade.

Para aplicações a correr em múltiplas VMs, múltiplas VMs têm o SLA de maior disponibilidade quando distribuídas por múltiplas zonas de disponibilidade. Para VMs e discos distribuídos em várias zonas de disponibilidade, os discos e suas VMs pai são respectivamente colocados na mesma zona, o que impede que várias VMs fiquem inativas mesmo que uma zona inteira sofra uma interrupção.

Quando as zonas não estiverem disponíveis ou a sua carga de trabalho for sensível à latência entre VMs, implemente VMs e discos em múltiplos domínios de falha. Os domínios de falha não proporcionam redundância de zona, mas reduzem o impacto de falhas de hardware, cortes de rede ou interrupções de energia. Isto evita que várias VMs falhem se um domínio de falha de armazenamento cair.

Resiliência a falhas transitórias

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

Todas as aplicações alojadas na cloud devem seguir as orientações de tratamento de falhas transitórias do Azure quando comunicarem com quaisquer APIs, bases de dados e outros componentes alojados na cloud. Para obter mais informações, consulte Recomendações para o tratamento de falhas transitórias.

Os discos geridos recuperam automaticamente de falhas transitórias na infraestrutura do Azure.

Resiliência a falhas na zona de disponibilidade

Zonas de disponibilidade são grupos fisicamente separados de centros de dados dentro de uma região Azure. Quando uma zona falha, os serviços podem ser transferidos para uma das zonas restantes.

Existem duas formas de usar zonas de disponibilidade com discos geridos:

  • Pode implantar um disco redundante de zona (ZRS), que está em três zonas de disponibilidade numa região. Para a melhor fiabilidade, recomendamos o uso de discos ZRS porque estes proporcionam resiliência automática em zonas.
  • Podes instalar um disco LRS zonal, que está apenas numa única zona. Com discos LRS zonais, é da sua responsabilidade configurar a sua carga de trabalho para ser resiliente a falhas de zona. Faz-se isto ao implementar múltiplas VMs e discos e distribuí-los por zonas de disponibilidade.

Se não configurares o suporte para zonas de disponibilidade, o teu disco é não zonal ou regional e pode ser colocado em qualquer zona de disponibilidade da região. Estes discos são considerados LRS porque são replicados dentro da região.

Discos redundantes de zona

O armazenamento redundante por zonas (ZRS) replica sincronizadamente os seus dados em três zonas de disponibilidade dentro de uma região. Quando ativa a redundância de zonas para um disco gerido, o Azure garante que uma falha em qualquer zona não afeta a disponibilidade de dados.

Diagrama de um disco redundante por zona, com as suas réplicas distribuídas por três zonas de disponibilidade na região.

Os discos ZRS podem ser partilhados entre VMs para melhorar a disponibilidade de aplicações em cluster ou distribuídas, como SQL FCI, SAP ASCS/SCS ou GFS2. Pode ligar um disco ZRS partilhado a VMs primárias e secundárias em diferentes zonas, aproveitando tanto os discos ZRS como as VMs distribuídas por múltiplas zonas de disponibilidade. Se a zona primária falhar, pode rapidamente realizar a transferência automática para a VM secundária, usando a reserva persistente SCSI.

Se um disco ZRS estiver ligado como disco de dados a uma única VM numa zona que fica indisponível, pode forçar o desanexamento do disco da VM falhada e ligá-lo a outra VM.

Requisitos

  • Apoio regional: Para uma lista de regiões que suportam discos geridos ZRS, veja Opções de redundância para discos geridos.

  • Tipos de disco: Discos redundantes por zona são suportados com SSD Premium e discos geridos por SSD Standard. O ZRS não é suportado com SSD Premium v2, Ultra Disks ou discos geridos com HDD Standard.

Custo

O ZRS tem um custo superior ao LRS devido à sobrecarga adicional de replicação e à infraestrutura necessária para manter os dados em múltiplas zonas. A diferença exata de custo varia consoante a região e o tipo de disco. Para informações detalhadas sobre preços, consulte Preços de Discos Geridos do Azure.

Configurar o suporte à zona de disponibilidade

  • Crie um novo disco ZRS: Para criar um novo disco gerido ZRS, veja Tutorial - Gerir discos Azure com o CLI do Azure para VMs Linux, ou Tutorial: Gerir discos com Azure PowerShell para Windows VMs. Selecione um nível de disco ZRS durante a criação do disco.

    És responsável por ligar o teu disco a VMs, incluindo configurar discos partilhados em múltiplas VMs em diferentes zonas, se isso for apropriado para a tua carga de trabalho.

  • Alterar um disco existente para usar ZRS: Pode converter um disco não zonal (regional) existente para ZRS.

    Embora não possas converter um disco zonal LRS para ZRS, podes criar um novo disco ZRS a partir de um snapshot. Consulte Converter um disco de LRS para ZRS para procedimentos e requisitos de migração passo a passo.

  • Desativar o suporte à zona de disponibilidade: Não é possível alterar a configuração da zona de disponibilidade de um disco ZRS existente. Em vez disso, tens de criar um novo disco com a nova configuração usando um snapshot do disco anterior e eliminar o antigo.

Comportamento quando todas as zonas estão íntegras

Esta secção descreve o que esperar quando os discos geridos são configurados para usar ZRS e todas as zonas de disponibilidade estão operacionais.

  • Cross-zone operation: Azure gere automaticamente o encaminhamento do tráfego entre zonas de disponibilidade quando utiliza uma VM com disco redundante de zona. Durante as operações normais, as solicitações são distribuídas entre as zonas de forma transparente.

  • Replicação de dados entre zonas: Os discos ZRS replicam cada escrita de forma síncrona através de múltiplas zonas de disponibilidade na região. Uma operação de escrita só é concluída depois de os dados serem armazenados em clusters em múltiplas zonas. Esta abordagem proporciona forte consistência e alta disponibilidade, mas pode introduzir uma latência de escrita ligeiramente superior em comparação com os discos LRS.

Comportamento durante uma falha de zona

Esta secção descreve o que esperar quando um disco gerido é configurado para usar ZRS e há uma falha na zona de disponibilidade.

  • Deteção e resposta: Algumas falhas de zona podem afetar apenas discos, apenas VMs, ou ambos. O comportamento que vais observar depende se a falha de zona afeta a VM ligada ao disco.

    Se a VM se mantiver saudável mas o disco for afetado pela interrupção, a sua VM continua a funcionar. A Microsoft redireciona automaticamente as operações do disco para trabalhar contra os dados em zonas de disponibilidade saudáveis, e não há nada que precise de fazer.

    Se a VM estiver inativa, é necessário transferir a carga de trabalho para outra VM em uma zona de disponibilidade diferente.

    • Discos partilhados: Se já criaste a VM secundária numa zona diferente e tiveres discos partilhados configurados, o disco está disponível para a VM secundária usar sem necessidade de alterações de configuração.

    • Discos que não são partilhados: Podes forçar a separação do disco da VM falhada e depois ligá-la a uma VM numa zona saudável. Para realizar uma desanexação forçada:

      • CLI do Azure: Use o comando de desanexo de disco az VM com o argumento --force-detach.
      • Azure PowerShell: Utilize o cmdlet Remove-AzVMDataDisk com o argumento -ForceDetach.
  • Notification: A Microsoft não o notifica automaticamente quando uma zona está inativa. No entanto, pode usar Azure Resource Health para monitorizar a saúde de um recurso individual, e pode configurar alertas Resource Health para o notificar de problemas. Também pode usar Azure Service Health para compreender o estado geral do serviço, incluindo quaisquer falhas de zona, e pode configurar alertas Saúde do Serviço para o notificar de problemas.
  • Perda de dados esperada: Não ocorre perda de dados durante falhas de zona.

  • Tempo de inatividade previsto: Quando o seu disco é partilhado entre várias VMs, não se espera tempo de inatividade.

  • Redistribution: Azure redireciona automaticamente o tráfego para outra cópia do seu disco numa zona saudável.

Recuperação de zona

O Azure deteta automaticamente quando a zona anteriormente falhada está saudável e restaura a sincronização dos dados para a zona recuperada.

Discos LRS regionais

Os discos LRS zonais residem numa zona de disponibilidade específica e ligam-se apenas às VMs nessa zona. Todas as cópias dos dados do disco estão na mesma zona. Um único disco LRS zonal e uma máquina virtual não fornecem resiliência de zonas. Se a zona que contém o disco sofrer uma falha, o disco pode tornar-se indisponível.

Diagrama que mostra um disco LRS zonal, com todas as suas réplicas numa única zona de disponibilidade.

Para cargas de trabalho multi-VM, pode alcançar resiliência de zonas ao implementar múltiplas VMs e os seus discos LRS zonais em diferentes zonas de disponibilidade. Esta abordagem é a forma mais comum de alcançar alta disponibilidade para cargas de trabalho como servidores web, níveis de aplicação e clusters de bases de dados. Se uma zona falhar, pode configurar a sua carga de trabalho para continuar a funcionar usando as VMs em zonas saudáveis.

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

Este padrão de distribuição multi-zona funciona com todos os tipos de disco, incluindo o SSD Premium v2 e os Ultra Disks, que apenas suportam LRS. Para mais informações sobre esta abordagem, consulte Distribuir VMs e discos entre zonas de disponibilidade.

Requisitos

Custo

Os discos LRS zonais são carregados à mesma taxa que os discos não zonais. Para informações detalhadas sobre preços, consulte Preços de Discos Geridos do Azure.

Configurar o suporte à zona de disponibilidade

  • Crie um novo disco com suporte a zonas de disponibilidade: Para criar um novo disco gerido com redundância zonal LRS, veja Tutorial - Gerir Azure discos com o CLI do Azure para VMs Linux, ou Tutorial: Gerir discos com Azure PowerShell para Windows VMs.

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

    Importante

    Fixar numa única zona de disponibilidade só é recomendado quando a latência entre diferentes zonas é demasiado alta para as suas necessidades e depois de verificar que a mesma não satisfaz os seus requisitos. Por si só, um recurso zonal não fornece resiliência a uma interrupção da 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 mais informações, consulte Recursos Zonais e resiliência de zonas.

  • 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, tens de criar um novo disco com a nova configuração usando um snapshot do disco anterior e eliminar o antigo.

Comportamento quando todas as zonas estão íntegras

Esta secção descreve o que esperar quando um disco gerido está configurado para usar 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 mantém-se dentro da zona de disponibilidade.

    Quando implementas múltiplas VMs entre zonas, és responsável por distribuir os pedidos recebidos entre as VMs. Cada VM lê e escreve no seu próprio disco zonal.

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

    Quando implementa múltiplas VMs entre zonas, se a sua carga de trabalho exigir consistência de dados entre VMs, é responsável por sincronizar os dados, por exemplo, usando replicação de base de dados ou replicação na camada de aplicação.

Comportamento durante uma falha de zona

Esta secção descreve o que esperar quando um disco gerido é configurado para usar LRS zonal e há uma falha na zona de disponibilidade.

  • Deteção e resposta: Se tiveres uma única VM com um disco LRS zonal, és responsável por detetar uma falha de zona e desencadear um failover ou outra resposta.

    Quando tens VMs distribuídas por várias zonas, és responsável por configurar a tua carga de trabalho para detetar a falha da zona e continuar a correr nas VMs em zonas saudáveis.

  • Notification: A Microsoft não o notifica automaticamente quando uma zona está inativa. No entanto, pode usar Azure Resource Health para monitorizar a saúde de um recurso individual, e pode configurar alertas Resource Health para o notificar de problemas. Também pode usar Azure Service Health para compreender o estado geral do serviço, incluindo quaisquer falhas de zona, e pode configurar alertas Saúde do Serviço para o notificar de problemas.
  • Perda de dados esperada: A replicação LRS proporciona pelo menos 99,999999999% (11 9's) de durabilidade, o que significa que o seu disco mantém os seus dados e os dados podem ser recuperados após a recuperação da zona.

    Quando tens VMs distribuídas por zonas, qualquer dado que estivesse apenas nos discos da zona falhada fica temporariamente indisponível. Se a sua aplicação sincronizar dados entre VMs, as VMs em zonas saudáveis continuam a atender pedidos usando os seus próprios dados.

  • Tempo de inatividade previsto: Um único disco LRS zonal não está disponível até que a zona de disponibilidade seja recuperada.

    Quando tens VMs e discos distribuídos por zonas, a tua carga de trabalho pode continuar a operar nas VMs em zonas saudáveis.

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

    Quando tens VMs distribuídas por zonas, podes configurar a tua carga de trabalho para redistribuir automaticamente o tráfego para VMs em zonas saudáveis.

Recuperação de zona

Quando a zona de disponibilidade falhada recupera, os discos geridos recuperam automaticamente. Se a VM ligada ao disco foi afetada pela falha, reinicia. És responsável por ressincronizar os dados das aplicações com outras VMs e discos noutras zonas de disponibilidade, se os usares.

Teste de falhas de zona

Não podes simular diretamente falhas de zona ao nível do disco, mas podes usar o suporte da Azure Chaos Studio para simulação de eventos de zona descida em conjuntos de escala de máquinas virtuais e simulando a perda de uma máquina virtual individual.

Deverá testar a resiliência da sua aplicação a falhas de zona e o comportamento do disco gerido durante interrupções. Monitorize o desempenho do disco durante falhas simuladas em zonas e valide que as suas aplicações lidam adequadamente com o aumento da latência. Implemente cenários de teste automatizados que confirmem que as suas aplicações conseguem lidar com atrasos temporários de I/O e forçam operações de desanexo para discos partilhados.

Resiliência a falhas em toda a região

Armazenamento de Discos do Azure é um serviço de uma única região que opera dentro dos limites de uma região específica do Azure. O serviço não oferece capacidades nativas de múltiplas regiões nem alternância automática entre regiões. Se uma região se tornar indisponível, os recursos de disco geridos nessa região também ficam indisponíveis.

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

Pode construir uma solução multi-região implementando máquinas virtuais e discos em cada região, replicando ou fazendo backup de dados entre regiões, e fazendo failover ou restaurando a partir de backups quando necessário. És responsável por gerir os recursos em cada região, coordenar e sincronizar os dados, e tratar de failover ou restauração. Algumas abordagens comuns incluem:

Backup e restauração

Os discos geridos do Azure suportam múltiplas abordagens de backup para proteger contra perda e corrupção de dados. Azure Backup de Disco é uma solução nativa baseada na cloud que automatiza a gestão do ciclo de vida dos snapshots. Providencia backups incrementais consistentes em caso de falhas, com políticas de retenção configuráveis. Esta abordagem sem agente suporta múltiplos backups por dia sem afetar o desempenho da aplicação e integra-se com o Azure Backup Center para uma gestão centralizada. Pode usar snapshots incrementais para reduzir custos de armazenamento e tempos de backup.

Para proteção ao nível VM, Azure Backup oferece backups consistentes com a aplicação para toda a máquina virtual, incluindo todos os discos ligados. Essa abordagem é ideal quando você precisa de backup coordenado de vários discos ou backups com reconhecimento de aplicativos. Para cargas de trabalho de banco de dados, considere soluções de backup específicas de aplicativos que forneçam 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 combine Azure Disk Backup, replicação de snapshots entre regiões e backups ao nível da aplicação para garantir a consistência das transações. Configure políticas de backup com base nos seus requisitos de recuperação, necessidades de conformidade e considerações de custo.

Contrato de nível de serviço

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

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