Que parte do SMF é provavelmente quebrada por um disco rígido baixo?

2

Em um dos sites dos meus clientes, o funcionário local desligou o servidor Solaris 10 x86 local, puxou as entradas de energia, moveu-as e agora não inicia corretamente. Ele inicializa e, em seguida, apresenta um prompt que permite efetuar login. Este parece ser um marco de usuário único (ou equivalente).

Pesquisando, acho que o SMF não permite que o sistema seja multiusuário. O SMF estava gerando uma tonelada de erros no autofs, depois de alguns enganos eu consegui gerar erros no inetd e no nfs / client. Isso tudo me diz que o problema está em algum arquivo de estado SMF ou banco de dados que precisa ser corrigido / excluído / recriado ou algo assim, mas não sei qual é o problema real.

Por "gerar erros", quero dizer que a cada segundo eu recebo uma mensagem no console dizendo "A saída do método ou serviço expirou. Matando contrato < # & gt ;. ”Isso dificulta a interação com o computador.

A execução de svcs –xv mostra o serviço como “ativado”, no estado “desativado”, motivo “O método de início está em execução”. Enganar com svcadm no serviço não faz nada, exceto confirmar que o serviço não está em estado de manutenção.

Logs / lib / svc / log / $ SERVICE apenas informam que este loop está acontecendo uma vez por segundo. Os registros em / etc / svc / volatile / $ SERVICE confirmam que, na inicialização, o serviço é iniciado e imediatamente interrompido, sem mais entradas. Observe que o log do sistema não está iniciando porque o log do sistema depende do autofs, portanto, não tenho syslog ou dmesg.

pesquisando todos esses termos acaba me dizendo como depurar / corrigir autofs ou nfs / client ou inetd ou rpc / gss (que era a dependência que o SMF estava usando como desculpa para evitar que o nfs / client fosse "iniciado", Ele estava afirmando que o rpc / gss estava "indefinido", o que é incorreto, já que tudo isso costumava funcionar. Eu o reativei com o inetadm, mas o inetd ainda não será iniciado corretamente. Mas acho que o problema é o SMF em geral, não os serviços individuais.

Fazer um restore_repository para o "manifest_import" não faz nada para melhorar ou mesmo detectar de maneira detectável a situação. Não usei um backup de inicialização porque a última inicialização não foi útil.

Eu disse ao cliente que, como os diretórios de dados valiosos estão em um sistema de arquivos separado (que é tão limpo como o fsck), poderíamos reinstalar o Solaris 10 na partição /. Mas isso parece ser uma solução muito parecida com janelas para causar esse problema.

Alguma idéia de qual peça está quebrada e como eu posso consertar isso?

Atualização 1 : Eu provavelmente deveria mencionar que este sistema tem dois sistemas de arquivos, / e / export. Ambos fsck limpam e montam corretamente.

    
por David Mackintosh 27.11.2011 / 05:00

1 resposta

1

Uma causa raiz comum de tal problema é um problema durante a montagem de sistemas de arquivos devido a alguma corrupção do sistema de arquivos. Isso está se tornando bastante raro, especialmente para os locais, mas seu cliente não colocou as probabilidades do lado dele desabilitando o log do ufs (o que evita a maioria das corrupções do sistema de arquivos causado por um desligamento repentino) e por não usar o ZFS (que não pode ser corrompido em primeiro lugar por design).

Você pode ativar a inicialização detalhada do smf editando /boot/grub/menu.lst. A maneira exata depende da versão e atualização do Solaris, mas normalmente isso é feito substituindo console=graphics por console=text -v -m verbose na linha que carrega o kernel.

Se você quiser começar no modo de usuário único, use console=text -v -m verbose,milestone=single-user .

Para ativar o modo de depuração smf, use console=text -v -m debug

Observe que você pode usar o modo de edição do grub para definir temporariamente essas opções.

    
por 27.11.2011 / 17:35