Como desabilitar um processo daemon no RHEL 6.3 como o SMF faz no Solaris

3

Este problema tem me incomodado há algum tempo, temos um programa em execução no Solaris, que gerencia bem como um serviço por SMF , pode ser ativado / desativado com muita facilidade.

Agora, de acordo com o nosso mercado, gostaríamos de migrar este serviço para o RHEL 6.3, por isso estamos tentando usar o Upstart para gerenciá-lo e torná-lo o mesmo comportamento, como acontece no Solaris. A maioria dos comportamentos é boa e atende aos nossos requisitos, mas quando paramos o serviço, ele ainda foi iniciado automaticamente na inicialização, não é isso que queremos. Queremos que seja interrompido não importa quantas vezes reinicializemos ou desligemos o servidor depois de parar o serviço.

Eu li este artigo, Ubuntu12. 04: Como desabilitar um processo do daemon na inicialização , diz, este recurso pode ser feito pelo Upstart 1.3, mas estamos limitados a usar o RHEL 6.3, que é a versão do pacote do Upstart 0.6.7, e o mais importante Não há upgrade para o Upstart e não é possível alternar para outra plataforma. : (

Então, minha pergunta é: existe algum método alternativo para atingir o meu alvo, mas não alterar o sistema e não introduzir nenhuma dependência, e ainda assim, este serviço deve ser gerenciado pelo sistema, como SMF / Upstart / init.d .

Um pouco mais de exigência aqui, ainda queremos implementar um recurso que, se o usuário eliminar o processo de serviço, o sistema possa detectar isso e tentar iniciar o processo automaticamente com tempos limite superiores, que também podem ser especificados.

Referência para o SMF:

Apresentando o básico do Service Management Facility (SMF) ) no Oracle Solaris 11 Administração avançada com o Service Management Facility (SMF) no Oracle Solaris 11

    
por Hang Pan 24.09.2013 / 11:19

2 respostas

2

Em sistemas baseados em rpm, como o ReHat, use chkconfig para configurar runlevels. service cuidará disso em um sistema em execução.

Para parar permanentemente um serviço no RH 6:

service xyz stop
chkconfig xyz off

O SMF é muito mais complexo que isso. Como está fazendo monitoramento, reinicia e assim por diante, parece fazer coisas que normalmente estão sendo feitas por um software de cluster.

Em um software de cluster, você classicamente pegaria o serviço do sistema-controle e daria para o controle de cluster. Esse serviço será iniciado na inicialização do cluster.

Lá você teria comandos possíveis como:

  • Interromper o serviço (uma vez ou permanentemente)
  • Monitore somente o serviço
  • O comportamento normal do cluster pode reiniciar esse serviço, se o monitor retornar um estado inativo não planejado

Se você não quiser adicionar um conjunto de clusters completos, poderá fazer algumas soluções alternativas:

  • Adicione um método "pstop" ao script init que interrompe o serviço e toca em um sinalizador de tempo de inatividade planejado
  • escreve um cron-job que monitora o serviço e o reinicia se estiver inativo e NÃO no tempo de inatividade planejado
  • modifique o método "start" do script init para remover o sinalizador de tempo de inatividade planejado, se existir
por 24.09.2013 / 21:28
1

Se você quiser migrar para o RHEL, use manuais do RHEL como uma referência - a documentação de leitura para o Upstart do Ubuntu não vai chegar muito longe. Os sistemas de inicialização são uma das partes principais de uma distribuição do Linux que é uma das coisas que faz uma distribuição em si. Mesmo que vários fornecedores frequentemente se esforcem por algum grau de compatibilidade, ler documentação de outras distribuições, especialmente quando você se desloca de outro sistema UNIX não é uma boa idéia.

O RHEL usa o upstart em um modo de compatibilidade de init do SysV e, como tal, provavelmente saberá o comando service . A propósito, tente inserir o gerenciamento de serviços RHEL em seu mecanismo de pesquisa favorito - que deve fornecer material de leitura suficiente.

    
por 24.09.2013 / 12:25