IBM DB2 pureScale no Azure

O ambiente IBM DB2 pureScale fornece um cluster de banco de dados para o Azure com alta disponibilidade e escalabilidade em sistemas operacionais Linux. Este artigo mostra uma arquitetura para executar o DB2 pureScale no Azure.

Descrição geral

As empresas há muito usam plataformas tradicionais de sistema de gerenciamento de banco de dados relacional (RDBMS) para atender às suas necessidades de processamento de transações on-line (OLTP). Atualmente, muitos estão migrando seus ambientes de banco de dados baseados em mainframe para o Azure como uma maneira de expandir a capacidade, reduzir custos e manter uma estrutura de custos operacionais estável. A migração é muitas vezes o primeiro passo na modernização de uma plataforma legada.

Recentemente, um cliente corporativo rehospedou seu ambiente IBM DB2 em execução no z/OS para o IBM DB2 pureScale no Azure. A solução de cluster de banco de dados DB2 pureScale fornece alta disponibilidade e escalabilidade em sistemas operacionais Linux. O cliente executou o DB2 com êxito como uma instância autônoma de expansão em uma única máquina virtual (VM) em um sistema de grande expansão no Azure antes de instalar o DB2 pureScale.

Embora não seja idêntico ao ambiente original, o IBM DB2 pureScale on Linux oferece recursos de alta disponibilidade e escalabilidade semelhantes aos do IBM DB2 para z/OS em execução em uma configuração Parallel Sysplex no mainframe. Nesse cenário, o cluster é conectado via iSCSI a um cluster de armazenamento compartilhado. Usamos o sistema de arquivos GlusterFS, um sistema de arquivos distribuído gratuito, escalável e de código aberto especificamente otimizado para armazenamento em nuvem. No entanto, a IBM já não suporta esta solução. Para manter seu suporte da IBM, você precisa usar um sistema de arquivos compatível com iSCSI suportado. A Microsoft oferece o Storage Spaces Direct (S2D) como opção

Este artigo descreve a arquitetura usada para essa migração do Azure. O cliente usou o Red Hat Linux 7.4 para testar a configuração. Esta versão está disponível no Azure Marketplace. Antes de escolher uma distribuição Linux, certifique-se de verificar as versões atualmente suportadas. Para obter detalhes, consulte a documentação para IBM DB2 pureScale e GlusterFS.

Este artigo é um ponto de partida para seu plano de implementação do DB2. Seus requisitos de negócios serão diferentes, mas o mesmo padrão básico se aplica. Você também pode usar esse padrão de arquitetura para aplicativos OLAP (processamento analítico online) no Azure.

Este artigo não aborda diferenças e possíveis tarefas de migração para mover um banco de dados IBM DB2 for z/OS para o IBM DB2 pureScale em execução no Linux. E ele não fornece estimativas de dimensionamento e análises de carga de trabalho para mover do DB2 z/OS para o DB2 pureScale.

Para ajudá-lo a decidir sobre a melhor arquitetura DB2 pureScale para seu ambiente, recomendamos que você estime totalmente o dimensionamento e faça uma hipótese. No sistema de origem, certifique-se de considerar o DB2 z/OS Parallel Sysplex com arquitetura de compartilhamento de dados, configuração do Coupling Facility e estatísticas de uso do DDF (distributed data facility).

Nota

Este artigo descreve uma abordagem para a migração do DB2, mas existem outras. Por exemplo, o DB2 pureScale também pode ser executado em ambientes virtualizados no local. A IBM suporta DB2 no Microsoft Hyper-V em várias configurações. Para obter mais informações, consulte DB2 pureScale virtualization architecture no IBM Knowledge Center.

Arquitetura

Para dar suporte à alta disponibilidade e escalabilidade no Azure, é possível usar uma arquitetura de dados compartilhada em expansão para DB2 pureScale. A migração do cliente usou a arquitetura de exemplo a seguir.

DB2 pureScale em máquinas virtuais do Azure mostrando armazenamento e rede

O diagrama mostra as camadas lógicas necessárias para um cluster DB2 pureScale. Isso inclui máquinas virtuais para um cliente, para gerenciamento, para cache, para o mecanismo de banco de dados e para armazenamento compartilhado.

Além dos nós do mecanismo de banco de dados, o diagrama inclui dois nós usados para recursos de cache de cluster (CFs). Um mínimo de dois nós são usados para o próprio mecanismo de banco de dados. Um servidor DB2 que pertence a um cluster pureScale é chamado de membro.

O cluster é conectado via iSCSI a um cluster de armazenamento compartilhado de três nós para fornecer armazenamento escalável e alta disponibilidade. O DB2 pureScale é instalado em máquinas virtuais do Azure que executam Linux.

