Estratégias de backup para o Oracle Database em uma VM do Linux no Azure

Cuidado

Este artigo faz referência ao CentOS, uma distribuição do Linux que está se aproximando do status de EOL (fim da vida útil). Considere seu uso e planeje adequadamente. Para obter mais informações, consulte as Diretrizes de fim de vida do CentOS.

Aplica-se a: ✔️ VMs do Linux

Os backups de dados ajudam a proteger o banco de dados contra a perda de dados causada por falhas nos componentes de armazenamento e no datacenter. Eles também podem ser um meio de recuperação de erro humano e um modo de clonar um banco de dados para fins de desenvolvimento ou teste.

No Azure, todo o armazenamento é altamente redundante. A perda de um ou mais discos não levará a uma interrupção do banco de dados. Os backups são usados com mais frequência para proteção contra erros humanos, para facilitar operações de clonagem ou para preservar dados para fins regulatórios.

Os backups também ajudam a proteger contra interrupções regionais quando uma tecnologia de recuperação de desastres, como o DataGuard, não está em uso. Nesse caso, os backups devem ser armazenados em diferentes regiões do Azure por meio de replicação com redundância geográfica, para que fiquem disponíveis fora da região do banco de dados primário.

Armazenamento do Azure

Os serviços de Armazenamento do Azure são a solução de nuvem da Microsoft para cenários modernos de armazenamento de dados. O Armazenamento do Azure oferece serviços que você pode usar para montar o armazenamento externo em uma VM (máquina virtual) do Linux no Azure, que é adequada como mídia de backup para instâncias do Oracle Database. Uma ferramenta de backup, como o RMAN (Gerenciador de Recuperação) do Oracle, é necessária para iniciar uma operação de backup ou restauração e para copiar o backup de ou para o Armazenamento do Azure.

Os serviços de Armazenamento do Azure oferecem os seguintes benefícios:

  • Durável e altamente disponível. A redundância ajuda a manter os dados seguros durante falhas de hardware transitórias. Todo o armazenamento é triplamente espelhado por padrão. Você também pode optar por replicar dados entre datacenters ou regiões geográficas para obter mais proteção contra catástrofes locais ou desastres naturais. Os dados replicados dessa maneira permanecem altamente disponíveis no caso de uma interrupção inesperada.

  • Seguro: o Armazenamento do Azure criptografa todos os dados gravados em uma conta de armazenamento. O Armazenamento do Azure oferece controle detalhado sobre quem tem acesso aos seus dados.

  • Escalonável: o Armazenamento do Azure é altamente escalonável para atender às necessidades de armazenamento de dados e desempenho dos aplicativos atuais.

  • Gerenciado: o Azure cuida da manutenção do hardware, das atualizações e dos problemas críticos para você.

  • Acessível: os dados no Armazenamento do Azure podem ser acessados de qualquer lugar do mundo por HTTP ou HTTPS. A Microsoft fornece bibliotecas de cliente para o Armazenamento do Azure em uma variedade de linguagens, incluindo .NET, Java, Node.js, Python, PHP, Ruby e Go. A Microsoft também fornece uma API REST madura.

    O Armazenamento do Microsoft Azure oferece suporte para scripts no Azure PowerShell ou na CLI do Azure. O portal do Azure e o Gerenciador de Armazenamento do Azure oferecem soluções visuais para trabalhar com os dados.

A plataforma de Armazenamento do Azure inclui os seguintes serviços de dados que são adequados para uso como mídia de backup para o Oracle Database:

  • Armazenamento de Blobs do Azure: um armazenamento de objetos para dados binários e de texto. Ele também inclui suporte para análise de Big Data por meio do Azure Data Lake Storage Gen2.

  • Azure NetApp Files: Solução completa de armazenamento em rede, incluindo recursos avançados de gerenciamento de dados para tirar snapshots, clonar e replicar volumes de banco de dados.

  • Arquivos do Azure: compartilhamentos de arquivos gerenciados para implantações locais e em nuvem.

  • Armazenamento em Disco do Azure: volumes de armazenamento em nível de bloco para VMs do Azure.

Montagem de armazenamento entre regiões

A capacidade de acessar o armazenamento de backup entre regiões é um aspecto importante da continuidade dos negócios e recuperação de desastres (BCDR). Também é útil para clonar bancos de dados a partir de backups em diferentes regiões geográficas. O armazenamento em nuvem do Azure oferece cinco níveis de redundância:

