Capítulo 3. Administração dos Serviços

As seções seguintes descrevem como exibir, habilitar, desabilitar, modificar, realocar e apagar um serviço, e como lidar com serviços que falham em iniciar. Exemplos de configuração de serviços específicos são providos.

3.1. Configurando um Serviço

Após configurar o armazenamento de disco e instalar as aplicações a serem administradas pelo cluster, você pode configurar os serviços para administrar estas aplicações e recursos usando a Ferramenta de Configuração do Cluster.

Para configurar um serviço, siga estes passos:

  1. Se for aplicável, crie um script para iniciar, parar e verificar o estado da aplicação usada no serviço. Consulte a Seção 3.1.2 para obter mais informações.

  2. Colete informações sobre as propriedades e recursos do serviço. Consulte a Seção 3.1.1 para mais informações.

  3. Configure os sistemas de arquivo ou dispositivos raw que o serviço utiliza. Consulte a Seção 3.1.3 para obter informações.

  4. Certifique se o software da aplicação pode rodar em cada membro (no domínio de transferência associado, se for usado, ou no cluster) e que o script do serviço, se houver, pode iniciar e parar a aplicação do serviço. Consulte a Seção 3.1.4 para instruções sobre atualização.

  5. Se for atualizar um cluster existente, faça backup do arquivo /etc/cluster.conf. Consulte a Seção 2.2 para instruções sobre atualizações (upgrade).

  6. Inicie a Ferramenta de Configuração do Cluster e adicione serviços, especificando as informações sobre seus recursos e propriedades, obtidas na etapa 2.

  7. Salve sua configuração. Ao salvar a configuração em um membro, ela é automaticamente propagada aos outros membros do cluster.

Para mais informações sobre a adição de um serviço ao cluster, consulte:

3.1.1. Coletando Informações do Sistema

Antes de configurar um serviço, colete todas as informações disponíveis sobre os recursos e propriedades do serviço. Em alguns casos é possível especificar múltiplos recursos para um serviço (ex.: múltiplos endereços IP e dispositivos de disco).

Os recursos e propriedades do serviço que você pode especificar usando a Ferramenta de Configuração do Cluster estão descritas na Tabela 3-1.

PropriedadeDescrição
Nome do ServiçoCada serviço deve ter um nome único. O nome do serviço pode ter de um a 63 caracteres e deve ser uma combinação de letras (caixa alta ou baixa), números inteiros, underscores ( _ ), períodos e hífens. Um nome de serviço deve começar com uma letra ou underscore.
Domínio de Queda

Identifique os membros nos quais rodar o serviço associando-o a um domínio de transferência existente.
Quando a transferência ordenada está habilitada, se o membro no qual o serviço está rodando cair, o serviço é automaticamente realocado para o próximo membro da lista ordenada. (A ordem de preferência é estabelecida pela sequência de nomes dos membros na lista de domínios de transferência). Consulte a Seção 2.9 para mais informações.

Intervalo de verificaçãoEspecifica a frequência (em segundos) com que o membro verifica a saúde da aplicação associada ao serviço. Por exemplo: quando você especifica um intervalo de verificação diferente de zero para um serviço do NFS ou do Samba, o Red Hat Cluster Manager verifica se os daemons necessários do NFS ou Samba estão rodando. Para outros tipos de serviços, o Red Hat Cluster Manager verifica o estado de retorno após chamar a cláusula de status do script do serviço da aplicação. Por default, o intervalo de verificação é 0, indicando que o monitoramento do serviço está desabilitado.
Script do usuárioSe for apropriado, especifique a localidade completa do script usado para iniciar e parar o serviço. Consulte a Seção 3.1.2 para mais informações.
Endereço IP

Você pode atribuir um ou mais endereços de protocolo de Internet (IP) a um serviço. Este endereço IP (às vezes chamado de endereço IP "flutuante") é diferente do endereço IP associado com a interface Ethernet do nome da máquina de um membro, porque é realocado automaticamente junto aos recursos do serviço quando a transferência ocorre. Se os clientes usam um endereço IP para acessar o serviço, eles não sabem qual membro está rodando o serviço, e a transferência é transparente aos clientes.
Note que os membros do cluster devem ter placas de interface de rede configuradas na sub-rede IP para cada endereço IP usado no serviço.
Os endereços de máscara de rede e de transmissão para cada endereço IP também podem ser especificados; caso não sejam, o cluster usa os endereços de máscara de rede e de transmissão da interconexão da rede na sub-rede.

Arquivo especial do dispositivoEspecifique cada partição de disco compartilhada usada no serviço.
Sistema de arquivo e opções de partilha

Se o serviço usa um sistema de arquivo, especifique o tipo, o ponto de montagem e quaisquer opções de montagem. Você pode especificar quaisquer opções de montagem do sistema de arquivo padrão, conforme descrito na página man do mount(8). Não é necessário prover informações de montagem para dispositivos raw (se usados em um serviço). Os sistemas de arquivo ext2 e ext3 são suportados em um cluster.
Decida se vai habilitar a desmontagem forçada (forced unmount) para um sistema. A desmontagem forçada permite que a estrutura de administração do serviço do cluster desmonte um sistema de arquivo antes da relocação ou transferência, mesmo se o sistema de arquivo estiver ocupado. Isto é realizado terminando todas as aplicações que estão acessando o sistema de arquivo.
Você também pode especificar se vai exportar o sistema de arquivo através das permissões de acesso definidas no NFS. Consulte a Seção 5.1 para detalhes.
Especifique se vai tornar o sistema de arquivo acessível para os clientes SMB através do Samba provendo um nome para a partilha do Samba.

