terça-feira, 22 de novembro de 2011

Gerenciando serviços no Solaris 11

Para gerenciarmos serviços no Linux, dependendo da distribuição usamos ou o comando service ou os scripts em /etc/rc.d. O Solaris centraliza essas opçlões através do utilitário svcadm, o qual vamos conhecer agora.



O comando svcadm emite pedidos de ações em serviços de execução dentro das instalações de gestão de serviços. Essas ações são realizadas pelo agente de reinício associado ao serviço. O reinicializador padrão de serviços é o svc.startd.


Os serviços no Solaris são controlados, assim, por subcomandos:


enable [-rst] {FMRI | padrão}


Habilita as instâncias dos serviços especificadas pelos operandos. Para casa instância de serviço, o reinicializador associado vai tentar trazê-lo para o estado online. Esta ação requer permissão para modificar o grupo geral de propriedades das instâncias de serviço. A opção -r habilita cada instância do serviço e suas dependências; Já a opção -s habilita a instância e aguarda até que ela entre no estado online ou degradado. A opção -t habilita os serviços temporariamente, ou seja, eles não irão mais funcionar após o reboot. Por padrão, um serviço habilitado funciona mesmo após o reboot.


disable {-st] {FMRI | padrão}


Desabilita as instâncias de serviço especificadas pelos operandos. Para cada instância, o reinicializador associado tentará trazê-la para o status disabled. A opção -s aguarda até o serviço entrar no estado de desabilitado, mas o svcadm vai retornar o comando do sistema mais cedo se ele determinar que o serviço não pode chegar a esse estado sem intervenção do administrador. Se a opção -t for especificada, o serviço será desabilitado apenas até o próximo reboot.


Exemplo: # svcadm disable http


restart {FMRI | padrão}


Solicita que as instâncias dos serviços especificados sejam reiniciadas. Em geral, esse comando equivale a um comando stop seguido de start. Apenas os serviços que estejam no estado online ou degraded podem ser reiniciados.


Exemplo: # svcadm restart nfs/server


refresh {FMRI | padrão}


Para cada instância de serviço especificada, solicita que o reinicializador associado atualize o snapshot da configuração do serviço em execução com os valores da configuração atual. Alguns desses valores - como mudanças nas dependências - entram em vigor imediatamente mas outros requerem que o serviço seja reinicializado.



Se a instância está em estado de manutenção, diz ao reinicializador associado que o serviço foi reparado; se esta no estado de degradado, manda-o trazer o serviço para o estado online.


Há, ainda, outras opções para desenvolvimento e testes de serviços. svcadm retorna alguns códigos que podem ser capturados por um script de linha de comando: 0 se a tarefa foi completada com sucesso, 1 se ocorreu um erro fatal, 2 se houve algum erro na linha de comando, 3 se a instância do serviço não pode ser alcançada devido a um problema com o serviço em si e 4 se a causa do erro anterior foi com uma de suas dependências.

Nenhum comentário:

Postar um comentário