Armazenamento de blobs e arquivos

Quando você estiver usando os Arquivos do Azure com o protocolo SMB (Server Message Block) ou com o protocolo NFS (Network File System) 4.1 para montar como armazenamento de backup, os Arquivos do Azure não oferecem suporte a RA-GRS ou RA-GZRS.

O armazenamento de backup dos Arquivos do Azure pode ser escalado verticalmente para até 100 (TiB), com suporte para as opções de redundância LRS, GRS e GZRS.

O Armazenamento de Blobs do Azure montado por meio do protocolo NFS 3.0 atualmente dá suporte apenas à redundância LRS e ZRS. O Armazenamento de Blobs do Azure configurado com qualquer opção de redundância pode ser montado por meio do Blobfuse.

Cofre dos Serviços de Recuperação

Um cofre dos Serviços de Recuperação é uma entidade de gerenciamento que armazena pontos de recuperação criados ao longo do tempo. Ele fornece uma interface para executar operações relacionadas ao backup. Essas operações incluem fazer backups sob demanda, executar restaurações e criar políticas de backup.

O Backup do Azure administra automaticamente o armazenamento para o cofre. Você precisa especificar como esse armazenamento é replicado no momento da criação. Não é possível alterar a replicação depois que os itens estiverem protegidos no cofre. Para redundância regional, escolha a configuração com redundância geográfica.

Se você pretende restaurar para uma região emparelhada do Azure secundária, habilite o recurso Restauração entre Regiões. Ao habilitar a Restauração entre Regiões, o armazenamento de backup é movido do GRS para o RA-GRS.

Armazenamento de Blobs do Azure

O Armazenamento de Blobs do Azure é um serviço baseado em nuvem para armazenar grandes quantidades de dados não estruturados e é adequado para backups do Oracle Database. Você pode montar o Armazenamento de Blobs do Azure em VMs do Linux no Azure usando o Blobfuse (Linux FUSE) ou o protocolo NFS v3.0.

Blobfuse

O Blobfuse é um projeto de código aberto que fornece um sistema de arquivos virtual com o suporte do Armazenamento de Blobs do Azure. Ele usa a biblioteca de código aberto libfuse para se comunicar com o módulo do kernel do Linux FUSE. Ele implementa operações do sistema de arquivos usando as APIs REST do Armazenamento de Blobs do Azure.

O Blobfuse está disponível atualmente em distribuições Ubuntu e Centos/RedHat. Ele também está disponível para o Kubernetes por meio do driver CSI.

O Blobfuse é onipresente em todas as regiões do Azure e funciona com todos os tipos de contas de armazenamento, incluindo v1/v2 de uso geral e o Azure Data Lake Storage Gen2. Mas seu desempenho não é tão bom quanto o de protocolos alternativos. Para ser adequado como mídia de backup do banco de dados, recomendamos o uso do protocolo SMB ou NFS para montar o Armazenamento de Blobs do Azure.

NFS v3.0

O suporte do Azure para o protocolo NFS v3.0 está disponível. O suporte ao NFS permite que os clientes Windows e Linux montem um contêiner do Armazenamento de Blobs do Azure em uma VM do Azure.

Para garantir a segurança da rede, a conta de armazenamento que você usa para montagem de NFS deve estar contida em uma rede virtual. As listas de controle de acesso e segurança (ACLs) do Microsoft Entra ainda não têm suporte em contas com suporte ao protocolo NFS 3.0 habilitado nelas.

Arquivos do Azure

Os Arquivos do Azure são um sistema de arquivos distribuídos totalmente gerenciado e baseado em nuvem. Você pode montá-lo em clientes Windows, Linux ou macOS no local ou baseados na nuvem.

Os Arquivos do Azure oferecem compartilhamentos de arquivo multiplataforma totalmente gerenciados na nuvem que são acessíveis por meio dos protocolos SMB e NFS. Atualmente, os Arquivos do Azure não oferecem suporte ao acesso a vários protocolos, portanto, um compartilhamento só pode ser um compartilhamento NFS ou um compartilhamento SMB. É recomendável determinar qual protocolo melhor atende às suas necessidades antes de criar compartilhamentos de arquivos do Azure.

Você também pode ajudar a proteger os compartilhamentos de arquivos do Azure usando o Backup do Azure para um cofre dos Serviços de Recuperação. Essa abordagem fornece outra camada de proteção para os backups do Oracle RMAN.