Tabela 3-1. Informações sobre as Propriedades e Recursos do Serviço

3.1.2. Criando Scripts de Serviço

A infra-estrutura do cluster inicia e pára determinadas aplicações rodando scripts específicos do serviço. Para serviços do NFS e do Samba, os scripts associados são criados na infra-estrutura dos serviços do cluster. Consequentemente, ao rodar a Ferramenta de Configuração do Cluster para configurar os serviços do NFS e do Samba, deixe o campo Script do Usuário em branco. Para outros tipos de aplicação é necessário designar um script de serviço. Por exemplo: ao configurar uma aplicação de banco de dados, especifique a localidade completa do script de início correspondente ao banco de dados.

O formato dos scripts de serviço adota as convenções seguidas pelos scripts init do Sistema V. Esta convenção dita que os scripts têm as cláusulas start, stop e status. Estes scripts devem retornar um estado 0 de saída, se forem bem-sucedidos.

Quando um serviço falha em iniciar num membro do cluster, o Red Hat Cluster Manager tenta iniciá-lo em outros membros do cluster. Se os outros membros falharem ao iniciar aquele serviço, o Red Hat Cluster Manager tenta parar o serviço em todos os membros. Se, por alguma razão, falhar em parar o serviço, a infra-estrutura do cluster colocará o serviço no estado Falho. Os administradores devem então iniciar a Ferramenta de Estado do Cluster, destacar o serviço falho e clicar em Desabilitar antes de poder habilitá-lo novamente.

Além de executar as funções iniciar e parar, o script também é usado para monitorar o estado de um serviço de aplicação. Isto é feito chamando a cláusula status do script do serviço. Para habilitar o monitoramento do serviço, especifique um valor diferente de zero no campo Intervalo de Verificação ao determinar as propriedades do serviço com a Ferramenta de Configuração do Cluster. Se um pedido de verificação retornar uma saída diferente de zero ao script do serviço, então a infra-estruitura do cluster primeiro tenta reiniciar a aplicação no membro no qual rodava anteriormente. Funções de estado não precisam ser completamente implementadas nos scripts de serviço. Se o script não estiver efetuando um monitoramento real, então uma pequena cláusula status deve estar presente ao ser bem-sucedida.

As operações executadas na cláusula de estado (status) de uma aplicação podem ser afinadas para melhor atender às necessidades da aplicação assim como aos parâmetros específicos do site. Por exemplo: uma simples verificação de estado em um banco de dados seria verificar que o processo do banco de dados ainda está rodando. Uma verificação mais detalhada seria uma query na tabela do banco de dados.

O diretório /usr/share/cluster/doc/services/examples/ contém uma template que pode ser usada para criar scripts de serviço, além dos exemplos de scripts. Consulte a Seção 4.1, a Seção 4.3 e o Capítulo 6 para amostras de scripts.

3.1.3. Configurando o Armazenamento de Disco do Serviço

Antes de criar um serviço, configure os sistemas de arquivo compartilhados e os dispositivos raw que o serviço deve usar. Consulte a Seção 1.4.4 para mais informações.

Se você empregar dispositivos raw em um serviço do cluster, pode usar o arquivo /etc/sysconfig/rawdevices para agrupar os dispositivos no momento da incialização. Edite o arquivo e especifique os dispositivos de caráter raw e de bloco que devem ser agrupados cada vez que o membro for inicializado. Consulte a Seção 2.5 para mais informações.

Note que o software RAID e o RAID baseado na máquina não podem ser usados pelo armazenamento de disco compartilhado. Somente as placas RAID baseadas em adaptadores SCSI certificados podem ser usadas para o armazenamento de disco compartilhado.

Você deve aderir às seguintes recomendações ao serviço de armazenamento de disco:

  • Para obter o máximo desempenho, use um bloco de 4KB ao criar os sistemas de arquivo. Note que alguns utilitários mkfs para construção de sistemas de arquivo tem bloco default de 1KB, que pode usar períodos longos de fsck.

  • Para facilitar processos de transferência mais rápidos, é recomendado usar sistemas de arquivo ext3. Consulte a Seção 1.4.4.6 para mais informações.

  • Para sistemas de arquivo grandes, use a opção nocheck para desviar o código que checa todos os grupos de bloco da partição. Especificar a opção nocheck pode diminuir bastante o tempo necessário para montar um sistema de arquivo grande.

3.1.4. Verificando Software da Aplicação e Scripts do Serviço

Antes de configurar um serviço, instale todas as aplicações usadas pelo serviço em cada membro do cluster (ou cada membro no domínio de transferência, se for usado). Após fazer isso, verifique se a aplicação roda e se pode acessar o armazenamento de disco compartilhado. Para evitar a corrupção dos dados, não execute a aplicação em mais de um membro simultaneamente.

Se usar um script para iniciar e parar a aplicação do serviço, instale e teste o script em todos os membros do cluster e certifique-se de que pode ser usado para iniciar e parar a aplicação. Consulte a Seção 3.1.2 para mais informações.