Essa abordagem é um modelo que você pode modificar para o tamanho e a escala da sua organização. Baseia-se no seguinte:

  • Dois ou mais membros do banco de dados são combinados com pelo menos dois nós CF. Os nós gerenciam um pool de buffer global (GBP) para memória compartilhada e serviços de gerenciador de bloqueio global (GLM) para controlar o acesso compartilhado e bloquear a contenção de membros ativos. Um nó CF atua como o principal e o outro como o secundário, nó CF de failover. Para evitar um único ponto de falha no ambiente, um cluster DB2 pureScale requer pelo menos quatro nós.

  • Armazenamento compartilhado de alto desempenho (mostrado no tamanho P30 no diagrama). Cada nó usa esse armazenamento.

  • Rede de alto desempenho para os membros de dados e armazenamento compartilhado.

Considerações sobre computação

Essa arquitetura executa as camadas de aplicativo, armazenamento e dados em máquinas virtuais do Azure. Os scripts de configuração de implantação criam o seguinte:

  • Um cluster DB2 pureScale. O tipo de recursos de computação de que necessita no Azure depende da sua configuração. Em geral, você pode usar duas abordagens:

    • Use uma rede de vários nós no estilo de computação de alto desempenho (HPC) onde instâncias de pequeno a médio porte acessam o armazenamento compartilhado. Para esse tipo de configuração HPC, as máquinas virtuais da série E otimizada para memória do Azure ou da série L otimizadas para armazenamento fornecem o poder de computação necessário.

    • Use menos instâncias de máquinas virtuais grandes para os mecanismos de dados. Para instâncias grandes, as maiores máquinas virtuais da série M otimizadas para memória são ideais para cargas de trabalho pesadas na memória. Você pode precisar de uma instância dedicada, dependendo do tamanho da partição lógica (LPAR) usada para executar o DB2.

  • O DB2 CF usa máquinas virtuais otimizadas para memória, como a série E ou a série L.

  • Um cluster de armazenamento compartilhado que usa Standard_DS4_v2 máquinas virtuais que executam Linux.

  • O jumpbox de gerenciamento é uma máquina virtual Standard_DS2_v2 executando Linux. Uma alternativa é o Azure Bastion, um serviço que fornece uma experiência RDP/SSH segura para todas as VMs em sua rede virtual.

  • O cliente é uma máquina virtual Standard_DS3_v2 que executa o Windows (usada para testes).

  • Opcional. Um servidor testemunha. Isso é necessário apenas com certas versões anteriores do DB2 pureScale. Este exemplo usa uma máquina virtual Standard_DS3_v2 executando Linux (usada para DB2 pureScale).

Nota

Um cluster DB2 pureScale requer pelo menos duas instâncias do DB2. Também requer uma instância de cache e uma instância de gerenciador de bloqueio.

Considerações sobre armazenamento

Como o Oracle RAC, o DB2 pureScale é um banco de dados scale-out de E/S de bloco de alto desempenho. Recomendamos usar a maior opção de SSD premium do Azure que atenda às suas necessidades. Opções de armazenamento menores podem ser adequadas para ambientes de desenvolvimento e teste, enquanto os ambientes de produção geralmente precisam de mais capacidade de armazenamento. A arquitetura de exemplo usa P30 devido à sua proporção de IOPS para tamanho e preço. Independentemente do tamanho, use o Armazenamento Premium para obter o melhor desempenho.

O DB2 pureScale usa uma arquitetura de tudo compartilhado, onde todos os dados são acessíveis a partir de todos os nós do cluster. O armazenamento premium deve ser compartilhado entre várias instâncias, seja sob demanda ou em instâncias dedicadas.

Um cluster DB2 pureScale grande pode exigir 200 terabytes (TB) ou mais de armazenamento compartilhado premium, com IOPS de 100.000. O DB2 pureScale suporta uma interface de bloco iSCSI que você pode usar no Azure. A interface iSCSI requer um cluster de armazenamento compartilhado que você pode implementar com S2D ou outra ferramenta. Esse tipo de solução cria um dispositivo vSAN (rede de área de armazenamento virtual) no Azure. O DB2 pureScale usa o vSAN para instalar o sistema de arquivos clusterizado usado para compartilhar dados entre máquinas virtuais.

Considerações sobre a rede

A IBM recomenda a rede InfiniBand para todos os membros em um cluster DB2 pureScale. O DB2 pureScale também usa RDMA (acesso remoto direto à memória), quando disponível, para os CFs.

Durante a instalação, você cria um grupo de recursos do Azure para conter todas as máquinas virtuais. Em geral, você agrupa recursos com base em seu tempo de vida e quem irá gerenciá-los. As máquinas virtuais nessa arquitetura exigem rede acelerada. É um recurso do Azure que fornece latência de rede consistente e ultrabaixa por meio da virtualização de E/S de raiz única (SR-IOV) para uma máquina virtual.

Cada máquina virtual do Azure é implantada em uma rede virtual que possui sub-redes: main, front-end do Gluster FS (gfsfe), back-end do Gluster FS (bfsbe), DB2 pureScale (db2be) e front-end do DB2 pureScale (db2fe). O script de instalação também cria as NICs primárias nas máquinas virtuais na sub-rede principal.

Use grupos de segurança de rede para restringir o tráfego de rede dentro da rede virtual e isolar as sub-redes.

No Azure, o DB2 pureScale precisa usar TCP/IP como a conexão de rede para armazenamento.

Próximos passos