Arquivos do Azure com NFS v4.1

Você pode montar compartilhamentos de arquivos do Azure em distribuições Linux usando o protocolo NFS v4.1. Há limitações para os recursos com suporte. Para obter mais informações, consulte Suporte para recursos de Armazenamento do Azure.

Há suporte para compartilhamentos de arquivo NFS do Azure em todas as regiões com suporte para o Armazenamento de Arquivos Premium.

Para obter a lista mais atualizada, confira a entrada Armazenamento de Arquivos Premium na página de produtos do Azure disponíveis por região.

Arquivos do Azure com SMB 3.0

Você pode montar compartilhamentos de arquivos do Azure em distribuições Linux usando o cliente do kernel SMB. O protocolo CIFS (Common Internet File System), disponível nas distribuições Linux, é um dialeto do SMB. Ao montar um compartilhamento de arquivos do Azure em VMs Linux usando SMB, ele é montado como um sistema de arquivos do tipo CIFS, e o pacote CIFS deve ser instalado.

A capacidade de montar compartilhamentos de arquivos do Azure via SMB está geralmente disponível em todas as regiões do Azure. Ele apresenta as mesmas características de desempenho que os protocolos NFS v3.0 e v4.1. Portanto, atualmente o recomendamos como o método para fornecer mídia de armazenamento de backup para VMs do Linux no Azure.

Há duas versões compatíveis do SMB disponíveis: SMB 2.1 e SMB 3.0. Recomendamos o SMB 3.0, pois ele oferece suporte à criptografia em trânsito. No entanto, as versões do kernel do Linux têm suporte diferente para SMB 2.1 e 3.0. Para garantir que seu aplicativo seja compatível com o SMB 3.0, confira Montar um compartilhamento de arquivos SMB do Azure no Linux.

Como os Arquivos do Azure são um serviço de compartilhamento de arquivos multiusuário, você deve ajustar determinadas características para torná-lo mais adequado como mídia de armazenamento de backup. É recomendável desativar o armazenamento em cache e definir as IDs de usuário e grupo para os arquivos criados.

Azure NetApp Files

O serviço Azure NetApp Files é uma solução completa de armazenamento para o Oracle Database em VMs do Azure. Criado com base no armazenamento de arquivos medido, ele dá suporte a qualquer tipo de carga de trabalho e é altamente disponível por padrão. Juntamente com o driver Oracle Direct NFS, o Azure NetApp Files oferece uma camada de armazenamento altamente otimizada para o Oracle Database.

O Azure NetApp Files fornece instantâneos eficientes baseados em armazenamento no sistema de armazenamento subjacente que usa um mecanismo de redirecionamento na gravação. Embora os instantâneos sejam rápidos de tirar e restaurar, eles servem apenas como uma primeira linha de defesa. Eles podem ser responsáveis pela maior parte das operações de restauração necessárias de qualquer organização, que geralmente fazem parte da recuperação de erros humanos.

No entanto, os instantâneos não são um backup completo. Para atender a todos os requisitos de backup e restauração, é necessário criar réplicas externas de instantâneo ou outros cofres de backup em uma área geográfica remota para ajudar na proteção contra interrupções regionais. Leia mais sobre como funcionam os instantâneos do Azure NetApp Files.

Para garantir a criação de instantâneos consistentes com o banco de dados, o processo de backup deve ser orquestrado entre o banco de dados e o armazenamento. A ferramenta de linha de comando Azure Application Consistent Snapshot (AzAcSnap) permite a proteção de dados para bancos de dados de terceiros. Ele processa toda a orquestração necessária para colocar esses bancos de dados em um estado consistente com o aplicativo antes de tirar um instantâneo de armazenamento. Depois disso, ele retorna os bancos de dados a um estado operacional. As instâncias do Oracle Database são compatíveis com o AzAcSnap desde a versão 5.1.

Para saber mais sobre como usar o Azure NetApp Files para o Oracle Database no Azure, confira Arquiteturas de solução usando o Azure NetApp Files.

Serviço de Backup do Azure

O Backup do Azure é uma solução de PaaS (plataforma como serviço) totalmente gerenciada para fazer backup de seus dados e recuperá-los da nuvem do Microsoft Azure. O Backup do Azure pode fazer backup e restaurar clientes locais, VMs do Azure e compartilhamentos de arquivos do Azure. Ele também pode fazer backup de bancos de dados SQL Server, Oracle, MySQL, PostgreSQL e SAP HANA em VMs do Azure.

