Introdução ao SUSE Linux Enterprise High Availability
- O QUE É?
Este artigo explica os recursos, a arquitetura, os principais conceitos e os benefícios do SUSE Linux Enterprise High Availability.
- POR QUÊ?
Saiba mais sobre o SUSE Linux Enterprise High Availability para ajudar você a decidir se deseja usá-lo ou antes de configurar um cluster pela primeira vez.
- DEDICAÇÃO
O tempo de leitura é de aproximadamente 20 minutos.
1 O que é o SUSE Linux Enterprise High Availability? #
O SUSE® Linux Enterprise High Availability é uma suíte integrada de tecnologias de clustering de código aberto. Um cluster de alta disponibilidade é um grupo de servidores (nós) que trabalham juntos para garantir a maior disponibilidade possível de dados, aplicativos e serviços. Se um nó falhar, os recursos que estavam sendo executados nele serão transferidos para outro nó com pouco ou nenhum tempo de inatividade. Você também pode mover os recursos manualmente entre os nós para balanceamento de carga ou realizar tarefas de manutenção com tempo de inatividade mínimo. Os recursos do cluster podem incluir sites da Web, servidores de e-mail, bancos de dados, sistemas de arquivos, máquinas virtuais e outros aplicativos ou serviços baseados em servidor que sempre devem estar disponíveis aos usuários.
1.1 Disponibilidade do produto #
O SUSE Linux Enterprise High Availability está disponível com os seguintes produtos:
- SUSE Linux Enterprise Server
A alta disponibilidade está disponível como uma extensão. Isso requer um código de registro adicional.
- SUSE Linux Enterprise Server for SAP Applications
A alta disponibilidade está incluída como um módulo. Nenhum código de registro adicional é necessário.
1.2 Recursos e benefícios #
O SUSE Linux Enterprise High Availability elimina pontos únicos de falha para melhorar a disponibilidade e a capacidade de gerenciamento dos recursos críticos. Isso ajuda a manter a continuidade dos negócios, proteger a integridade dos dados e reduzir o tempo de inatividade não planejado para as cargas de trabalho críticas.
- Várias opções de cluster
É possível configurar os clusters SUSE Linux Enterprise High Availability de várias maneiras:
Clusters locais: um único cluster em um local (por exemplo, todos os nós estão em um data center). A latência da rede é mínima. Normalmente, todos os nós acessam o armazenamento de forma síncrona.
Clusters de área metropolitana (clusters “estendidos”): um único cluster que pode se estender por vários edifícios ou data centers, com todos os locais conectados por Fibre Channel. A latência da rede costuma ser baixa. O armazenamento é frequentemente replicado usando espelhamento ou replicação síncrona.
Clusters híbridos: é possível agrupar os servidores virtuais junto com os servidores físicos. Isso melhora a disponibilidade dos serviços e o uso dos recursos.
Importante: Sem suporte para arquiteturas mistasNão há suporte para clusters com arquiteturas mistas. Todos os nós no mesmo cluster devem ter a mesma plataforma do processador: AMD64/Intel 64, IBM Z ou POWER.
- Gerenciamento de recursos flexível e escalável
O SUSE Linux Enterprise High Availability suporta clusters de até 32 nós. É possível mover os recursos automaticamente para outro nó, se o nó atual falhar, ou manualmente para solucionar problemas de hardware ou balancear a carga de trabalho. É possível também configurar os recursos para retornarem aos nós reparados em um horário específico. O cluster pode parar e iniciar os recursos com base em regras configuráveis.
- Ampla variedade de agentes de recursos
O cluster gerencia os recursos por meio dos agentes de recursos (RAs, Resource Agents). O SUSE Linux Enterprise High Availability suporta diversos agentes de recursos desenvolvidos para gerenciar tipos específicos de aplicativos ou serviços, incluindo Apache, IPv4, IPv6, NFS e muito mais. Ele também inclui agentes de recursos para aplicativos de terceiros, como o IBM WebSphere Application Server.
- Armazenamento e replicação de dados
O SUSE Linux Enterprise High Availability suporta Storage Area Networks (SANs) Fibre Channel ou iSCSI, permitindo que você atribua e reatribua dinamicamente o armazenamento do servidor conforme necessário. Ele também vem com o GFS2 e o gerenciador de volumes lógicos de cluster (LVM de cluster). Para replicação de dados, use o DRBD* para espelhar os dados de um recurso do nó ativo para um nó de standby.
- Suporte para ambientes virtualizados
O SUSE Linux Enterprise High Availability oferece suporte a clustering misto de servidores Linux físicos e virtuais. O cluster pode reconhecer e gerenciar recursos executados em servidores tanto virtuais quanto físicos, e também gerenciar máquinas virtuais KVM como recursos.
- Recuperação de desastre
O SUSE Linux Enterprise High Availability vem com o Relax-and-Recover (ReAR), uma estrutura de recuperação de desastre que ajuda a fazer backup e restaurar os sistemas.
- Ferramentas de administração fáceis de usar
O SUSE Linux Enterprise High Availability inclui ferramentas para configuração e administração:
O shell de CRM (
crmsh) é uma interface de linha de comando para instalar e configurar clusters de alta disponibilidade, configurar recursos e realizar tarefas de monitoramento e de administração.O Hawk é uma interface gráfica baseada na Web para monitoramento e administração de clusters de alta disponibilidade. Para acessá-lo, use um navegador da Web de qualquer máquina Linux ou não Linux que tenha conexão com os nós do cluster.
1.3 Como funciona a alta disponibilidade? #
A figura a seguir mostra um cluster de três nós. Cada um dos nós tem um servidor Web instalado e hospeda dois sites. Todos os dados, os gráficos e os conteúdos das páginas da Web de cada site são armazenados em um subsistema de disco compartilhado conectado a cada um dos nós.
Durante a operação normal do cluster, cada nó fica em constante comunicação com os outros nós no cluster e verifica os recursos periodicamente para detectar falhas.
A figura a seguir mostra como o cluster move os recursos quando o Servidor Web 1 falha devido a problemas de hardware ou de software.
O Site A foi movido para o Servidor Web 2, e o Site B foi movido para o Servidor Web 3. Os sites continuam disponíveis e são distribuídos igualmente entre os nós restantes do cluster.
Quando o Servidor Web 1 falhou, o software de alta disponibilidade executou as seguintes tarefas:
Detectou uma falha e constatou que o Servidor Web 1 estava inativo.
Remontou nos Servidores Web 2 e 3 os diretórios de dados compartilhados que foram montados no Servidor Web 1.
Reiniciou nos Servidores Web 2 e 3 os aplicativos que estavam em execução no Servidor Web 1.
Transferiu os certificados e os endereços IP para os Servidores Web 2 e 3.
Neste exemplo, o failover ocorreu rapidamente, e os usuários recuperaram o acesso aos sites em segundos, em geral, sem precisar fazer login novamente.
Quando o Servidor Web 1 recuperar o estado operacional normal, o Site A e o Site B poderão voltar (“failback”) para o Servidor Web 1 automaticamente. Isso gera um pouco de tempo de inatividade, portanto, a alternativa é configurar os recursos para failback apenas em um horário especificado para causar o mínimo de interrupção do serviço.
2 Conceitos principais #
Esta seção explica os conceitos principais do SUSE Linux Enterprise High Availability.
2.1 Clusters e nós #
Um cluster de alta disponibilidade é um grupo de servidores que trabalham juntos para garantir a disponibilidade dos aplicativos ou serviços. Os servidores configurados como membros do cluster são chamados de nós. Se um nó falhar, os recursos executados nele poderão ser movidos para outro nó no cluster. O SUSE Linux Enterprise High Availability suporta clusters com até 32 nós. No entanto, os clusters costumam se enquadrar em uma destas duas categorias: clusters de dois nós ou clusters com um número ímpar de nós (em geral, três ou cinco).
2.2 Canais de comunicação #
A comunicação interna do cluster é feita pelo Corosync. O Corosync Cluster Engine é um sistema de comunicação em grupo que fornece informações sobre o cluster referentes a mensagens, participação e quorum. No SUSE Linux Enterprise High Availability 16, o Corosync usa o kronosnet (knet) como o protocolo de transporte padrão.
É altamente recomendável configurar pelo menos dois canais de comunicação para o cluster. O método preferido é usar o vínculo de dispositivo de rede. Se você não pode usar um vínculo de rede, configure um canal de comunicação redundante no Corosync (também conhecido como segundo “anel”).
2.3 Gerenciamento de recursos #
Em um cluster de alta disponibilidade, os aplicativos e serviços que precisam estar altamente disponíveis são chamados de recursos. Os recursos do cluster podem incluir sites, servidores de e-mail, bancos de dados, sistemas de arquivos, máquinas virtuais e outros aplicativos ou serviços baseados em servidor que você deseja manter sempre disponíveis aos usuários. Você pode iniciar, parar, monitorar e mover os recursos conforme necessário. Você também pode especificar se determinados recursos devem ser executados juntos no mesmo nó, ou iniciá-los e pará-los em uma ordem sequencial. Se um nó do cluster falhar, será feito failover (serão movidos) dos recursos executados nele para outro nó, em vez de serem perdidos.
No SUSE Linux Enterprise High Availability, o gerenciador de recursos de cluster (CRM, Cluster Resource Manager) é o Pacemaker, que gerencia e coordena todos os serviços do cluster. O Pacemaker usa agentes de recursos (RAs, Resource Agents) para iniciar, parar e monitorar os recursos. Um agente de recursos abstrai o recurso que ele gerencia e apresenta o status dele ao cluster. O SUSE Linux Enterprise High Availability suporta diversos agentes de recursos desenvolvidos para gerenciar tipos específicos de aplicativos ou serviços.
2.4 Fencing de nó #
Em um cenário de split brain, os nós do cluster são divididos em dois ou mais grupos (ou partições) que não se reconhecem. O motivo pode ser uma falha de hardware ou de software, ou na conexão de rede, por exemplo. É possível resolver um cenário de split brain por meio de fencing (redefinir ou desligar) de um ou mais dos nós. O fencing no nível do nó impede que um nó com falha acesse recursos compartilhados e que os recursos do cluster sejam executados em um nó com status incerto.
O SUSE Linux Enterprise High Availability usa o STONITH como mecanismo de fencing de nó. Para serem compatíveis, todos os clusters SUSE Linux Enterprise High Availability devem ter pelo menos um dispositivo STONITH. Para cargas de trabalho críticas, é altamente recomendável usar dois ou três dispositivos STONITH. Ele pode ser um dispositivo físico (interruptor) ou um mecanismo de software (SBD em combinação com um watchdog).
2.5 Determinação do quorum #
Quando a comunicação falha entre um ou mais nós e o restante do cluster (um cenário de split brain), ocorre uma partição de cluster. Os nós podem se comunicar apenas com outros nós na mesma partição e não reconhecem os nós separados. Uma partição de cluster tem quorum (ou “quorum atingido”) quando tem a maioria dos nós (ou “votos”). Isso é determinado pelo cálculo do quorum. O quorum deve ser calculado para permitir fencing dos nós que não atingiram o quorum.
O Corosync calcula o quórum com base na seguinte fórmula:
N ≥ C/2 + 1 N = minimum number of operational nodes C = number of cluster nodes
Por exemplo, um cluster de cinco nós precisa de, no mínimo, três nós operacionais para manter o quorum.
Os clusters com um número par de nós, principalmente os de dois nós, podem ter números iguais de nós em cada partição e, portanto, nenhuma maioria. Para evitar essa situação, você pode configurar o cluster para usar o QDevice em combinação com o QNetD. O QNetD é um arbitrador executado fora do cluster. Ele se comunica com o daemon QDevice executado nos nós do cluster para fornecer um número configurável de votos para cálculo do quorum. Isso permite que um cluster suporte mais falhas de nós do que o permitido pelas regras de quorum padrão.
2.6 Armazenamento e replicação de dados #
Os clusters de alta disponibilidade podem incluir um subsistema de disco compartilhado conectado por Fibre Channel ou iSCSI. Se houver falha em um nó, outro nó no cluster montará automaticamente os diretórios de discos compartilhados que foram montados no nó com falha. Isso fornece aos usuários acesso contínuo aos diretórios no subsistema de disco compartilhado. O conteúdo armazenado no disco compartilhado pode incluir dados, aplicativos e serviços.
A figura a seguir representa o aspecto de uma configuração típica de cluster Fibre Channel. As linhas verdes mostram as conexões com um interruptor Ethernet, que poderá reinicializar o nó se uma solicitação de ping falhar.
A figura a seguir representa o aspecto de uma configuração típica de cluster iSCSI.
A maioria dos clusters inclui um subsistema de disco compartilhado, mas você também pode criar um cluster sem esse subsistema. A figura a seguir representa o aspecto do cluster sem um subsistema de disco compartilhado.
3 Visão geral da arquitetura #
Esta seção explica a arquitetura de um cluster SUSE Linux Enterprise High Availability e a interoperabilidade dos diversos componentes.
3.1 Camadas de arquitetura #
O SUSE Linux Enterprise High Availability tem uma arquitetura em camadas. A figura a seguir mostra as diferentes camadas e os componentes associados.
- Participação e mensagens (Corosync)
O Corosync Cluster Engine é um sistema de comunicação em grupo que fornece informações sobre o cluster referentes a mensagens, participação e quorum.
- Gerenciador de recursos de cluster (Pacemaker)
Pacemaker é o gerenciador de recursos de cluster que reage aos eventos que ocorrem no cluster. Os eventos podem ser nós que entram ou saem do cluster, falhas de recursos ou atividades programadas, como manutenção. O daemon
pacemakerdinicia e monitora todos os outros daemons relacionados.Os seguintes componentes também fazem parte da camada do Pacemaker:
Cluster Information Database (CIB)
Em cada nó, o Pacemaker mantém o Cluster Information Database (CIB). Trata-se de uma representação XML da configuração do cluster (incluindo opções, nós, recursos, restrições e relacionamentos entre os clusters). O CIB também reflete o status atual do cluster. O gerenciador do CIB (
pacemaker-based) mantém o CIB sincronizado com o cluster e processa a leitura e a gravação da configuração e do status do cluster.Coordenador designado (DC)
O daemon
pacemaker-controldé o controlador do cluster, que coordena todas as ações. Esse daemon tem uma instância em cada nó do cluster, mas apenas uma instância é escolhida para atuar como DC. A escolha do DC é feita quando os serviços do cluster são iniciados, ou se o DC atual falhar ou sair do cluster. O DC decide se deve ser feita uma alteração em todo o cluster, como fencing de nó ou movimentação de recursos.Programador
O programador é executado em cada nó como o daemon
pacemaker-schedulerd, mas fica ativo apenas no DC. Quando uma transição de cluster é necessária, o programador calcula o próximo estado esperado do cluster e determina as ações que precisam ser programadas para alcançar esse estado.
- Executor local
O executor local está localizado entre as camadas do Pacemaker e dos recursos em cada nó. O daemon
pacemaker-execdpermite que o Pacemaker inicie, pare e monitore os recursos.- Recursos e agentes de recursos
Em um cluster de alta disponibilidade, os serviços que precisam estar altamente disponíveis são chamados de recursos. Os agentes de recursos (RAs, Resource Agents) são scripts que iniciam, param e monitoram os recursos do cluster.
3.2 Fluxo do processo #
Muitas ações executadas no cluster provocam mudanças em todo o cluster, por exemplo, adição ou remoção de um recurso do cluster ou alteração das restrições de recursos. O seguinte exemplo explica o que acontece no cluster quando você executa esse tipo de ação:
Você usa o shell de CRM ou o Hawk para adicionar um novo recurso do cluster. É possível fazer isso em qualquer nó no cluster. A adição do recurso modifica o CIB.
A alteração do CIB é replicada a todos os nós do cluster.
Com base nas informações do CIB, o
pacemaker-schedulerdcalcula o estado ideal do cluster e como alcançá-lo. Ele encaminha uma lista de instruções ao DC.O DC envia comandos pelo Corosync, que são recebidos pelas instâncias do
pacemaker-controldnos outros nós.Cada nó usa seu executor local (
pacemaker-execd) para modificar os recursos. O daemonpacemaker-execdnão reconhece clusters e interage diretamente com agentes de recursos.Todos os nós relatam os resultados de suas operações ao DC.
Se for necessário fencing, o
pacemaker-fencedchamará o agente para fazer fencing do nó.Depois que o DC concluir que todas as operações necessárias foram executadas com êxito, o cluster retornará ao estado inativo e aguardará outros eventos.
Se alguma operação não foi realizada conforme o planejado, o
pacemaker-schedulerdé invocado novamente com as novas informações registradas no CIB.
4 Opções de instalação #
Esta seção descreve as diferentes opções para instalar um cluster SUSE Linux Enterprise High Availability e inclui links para os guias de instalação disponíveis.
Os seguintes guias de início rápido explicam como definir um cluster mínimo com as configurações padrão:
- Installing a basic two-node High Availability cluster
Este guia de início rápido descreve como configurar um cluster básico de dois nós de alta disponibilidade com QDevice, SBD sem disco e um watchdog de software. O QDevice é necessário nessa configuração para o SBD sem disco lidar com os cenários de split brain no cluster de dois nós.
- Installing a basic three-node High Availability cluster
Este guia de início rápido descreve como configurar um cluster básico de três nós de alta disponibilidade com SBD sem disco e um watchdog de software. São necessários três nós nessa configuração para o SBD sem disco lidar com os cenários de split brain sem a ajuda do QDevice.
5 Para obter mais informações #
Para obter mais informações sobre o SUSE Linux Enterprise High Availability, consulte os seguintes recursos:
- https://clusterlabs.org/
O projeto upstream de vários componentes do SUSE Linux Enterprise High Availability.
- https://www.clusterlabs.org/pacemaker/doc/
Documentação do Pacemaker. Para o SUSE Linux Enterprise High Availability 16, consulte a documentação do Pacemaker 3.
6 Informações legais #
Copyright© 2006 – 2025 SUSE LLC e colaboradores. Todos os direitos reservados.
Permissão concedida para copiar, distribuir e/ou modificar este documento sob os termos da Licença GNU de Documentação Livre, Versão 1.2 ou (por sua opção) versão 1.3; com a Seção Invariante sendo estas informações de copyright e a licença. Uma cópia da versão 1.2 da licença está incluída na seção intitulada “GNU Free Documentation License” (Licença GNU de Documentação Livre).
Para saber as marcas registradas da SUSE, visite https://www.suse.com/company/legal/. Todas as marcas comerciais de terceiros pertencem a seus respectivos proprietários. Os símbolos de marca registrada (®, ™ etc.) indicam marcas registradas da SUSE e de suas afiliadas. Os asteriscos (*) indicam marcas registradas de terceiros.
Todas as informações deste manual foram compiladas com a maior atenção possível aos detalhes. Entretanto, isso não garante uma precisão absoluta. A SUSE LLC, suas afiliadas, os autores ou tradutores não serão responsáveis por possíveis erros nem pelas consequências resultantes de tais erros.