Status e dependências do serviço Solaris

4

Estou criando manifestos de serviço para o MySQL e um serviço WebLogic que depende do serviço MySQL. Eu quero que todos eles usem o modelo de gerenciamento "wait" (execute um processo em primeiro plano). Eu tenho algumas dúvidas sobre essa configuração.

Primeiro, como ditar o status de um serviço? Por exemplo, quando eu criei scripts MySQL antes de usar serviços, depois de lançar o script mysqld_safe em segundo plano, eu faria o ping até obter uma resposta; Eu queria ter certeza de que estava pronto antes de continuar. Agora, com o serviço, ele fica imediatamente "on-line", embora eu não tenha certeza se está realmente pronto ou não.

No caso de não haver uma boa solução para essa questão, coloco o ping do banco de dados MySQL no próprio script WebLogic e a saída com o status 1 após um certo número de tentativas. No entanto, o serviço será reiniciado continuamente. Como faço para forçar o serviço a entrar no modo de manutenção após uma saída diferente de zero?

Finalmente, eu tenho as dependências funcionando na medida em que o serviço WebLogic não iniciará sem o serviço MySQL estar online, mas eu tenho duas perguntas sobre isso:

  1. Como faço para que o serviço WebLogic tente iniciar o serviço MySQL quando estiver inoperante?
  2. Quando o serviço WebLogic já está online, como faço para que ele seja removido se o serviço MySQL cair?
por noisesolo 03.08.2011 / 22:25

2 respostas

2

1 - Defina o serviço mysql como um serviço de dependência ao configurar o manifesto xml para o serviço weblogic. Desta forma, o seu weblogic não será iniciado desde que o serviço mysql não esteja completamente online. Isso parece lógico, já que o seu aplicativo weblogic dependeria da disponibilidade do serviço mysql, ele não faria tentativas desnecessárias de conectar o db / execução da instrução sql quando o serviço mysql db estivesse inativo.

2 - Como o serviço de dependência fica em estado offline / degradado, o seu serviço weblogic também fica offline e não será executado. Portanto, não há chance de o serviço weblogic tentar tornar o serviço mysql novamente on-line enquanto ele tiver a chance, já que ele está entrando no modo de manutenção. Mais ainda, não há garantia para o weblogic iniciar depois que o serviço mysql está entrando no modo de manutenção / offline / degraded, o smf marcará o serviço weblogic também degradado / offline e, portanto, não pode ser usado para iniciar o serviço mysql. Este pode ser um caso claro de dependência cíclica, que deve ser resolvido, usando um terceiro serviço de módulo / cronjob / transitório para cuidar desses dois serviços.

Agora que está claro que o principal serviço de dependência é o mysql para executar on-line quase o tempo todo para a disponibilidade e funcionamento limpo do weblogic, sugiro empregar um terceiro módulo / script (como um cronjob faria) que monitorar os estados do serviço mysql como prioridade preferencial e, em seguida, o serviço weblogic. Ele deve cuidar do manuseio / execução dos comandos de recuperação do SMF, caso algum serviço seja desativado.

    
por 18.01.2012 / 07:10
0

Melhor usar o distribuidor pedir e configurar o serviço para criar o arquivo xml para você: link

    
por 18.01.2012 / 11:37

Tags