O Backup do Azure fornece backups independentes e isolados para proteger contra a destruição acidental de dados originais. Os backups são armazenados em um cofre dos Serviços de Recuperação com gerenciamento interno de pontos de recuperação.

O Backup do Azure usa a nuvem do Azure para fornecer alta disponibilidade sem nenhuma sobrecarga de manutenção ou monitoramento. Ele não limita a quantidade de dados de entrada ou saída que você transfere e não cobra pelos dados transferidos. Os dados são protegidos em trânsito e em repouso.

O Backup do Azure oferece vários tipos de replicação para manter seus dados de backup altamente disponíveis:

  • O LRS replica seus dados três vezes (ou seja, cria três cópias de seus dados) em uma unidade de escala de armazenamento em um data center.
  • O GRS é a opção de replicação padrão e recomendada. O GRS replica seus dados em uma região secundária, a centenas de quilômetros de distância do local principal dos dados de origem.

Um cofre criado com redundância GRS inclui a opção de configurar o recurso Restauração entre Regiões. Você pode usar esse recurso para restaurar dados em uma região secundária emparelhada do Azure.

O serviço de Backup do Azure fornece uma estrutura para obter consistência de aplicativos durante backups de VMs do Windows e Linux para vários aplicativos, como Oracle, MySQL, Mongo DB, SAP HANA e PostgreSQL: instantâneos consistentes com aplicativos. Essa estrutura envolve a chamada de pré-scripts (para desativar os aplicativos) antes de tirar um instantâneo dos discos. Ele chama pós-scripts (comandos para descongelar os aplicativos) após a conclusão do instantâneo, para retornar os aplicativos ao modo normal.

Embora você possa encontrar exemplos de pré-scripts e pós-scripts no GitHub, você é responsável por criar e manter esses scripts. No caso do Oracle, o banco de dados deve estar no modo de registro de arquivamento para permitir backups online. Você deve criar e manter os comandos apropriados de início e término do backup do banco de dados que são executados nos pré-scripts e pós-scripts.

O Backup do Azure oferece uma estrutura aprimorada de pré-scripts e pós-scripts, na qual fornece pacotes de pré-scripts e pós-scripts para aplicativos selecionados. Basta nomear o aplicativo e, em seguida, o Backup do Azure invoca automaticamente os pré-scripts e pós-scripts relevantes. A Microsoft gerencia os pré-scripts e pós-scripts empacotados para que você tenha ter certeza do suporte, da propriedade e da validade desses scripts.

Atualmente, os aplicativos com suporte para a estrutura aprimorada são o Oracle 12.1 ou posterior e o MySQL. O instantâneo é uma cópia completa do armazenamento e não um instantâneo incremental ou de cópia na gravação, portanto, é uma mídia eficaz para restaurar o banco de dados.

Considerações sobre o VLDB

As estratégias de backup para bancos de dados muito grandes (VLDBs) exigem uma análise cuidadosa devido ao seu tamanho. O uso do RMAN para fazer backup no Armazenamento de Blobs do Azure ou nos Arquivos do Azure pode não fornecer a taxa de transferência necessária para fazer backup de um VLDB no período de tempo desejado.

Você pode usar o backup incremental do RMAN para reduzir o tamanho dos backups. Essa abordagem pode permitir que o Armazenamento do Azure seja usado como mídia de backup para VLDBs. No entanto, ele pode não ser eficaz para VLDBs que têm grandes volumes de alterações.

Recomendamos o uso dos serviços do Azure que fornecem recursos de instantâneo, como o Backup do Azure ou o Azure NetApp Files, para VLDBs. Os instantâneos consistentes com o aplicativo, em que os bancos de dados são automaticamente colocados dentro e fora do modo de backup, levam apenas alguns segundos para serem criados, independentemente do tamanho do banco de dados.

Sua estratégia de backup também pode estar vinculada à solução geral de armazenamento que a organização usa para o Oracle Database. As cargas de trabalho de banco de dados com taxa de transferência de E/S extrema geralmente usam o Azure NetApp Files ou soluções de terceiros do Azure Marketplace, como o Silk, para sustentar os requisitos de taxa de transferência e IOPS do armazenamento de banco de dados. Essas soluções também oferecem instantâneos consistentes com o aplicativo para operações rápidas de backup e restauração de bancos de dados.

Próximas etapas