Esta seção fornece as etapas para instalação e configuração do Sentinel em um ambiente de alta disponibilidade. Cada etapa descreve a abordagem geral, em seguida, faz referência a uma configuração de demonstração que documenta os detalhes de uma solução de cluster de exemplo. Você pode usar outras opções ou tecnologias diferentes das listadas neste documento, sujeitas às restrições descritas no Seção A.2, Suportabilidade.
O diagrama a seguir representa uma arquitetura de alta disponibilidade ativa-passiva:
Configure o hardware da máquina, hardware de rede, hardware de armazenamento, sistemas operacionais, contas de usuário e outros recursos básicos do sistema pelos requisitos documentados para o Sentinel e os requisitos do cliente local. Teste os sistemas para assegurar a função adequada e estabilidade.
Como uma prática recomendada, todos os nós do cluster devem estar sincronizados ao mesmo tempo - use NTP ou uma tecnologia similar para esse fim.
O cluster exigirá uma resolução de nome de host confiável. Como uma prática recomendada, talvez você deseje inserir todos os nomes de host de cluster internos no arquivo /etc/hosts para assegurar a continuidade do cluster no caso de falha do DNS. Se qualquer nó do cluster não puder resolver todos os outros nós por nome, a configuração do cluster descrita nesta seção falhará.
As características de CPU, RAM e espaço em disco de cada nó do cluster devem satisfazer aos requisitos do sistema definidos no Seção 5.0, Atendendo aos requisitos do sistema com base na taxa de eventos esperada.
As características de espaço em disco e E/S dos nós de armazenamento devem satisfazer aos requisitos do sistema definidos no Seção 5.0, Atendendo aos requisitos do sistema com base na taxa de eventos esperada e nas políticas de retenção de dados para armazenamento local e/ou de rede.
Para configurar os firewalls do sistema operacional de modo a restringir o acesso ao Sentinel e ao cluster, consulte o Seção 7.0, Portas usadas para obter detalhes de quais portas devem estar disponíveis dependendo da configuração local e das origens que enviarão dados de evento.
A solução de exemplo usará a seguinte configuração:
Duas VMs do nó do cluster SUSE Linux 11 SP2
A instalação do sistema operacional não precisa instalar X Windows, mas pode fazê-lo, caso a configuração da GUI seja desejada. Os scripts de inicialização podem ser configurados para iniciar sem X (nível de execução 3), o que pode ser iniciado apenas quando necessário.
Os nós terão dois NICS: um para acesso externo e um para comunicações iSCSI.
Configure os NICs externos com os endereços IP que permitem acesso remoto por meio de SSH ou similar. Para este exemplo, utilizaremos 172.16.0.1 (node01 [nó 1]) e 172.16.0.2 (node02 [nó 2]).
Cada nó deve ter disco suficiente para o sistema operacional, binários e dados de configuração do Sentinel, software do cluster, espaço temporário e assim por diante. Consulte os requisitos do sistema SUSE Linux e SLE HAE, e os requisitos da aplicação Sentinel.
Uma VM do SUSE Linux 11 SP2 configurada com os destinos iSCSI do armazenamento compartilhado
A instalação do sistema operacional não precisa instalar X Windows, mas pode fazê-lo, caso a configuração da GUI seja desejada. Os scripts de inicialização podem ser configurados para iniciar sem X (nível de execução 3), o que pode ser iniciado apenas quando necessário.
O sistema terá dois NICS: um para acesso externo e um para comunicações iSCSI.
Configure o NIC externo com um endereço IP que permite acesso remoto por meio do SSH ou similar. Para este exemplo, utilizaremos 172.16.0.3 (storage03 [armazenamento 03])
O sistema deve ter espaço suficiente para o sistema operacional, espaço temporário, um grande volume de armazenamento compartilhado para manter os dados do Sentinel, e uma quantidade de espaço pequena para uma partição SBD. Veja os requisitos do sistema SUSE Linux e os requisitos do armazenamento de dados do evento do Sentinel. Para a solução de exemplo, colocaremos todos os dados (local, rede, SBD) em um único disco, mas para implementações de produção, isso pode ser alocado para nós diferentes.
NOTA:Em um cluster de produção, você pode usar IPs internos, não roteáveis, em NICs separados (possivelmente um par, para redundância) para comunicações internas do cluster.
Configure o armazenamento compartilhado e verifique se você pode montá-lo em cada nó do cluster. Se estiver usando o Fibre Channel e uma SAN, isso pode envolver conexões físicas e outra configuração. O armazenamento compartilhado será usado para manter os bancos de dados do Sentinel e os dados de evento, assim deve ser dimensionado concordemente para o ambiente do cliente com base na taxa de evento e políticas de retenção de dados esperadas.
Uma implementação típica pode usar uma SAN rápida conectada via Fibre Channel a todos os nós do cluster, com uma matriz RAID grande para armazenar os dados de evento locais. Um nó NAS ou iSCSI separado pode ser usado pelo armazenamento de rede mais lento. Contanto que o nó do cluster possa montar o armazenamento local como um dispositivo de blocos normal, ele pode ser usado pela solução. O armazenamento de rede também pode ser montado como um dispositivo de bloco ou pode ser um volume NFS ou CIFS.
NOTA:Você deve configurar seu armazenamento compartilhado e testar sua montagem em cada nó de cluster, mas a montagem real do armazenamento será manipulada pela configuração do cluster.
Para a solução de exemplo, usaremos os Destinos iSCSI hospedados por uma VM SUSE Linux:
A solução de exemplo usará Destinos iSCSI configurados em uma VM SUSE Linux. A VM é storage03 (armazenamento 03) como listada na Configuração inicial Os dispositivos iSCSI podem ser criados usando qualquer arquivo ou dispositivo de blocos, mas, por questão de simplicidade, utilizaremos aqui um arquivo que criamos para esse fim.
Conecte-se ao storage03 (armazenamento 03) e inicie uma sessão de console. Use o comando dd para criar um arquivo vazio de qualquer tamanho desejado para o armazenamento local desejado do Sentinel:
dd if=/dev/zero of=/localdata count=10240000 bs=1024
Neste caso, criamos um arquivo de 10 GB preenchido com zeros (copiado de /dev/zero pseudo-device). Veja a página de informações ou do manual referente à dd para obter detalhes sobre as opções da linha de comandos. Por exemplo, para criar "discos" com tamanhos diferentes. O Destino iSCSI trata esse arquivo como se fosse um disco; você pode, evidentemente, usar um disco real se preferir.
Repita este procedimento para criar um arquivo para o armazenamento de rede:
dd if=/dev/zero of=/networkdata count=10240000 bs=1024
Para este exemplo, usamos dois arquivos ("discos") do mesmo tamanho e características de desempenho. Para uma implementação de produção, você pode colocar o armazenamento local em uma SAN rápida e o armazenamento de rede em um volume iSCSI, NFS ou CIFS mais lento.
Configure esses arquivos como Destinos iSCSI:
Execute o YaST da linha de comandos (ou use a GUI, se preferir): /sbin/yast
Selecione Network Devices (Dispositivos de Rede) > Network Settings (Configurações de Rede).
Certifique-se de que a guia Overview (Visão Geral) seja selecionada.
Selecione o NIC secundário na lista exibida, em seguida, pressione Tab e avance até Editar e pressione Enter
Na guia Address (Endereço), designe o endereço IP estático 10.0.0.3. Esse será o IP interno das comunicações iSCSI.
Clique em Next (Próximo) e, em seguida, clique em OK.
Na tela principal, selecione Network Services (Serviços de Rede) > iSCSI Target (Destino iSCSI).
Quando solicitado, instale o software (iscsitarget RPM) necessário da mídia SUSE Linux 11 SP2.
Clique·em·Service·(Serviço), selecione a opção When Booting (Ao Inicializar) para assegurar que o serviço inicie na inicialização do sistema operacional.
Clique em Global e selecione No Authentication (Sem Autenticação), porque o Agente de Recurso OCF para iSCSI atual não suporta autenticação.
Clique em Targets (Destinos) e Add (Adicionar) para incluir um novo destino.
O Destino iSCSI gerará automaticamente um ID e apresentará uma lista vazia de LUNs (unidades) que estão disponíveis.
Clique em Add (Adicionar) para incluir uma nova LUN.
Deixe o número de LUN como 0 e navegue na caixa de diálogo Path (Caminho) (debaixo de Type=fileio) e selecione o arquivo /localdata que você criou. Se você tiver um disco dedicado para armazenamento, especifique um dispositivo de blocos como /dev/sdc.
Repita as etapas 12 e 13, e adicione LUN 1 e /networkdata desta vez.
Deixe as outras opções como seus padrões. Clique em OK e, em seguida, em Next (Próximo).
Clique em Next (Próximo) novamente para selecionar as opções de autenticação padrão, e em Finish (Terminar) para sair da configuração. Se solicitado, aceite para reiniciar o iSCSI.
Saia do YaST.
O procedimento acima expõe dois Destinos iSCSI no servidor no endereço IP 10.0.0.3. Em cada nó do cluster, certifique-se de que seja possível montar o dispositivo de armazenamento dos dados locais compartilhados. Você também deve formatar os dispositivos (uma vez):
Conecte-se a um dos nós do cluster (node01) e inicie o YaST.
Selecione Network Devices (Dispositivos de Rede) > Network Settings (Configurações de Rede).
Certifique-se de que a guia Overview (Visão Geral) seja selecionada.
Selecione o NIC secundário na lista exibida, em seguida, pressione Tab e avance até Editar e pressione Enter
Clique no Address (Endereço), atribua o endereço IP estático 10.0.0.1. Esse será o IP interno das comunicações iSCSI.
Selecione Next (Próximo) e, em seguida, clique em OK.
Clique em Network Services (Serviços de Rede ) > iSCSI Initiator (Iniciador iSCSI).
Quando solicitado, instale o software (open-iscsi RPM) necessário da mídia SUSE Linux 11 SP2.
Clique em Service (Serviço), selecione When Booting (Ao Inicializar) para assegurar que o serviço iSCSI seja iniciado na inicialização.
Clique em Discovered Targets (Destinos Detectados) e selecione Discovery (Descoberta).
Especifique o endereço IP do iSCSI (10.0.0.3), selecione No Authentication (Sem Autenticação) e clique em Next (Próximo).
Selecione o Destino iSCSI descoberto com o endereço IP 10.0.0.3 e selecione Log In (Efetuar Login).
Alterne para automático na lista suspensa Startup (Inicialização), selecione No Authentication (Sem Autenticação) e clique em Next (Próximo).
Alterne para a guia Connected Targets (Destinos Conectados) para assegurar que estejamos conectados ao destino.
Saia da configuração. Esse deve ter sido montado nos Destinos iSCSI como dispositivos de bloco no nó do cluster.
No menu principal do YaST, selecione System (Sistema) > Partitioner (Particionador).
Na System View (Tela do Sistema), você deve ver novos discos rígidos (por exemplo, /dev/sdb e /dev/sdc na lista - eles terão o tipo IET-VIRTUAL-DISK. Pressione Tab para o primeiro item na lista (que deve ser o armazenamento local), selecione o disco e pressione Enter.
Selecione Add (Adicionar) para incluir uma nova partição para o disco vazio. Formate o disco como uma partição ext3 primária, mas não a monte. Certifique-se que a opção Do not mount partition (Não montar partição) esteja selecionada.
Selecione Next (Próximo) e Finish (Terminar) após examinar as mudanças que serão feitas. Presumindo que você crie uma única partição grande nesse LUN iSCSI compartilhado, você deve encerrar com um /dev/sdb1 ou disco formatado similar (chamado como /dev/<COMPARTILHADO1> abaixo).
Volte para o particionador e repita o processo de particionamento/formatação (etapas 16-19) para /dev/sdc ou para qualquer dispositivo de blocos que corresponda ao armazenamento de rede. Isso resultará em uma partição /dev/sdc1 ou disco formatado similar (chamado como /dev/<REDE1> abaixo).
Saia do YaST.
Finalmente, crie um ponto de montagem e teste a montagem da partição local como segue (o nome do dispositivo exato pode depender da implementação específica):
# mkdir /var/opt/novell # mount /dev/<SHARED1> /var/opt/novell
Você deve ser capaz de criar arquivos na nova partição e vê-los onde quer que estejam montados.
Para desmontar:
# umount /var/opt/novell
Repita as etapas 1-15 no procedimento acima para assegurar que cada nó do cluster possa montar o armazenamento compartilhado local. Substitua o IP do nó na etapa 5, por um IP diferente (por exemplo, node02 > 10.0.0.2).
Há duas opções para instalar o Sentinel: instalar cada parte do Sentinel no armazenamento compartilhado (usando a opção --location para redirecionar a instalação do Sentinel para onde quer que você tenha montado o armazenamento compartilhado) ou apenas colocar os dados variáveis do aplicativo no armazenamento compartilhado.
Nesta solução de exemplo, seguiremos esta última abordagem e instalaremos o Sentinel para cada nó do cluster que possa hospedá-lo. A primeira vez que o Sentinel for instalado, faremos uma instalação completa incluindo os binários do aplicativo, configuração e todos os armazenamentos de dados. As instalações subsequentes nos outros nós do cluster apenas instalarão o aplicativo e presumiremos que os dados reais do Sentinel estarão disponíveis algum tempo mais tarde (por exemplo, assim que o armazenamento compartilhado for montado).
Solução de exemplo:
Nesta solução de exemplo, instalaremos o Sentinel em cada nó do cluster, armazenando apenas os dados variáveis do aplicativo no estágio compartilhado. Isso mantém os binários do aplicativo e configuração nos locais padrão, permitindo-nos verificar os RPMs, além de nos permitir dar suporte a patches a quente em determinados cenários.
Instalação no primeiro nó
Conecte a um dos nós do cluster (node01) e abra uma janela de console.
Faça o download do instalador do Sentinel (um arquivo tar.gz) e o armazene em /tmp no nó do cluster.
Execute os seguintes comandos:
mount /dev/<SHARED1> /var/opt/novell
cd /tmp
tar -xvzf sentinel_server*.tar.gz
cd sentinel_server*
./install-sentinel --record-unattended=/tmp/install.props
Execute a instalação padrão, configurando o produto, conforme apropriado. O instalador instalará os binários, configuração, bancos de dados e configurará nomes de usuário/senhas e portas de rede.
Inicie o Sentinel e teste as funções básicas. Você pode usar o IP do nó do cluster externo padrão para acessar o produto.
Encerre o Sentinel e desmonte o armazenamento compartilhado:
rcsentinel stop
umount /var/opt/novell
Esta etapa remove os scripts de autoinicialização de modo que o cluster possa gerenciar o produto.
cd /
insserv -r sentinel
Instalação do nó subsequente
Repita a instalação em outros nós:
O instalador inicial do Sentinel cria uma conta do usuário para ser usada pelo produto, que usa o próximo ID de usuário disponível no momento da instalação. As instalações subsequentes no modo autônomo tentarão usar o mesmo ID de usuário para criação da conta, mas não existe a possibilidade de conflitos (se os nós do cluster não forem idênticos no momento da instalação). É altamente recomendado que você execute um dos seguintes procedimentos:
Sincronize o banco de dados da conta do usuário entre nós do cluster (manualmente via LDAP ou similar), assegurando que a sincronização aconteça antes das instalações subsequentes. Neste caso, o instalador detectará a presença da conta do usuário e usará a existente.
Assista a saída das instalações autônomas subsequentes - um aviso será emitido se a conta do usuário não puder ser criada com o mesmo ID de usuário.
Conecte-se a cada nó de cluster adicional (node02) e abra uma janela do console.
Execute o que segue:
cd /tmp
scp root@node01:/tmp/sentinel_server*.tar.gz
scp root@node01:/tmp/install.props
tar -xvzf sentinel_server*.tar.gz
./install-sentinel --no-start --cluster-node --unattended=/tmp/install.props
cd /
insserv -r sentinel
No fim deste processo, o Sentinel deverá estar instalado em todos os nós, mas provavelmente ele não funcionará corretamente em nenhum deles, exceto no primeiro, até que várias chaves sejam sincronizadas, o que acontecerá quando configurarmos os recursos do cluster.
Instale o software do cluster em cada nó e registre cada nó do cluster com o gerenciador de cluster. Os procedimentos a serem executados variarão dependendo da implementação do cluster, mas, no final do processo, cada nó do cluster deverá aparecer no console de gerenciamento do cluster.
Para nossa solução de exemplo, configuraremos a Extensão de Alta Disponibilidade do SUSE Linux e a sobreporemos com os Agentes de Recurso específico do Sentinel:
Se você não usar o Agente de Recurso OCF para monitorar o Sentinel, provavelmente teremos que desenvolver uma solução de monitoramento similar para o ambiente do cluster local. O Agente de Recurso OCF para Sentinel é um shell script simples que executa uma variedade de verificações para verificar se o Sentinel está funcional. Se você deseja desenvolver por conta própria, deve examinar o Agente de Recurso existente para obter exemplos (o Agente de Recurso está armazenado no sentinel-ha.rpm no pacote de download do Sentinel).
Há muitos modos diferentes em que um cluster SLE HAE pode ser configurado, mas nós selecionaremos as opções que mantêm isso razoavelmente simples. A primeira etapa é instalar o software principal do SLE HAE, o processo está completamente detalhado na Documentação do SLE HAE. Para obter informações sobre a instalação dos complementos do SLES, veja o Guia de Implementação.
Você deve instalar o SLE HAE em todos os nós do cluster, node01 e node02 em nosso exemplo. O complemento instalará o gerenciamento de cluster principal e o software de comunicações, assim como muitos Agentes de Recursos que são usados para monitorar os recursos do cluster.
Após a instalação do software do cluster, um RPM adicional deverá ser instalado para fornecer Agentes de Recurso do cluster adicionais específicos do Sentinel. O RPM pode ser encontrado no novell-Sentinel-ha-7.1*.rpm armazenado no download normal do Sentinel, que você descompacta para instalar o produto.
Em cada nó do cluster, copie o novell-Sentinel-ha-7.1*.rpm para o diretório /tmp, em seguida:
cd /tmp
rpm -i novell-Sentinel-ha-7.1*.rpm
Você deve configurar o software do cluster para registrar cada nó do cluster como um membro do cluster. Como parte dessa configuração, também é possível configurar o fencing e recursos STONITH para assegurar a consistência do cluster.
Na nossa solução de exemplo, basicamente usamos a configuração mais simples sem redundância adicional ou outros recursos avançados. Também usamos um endereço unicast (em vez do endereço multicast preferido) porque ele requer menos interação com os administradores de rede, e é suficiente para fins de teste. Configuramos também um recurso fencing simples baseado em SBD.
Solução de exemplo:
A solução de exemplo usará endereços IP privados para comunicações internas do cluster, e usará unicast para minimizar a necessidade de solicitar um endereço multicast de um administrador de rede. A solução também usará um Destino iSCSI configurado na mesma VM SUSE Linux que hospeda o armazenamento compartilhado para servir como um dispositivo SBD para os fins de fencing. Como antes, os dispositivos iSCSI podem ser criados usando qualquer arquivo ou dispositivo de blocos, mas, por questão de simplicidade, utilizaremos aqui um arquivo que criamos para esse fim.
As etapas de configuração a seguir são muito similares às contidas em Configuração do armazenamento compartilhado:
Configuração do SBD
Conecte-se ao storage03 e inicie uma sessão de console. Use o comando dd para criar um arquivo vazio de qualquer tamanho:
dd if=/dev/zero of=/sbd count=1024 bs=1024
Neste caso, criamos um arquivo de 1 MB preenchido com zeros (copiado de /dev/zero pseudo-device).
Configure esse arquivo como um Alvo iSCSI:
Execute o YaST da linha de comandos (ou use a GUI, se preferir): /sbin/yast
Selecione Network Services (Serviços de Rede) > iSCSI Target (Destino iSCSI).
Clique em Targets (Destinos) e selecione o destino existente.
Selecione Edit (Editar). A IU apresentará uma lista de LUNs (unidades) que estão disponíveis.
Selecione Add (Adicionar) para incluir uma nova LUN.
Deixe o número da LUN como 2. Navegue na caixa de diálogo Path (Caminho) e selecione o arquivo /sbd que você criou.
Deixe as outras opções com as configurações padrão e selecione OK e Next (Próximo) e clique em Next (Próximo) novamente para selecionar as opções de autenticação padrão.
Clique em Finish (Terminar) para sair da configuração. Reinicie os serviços, se necessário. Saia do YaST.
NOTA:As etapas a seguir requerem que cada nó do cluster possa resolver o nome do host de todos os outros nós do cluster (o serviço de sincronização de arquivo csync2 falhará se esse não for o caso). Se o DNS não estiver configurado ou disponível, adicione entradas para cada host ao arquivo /etc/hosts que lista cada IP e seu nome de host (como informado pelo comando hostname).
Este procedimento deve expor um Destino iSCSI para o dispositivo SBD no servidor no endereço IP 10.0.0.3 (storage03).
Node Configuration (Configuração do nó)
Conecte a um nó do cluster (node01) e abra um console:
Execute o YaST.
Abra Network Services (Serviços de Rede) > iSCSI Initiator (Iniciador iSCSI).
Selecione Connected Targets(Destinos Conectados) e, em seguida, o iSCSI Target (Destino iSCSI) que você configurou acima.
Selecione a opção Log Out (Efetuar logout) e efetue logout do Destino.
Alterne para a guia Discovered Targets (Destinos Descobertos), selecione o Target (Destino) e efetue login novamente para atualizar a lista de dispositivos (deixe a opção automatic startup [inicialização automática] e No Authentication [Sem Autenticação]).
Selecione OK para sair da ferramenta Iniciador iSCSI.
Abra System (Sistema) > Partitioner (Particionador) e identifique o dispositivo SBD como o IET-VIRTUAL-DISK de 1 MB. Ele será listado como /dev/sdd ou similar - anote qual.
Saia do YaST.
Execute o comando ls -l /dev/disk/by-id/ e anote o ID do dispositivo que está vinculado ao nome do dispositivo localizado acima.
Execute o comando sleha-init.
Quando solicitado sobre a qual endereço de rede vincular, especifique o IP externo do NIC (172.16.0.1).
Aceite o endereço e a porta padrão do multicast. Nós os anularemos mais tarde.
Digite "y" (s) para ativar o SBD, em seguida, especifique /dev/disk/by-id/<id do dispositivo>, onde <id do dispositivo> é o ID que você localizou acima (é possível usar Tab para preencher automaticamente o caminho).
Conclua o assistente e certifique-se de que nenhum erro seja informado.
Inicie o YaST.
Selecione High Availability (Alta Disponibilidade) > Cluster (ou apenas Cluster em alguns sistemas).
Na caixa à esquerda, certifique-se de que Communication Channels (Canais de Comunicação) esteja selecionado.
Pressione Tab até a linha superior da configuração e mude a seleção udp para udpu (isso desativa o multicast e seleciona o unicast).
Selecione Add a Member Address (Adicionar um Endereço de Membro) e especifique esse nó (172.16.0.1), em seguida, repita e adicione o(s) outro(s) nó(s) do cluster: 172.16.0.2.
Selecione Finish (Terminar) para completar a configuração.
Saia do YaST.
Execute o comando de reiniciação /etc/rc.d/openais para reiniciar os serviços do cluster com o novo protocolo de sincronização.
Conecte-se a cada nó de cluster adicional (node02) e abra um console:
Execute o seguinte comando:sleha-join
Insira o endereço IP do primeiro nó do cluster.
Em algumas circunstâncias, as comunicações do cluster não inicializam corretamente. Se o cluster não iniciar (o serviço openais falhará ao iniciar):
Copie manualmente corosync.conf de node1 para node02, ou execute csync2 -x -v no nó 1, ou configure manualmente o cluster para node02 via YaST.
Execute /etc/rc.d/openais start no node02
Em alguns casos, o script pode falhar porque o serviço xinetd não adiciona adequadamente o novo serviço csync2. Esse serviço é necessário para que o outro nó possa sincronizar os arquivos de configuração do cluster em relação a esse nó. Se você vir erros comocsync2 run failed (execução de csync2 com falha), talvez haja um problema. Para corrigir isso, execute: kill -HUP `cat /var/run/xinetd.init.pid e execute novamente o script sleha-join.
A esta altura, você deve ser capaz de executar crm_mon em cada nó e ver se o cluster está executando adequadamente. Como alternativa, você pode usar "hawk", o console da web - as credenciais de login padrão são "hacluster / linux".
Há dois parâmetros adicionais que precisamos ajustar para este exemplo. Se eles se aplicarão a um cluster de produção do cliente, isso dependerá da sua configuração:
Configure a opção global do cluster no-quorum-policy como ignore (ignorar). Fazemos isso porque temos apenas um cluster com dois nós, assim qualquer falha no nó único quebrará o quorum e encerrará o cluster inteiro: crm configure property no-quorum-policy=ignore
NOTA:Se o seu cluster tiver mais de dois nós, não configure essa opção.
Configure a opção do cluster global default-resource-stickiness como 1. Isso encorajará o gerenciador de recurso a deixar os recursos executando no local em vez de movê-los ao redor: crm configure property default-resource-stickiness=1.
Como mencionado na Instalação do Cluster, esta solução fornece um Agente de Recurso OCF para monitorar os principais serviços em SLE HAE, e você pode criar alternativas, se desejado. O software também depende de diversos outros recursos, para os quais os Agentes de Recurso são fornecidos por padrão com SLE HAE. Se você não deseja usar o SLE HAE, terá que monitorar estes recursos adicionais usando alguma outra tecnologia:
Um recurso Filesystem (sistema de arquivos) correspondente para o armazenamento compartilhado que o software usa;
Um recurso de endereço IP correspondente ao IP virtual pelo qual os serviços serão acessados;
O software do banco de dados Postgres que o software usa para armazenar a configuração e os metadados do evento.
Há recursos adicionais, como o MongoDB usado pela Inteligência de Segurança e o barramento de mensagem ActiveMQ; por ora, pelo menos esses são monitorados como parte dos serviços principais.
Solução de exemplo
A solução de exemplo usa versões simples dos recursos necessários, por exemplo, o Agente de Recurso Filesystem (sistema de arquivos) simples. Você pode optar por usar mais recursos de cluster sofisticados como cLVM (uma versão de volume lógico do sistema de arquivos), se necessário.
A solução de exemplo fornece um script crm para auxiliar na configuração do cluster. O script extrai variáveis de configuração relevantes do arquivo de configuração autônomo gerado como parte da instalação do Sentinel. Se você não gerar o arquivo de configuração ou quiser mudar a configuração dos recursos, poderá editar o script concordemente.
Conecte-se ao nó original em que o Sentinel foi instalado (esse deve ser o nó em que você executou a instalação completa do Sentinel) e execute o procedimento a seguir (<COMPARTILHADO1> é o volume compartilhado criado acima):
mount /dev/<SHARED1> /var/opt/novell
cd /usr/lib/ocf/resource.d/novell
./install-resources.sh
Pode haver problemas com os novos recursos aparecendo no cluster; execute /etc/rc.d/openais restart no node02 (nó 2) se tiver esse problema.
O script install-resources.sh solicitará alguns valores, ou seja, o IP virtual que você deseja que as pessoas usem para acessar o Sentinel e o nome do dispositivo do armazenamento compartilhado, e, em seguida, criará automaticamente os recursos do cluster necessários. Observe que o script requer que o volume compartilhado já esteja montado, e também requer que o arquivo de instalação autônomo criado durante a instalação do Sentinel esteja presente (/tmp/install.props). Você não precisa executar esse script em nenhum outro nó, exceto no primeiro nó instalado; todos os arquivos de configuração relevantes serão automaticamente sincronizados para os outros nós.
Se o ambiente do cliente variar em relação a esta solução de exemplo, você pode editar o arquivo resources.cli (no mesmo diretório) e modificar as definições primitivas em tal arquivo. Por exemplo, a solução de exemplo usa um recurso Filesystem (sistema de arquivos) simples; talvez você deseje usar outro recurso cLVM com reconhecimento de cluster.
Após executar o shell script, você poderá emitir um comando de status crm e a saída se parecerá com esta:
crm status
Last updated: Thu Jul 26 16:34:34 2012 Last change: Thu Jul 26 16:28:52 2012 by hacluster via crmd on node01 Stack: openais Current DC: node01 - partition with quorum Version: 1.1.6-b988976485d15cb702c9307df55512d323831a5e 2 Nodes configured, 2 expected votes 5 Resources configured.
Online: [ node01, node02 ]
stonith-sbd (stonith:external/sbd): Started node01
Resource Group: sentinelgrp
sentinelip (ocf::heartbeat:IPaddr2): Started node01
sentinelfs (ocf::heartbeat:Filesystem): Started node01
sentineldb (ocf::novell:pgsql): Started node01
sentinelserver (ocf::novell:sentinel): Started node01
A esta altura, os recursos relevantes do Sentinel devem estar configurados no cluster. Você pode examinar como eles estão configurados e agrupados na ferramenta de gerenciamento do cluster, por exemplo, executando o status do crm.
Como a etapa final deste processo, configure o armazenamento de rede de modo que o Sentinel possa migrar as partições de evento para um armazenamento menos oneroso. Isso é opcional e, na verdade, o armazenamento de rede não precisa ser feito altamente disponível do mesmo modo que o resto do sistema - você pode usar qualquer diretório (montado de uma SAN ou não) ou volume NFS ou CIFS.
Clique em Storage (Armazenamento) na barra de menu superior, e selecione Configuration (Configuração), em seguida, selecione um dos botões de opção debaixo do armazenamento de rede não configurado para configurá-lo.
Solução de exemplo
A solução de exemplo usará um Destino iSCSI simples como um local de armazenamento compartilhado de rede, em muito a mesma configuração que o armazenamento local. Nas implementações de produção, isso será provavelmente tecnologias de armazenamento diferentes.
Use o procedimento a seguir para configurar o armazenamento de rede a ser usado pelo Sentinel:
NOTA:Como usaremos um Destino iSCSI para esta solução de exemplo, o destino será montado como um diretório a ser usado como armazenamento de rede. Assim, precisamos configurar a montagem como um recurso Filesystem (sistema de arquivos) considerando o modo como o sistema de arquivo do armazenamento local está configurado. Esse não foi automaticamente configurado como parte do script de instalação de recurso, visto que há outras variações possíveis; faremos a configuração manualmente aqui.
Examine as etapas acima para determinar que partição foi criada para ser usada como armazenamento de rede (/dev/<REDE1>, ou algo como /dev/sdc1). Se necessário, crie um diretório vazio em que a partição possa ser montada (por exemplo, /var/opt/netdata).
Configure o sistema de arquivos de rede como um recurso de cluster: use a GUI da web ou execute o comando:
crm configure primitive sentinelnetfs ocf:heartbeat:Filesystem params device="/dev/<NETWORK1>" directory="<PATH>" fstype="ext3" op monitor interval=60s
em que /dev/<REDE1> é a partição que foi criada na seção Configuração do armazenamento compartilhado acima, e <CAMINHO> é qualquer diretório local em que ele possa ser montado.
Adicione o novo recurso ao grupo de recursos gerenciados:
crm resource stop sentinelgrp crm configure delete sentinelgrp crm configure group sentinelgrp sentinelip sentinelfs sentinelnetfs sentineldb sentinelserver crm resource start sentinelgrp
Você pode se conectar ao nó que hospeda atualmente os recursos (usar crm status ou Hawk) e assegurar que o armazenamento de rede esteja devidamente montado (usar o comando mount).
Efetue login na interface da web do Sentinel.
Selecione Storage (Armazenamento) e Configuration (Configuração), e selecione SAN (locally mounted) (SAN [localmente montada]) debaixo do Armazenamento de rede não configurado.
Digite o caminho no qual o armazenamento de rede está montado, por exemplo, /var/opt/netdata.
A solução de exemplo usa versões simples dos recursos necessários, por exemplo, Agente de Recurso Filesystem (Sistema de arquivos) - os clientes podem optar por usar recursos de cluster mais sofisticados como cLVM (uma versão de volume lógico do sistema de arquivos), se desejarem.