Como corrigir pendurado Server Admin, log mostra erro servermgrd em getAndLockContext: flock (servermgr_info) FATAL time out


5

Em uma instalação do 10.7.4 Lion Server, o Server Admin.app não é iniciado corretamente. A janela é desenhada e o último servidor conhecido e seus serviços são exibidos, mas uma roda girando continua girando na barra de status inferior.

O registro do console.app mostra:

Jun 24 18:19:56 mac01 servermgrd[437]: [437] error in getAndLockContext: flock(servermgr_info) FATAL time out
Jun 24 18:19:56 mac01 servermgrd[437]: [437] process will force-quit to avoid deadlock
Jun 24 18:19:56 mac01 servermgrd[437]: outstanding requests are: (
            {
            Command = getHistory;
            Module = "servermgr_info";
            Timestamp = "2012-06-24 16:17:51 +0000";
        },
            {
            Command = getState;
            Module = "servermgr_info";
            Timestamp = "2012-06-24 16:17:51 +0000";
        },
            {
            Command = Idle;
            Module = "servermgr_info";
            Timestamp = "2012-06-24 16:18:50 +0000";
        }
    )
Jun 24 18:19:56 mac01 com.apple.launchd[1] (com.apple.servermgrd[437]): Exited with code: 1

tem 3 serviços habilitados: dns, firewall, mail . O plugin DNS deu uma mensagem de erro que não pode ser reproduzida.

Outros erros no Console.app são:

Jun 28 12:49:58 mac01 ServerBackup[32087]: Error in calling backup command for service postgresql, error :=69
Jun 28 12:51:24 mac01 mds[99]: (Error) Volume: Could not find requested backup type:2 for volume
Jun 28 12:53:01 mac01 mds[99]: (Error) Server: ==== XPC handleXPCMessage XPC_ERROR_CONNECTION_INVALID

(Regressão) Outras fontes sugeridas para tentar:

  1. rever as configurações de DNS, nenhum problema encontrado
  2. verifique o nome do host com sudo changeip -checkhostname, nenhum problema encontrado lá
  3. destruir a instalação do Open Directory, o OD não é usado aqui
  4. reboot, que não resolveu o problema
  5. substituir /Library/Preferences/com.apple.servermgrd.plist com uma boa cópia conhecida, isso não ajudou
  6. substituir o próprio Server Admin.app por uma cópia boa conhecida, também não melhorou
  7. emissão de um sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.servermgrd.plist;sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.servermgrd.plist, como na minha resposta abaixo, que apenas parcialmente resolve a questão. O Administrador do Servidor foi iniciado corretamente uma vez, mas na segunda e consecutiva inicialização a roda de fiar continua girando novamente e o registro mostra as situações de conflito novamente.
  8. untick 'requer assinatura digital válida (SSL)' no servidor admin prefs apenas caso você não tenha confiado no seu servidor cert, sem alterações.
  9. verifique se é um problema do usuário, criando um novo usuário admin e tente iniciar o administrador do servidor a partir desse login, erros (kReceivedUnknownError diz que o administrador do servidor, o processo será forçado a sair para evitar que o deadlock esteja no log, mas não há solicitações pendentes o registro)
  10. Alterou o endereço do servidor de conexão de 'name.local' para '127.0.0.1', sem alteração.
  11. sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.servermgrd.plist;sudo rm -r /var/servermgrd;sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.servermgrd.plistsem mudança
  12. Server.app & gt; hardware & gt; hostname & gt; configurações & gt; desmarque dedicar recursos aos serviços do servidor, reinicialize, verifique novamente, reinicialize, sem alteração
  13. $ diskutil repairPermissions /;sudo rebootsem mudança
  14. corrigiu a entrada rDNS para corresponder ao nome da máquina, para que Server.app não exiba mais um alerta de que a rede foi alterada em cada inicialização.

Outras entradas do arquivo de log de repetição são:

29-06-12 02:58:01,943 configd: network configuration changed.
29-06-12 02:58:33,575 configd: network configuration changed.
29-06-12 02:58:33,597 configd: network configuration changed.
29-06-12 02:58:34,266 servermgrd: servermgr_ipfilter:ipfw config:Notice:Flushed IPv4 rules
29-06-12 02:58:34,578 servermgrd: servermgr_ipfilter:ipfw config:Notice:Flushed IPv6 rules
29-06-12 02:59:50,707 servermgrd: servermgr_filebrowser:Error:servermgr_filebrowser: Error getting quotas for volume /Volumes/H of type exfat

Após horas tentando isolar o problema, posso reproduzir que o tempo limite FATAL do flock (servermgr_info) está relacionado ao serviço DNS local. Quando o serviço DNS é iniciado, o Server Admin.app gera o tempo limite do flock (servermgr_info) FATAL, quando o DNS é interrompido (e $ sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.servermgrd.plist;sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.servermgrd.plist para ter certeza de que há um ponto de partida limpo) da próxima vez que o Server Admin.app se comporta OK e nenhum flock (servermgr_info) O tempo limite FATAL é registrado.

Configuração anônima do DNS do servidoradmin extraída usando $ sudo serveradmin settings dns ) é aqui:

dns:acls:_array_index:0:name = "com.apple.ServerAdmin.DNS.public"
dns:acls:_array_index:0:addressMatchList:_array_index:0 = "localhost"
dns:views:_array_id:com.apple.ServerAdmin.DNS.public:secondaryZones:_array_id:xyz.nl:name = "xyz.nl"
dns:views:_array_id:com.apple.ServerAdmin.DNS.public:secondaryZones:_array_id:xyz.nl:ipAddresses:_array_index:0 = "1.1.1.237"
dns:views:_array_id:com.apple.ServerAdmin.DNS.public:secondaryZones:_array_id:xyz.nl:ipAddresses:_array_index:1 = "2.2.1.247"
dns:views:_array_id:com.apple.ServerAdmin.DNS.public:secondaryZones:_array_id:xyz.nl:ipAddresses:_array_index:2 = "1.2.1.59"
dns:views:_array_id:com.apple.ServerAdmin.DNS.public:secondaryZones:_array_id:xyz.nl:ipAddresses:_array_index:3 = "2.1.1.23"
dns:views:_array_id:com.apple.ServerAdmin.DNS.public:primaryZones = _empty_array
dns:views:_array_id:com.apple.ServerAdmin.DNS.public:allowRecursion = "com.apple.ServerAdmin.DNS.public"
dns:views:_array_id:com.apple.ServerAdmin.DNS.public:reverseZones = _empty_array
dns:views:_array_id:com.apple.ServerAdmin.DNS.public:name = "com.apple.ServerAdmin.DNS.public"
dns:isBonjourClientBrowsingEnabled = no

A ironia é que o localhost não está configurado como resolvedor de DNS:

$ networksetup -getdnsservers Ethernet
91.196.170.5
8.8.8.8
8.8.4.4

Quando o serviço DNS é interrompido, o administrador do servidor ainda continua girando. Dando uma olhada no Servername & gt; Rede & gt; mostra que no painel com "Network Interfaces" o nome DNS está vazio.

nslookup -type=ptr z.y.x.91.in-addr.arpa retorna o valor correto. UMA dig PTR z.y.x.91.in-addr.arpa para o PTR é ok, e um dig PTR z.y.x.91.in-addr.arpa +trace pára após o número de recursão 4:

.           77760   IN  NS  m.root-servers.net.
...<cut>...
.           77760   IN  NS  l.root-servers.net.
;; Received 244 bytes from 91.196.170.5#53(91.196.170.5) in 5 ms

in-addr.arpa.       172800  IN  NS  a.in-addr-servers.arpa.
...<cut>...
in-addr.arpa.       172800  IN  NS  f.in-addr-servers.arpa.
;; Received 432 bytes from 192.203.230.10#53(e.root-servers.net) in 7 ms

91.in-addr.arpa.    86400   IN  NS  sec3.apnic.net.
...<cut>...
91.in-addr.arpa.    86400   IN  NS  sns-pb.isc.org.
;; Received 200 bytes from 193.0.9.1#53(f.in-addr-servers.arpa) in 2 ms

170.196.91.in-addr.arpa. 172800 IN  NS  ns2.technotop.nl.
170.196.91.in-addr.arpa. 172800 IN  NS  ns3.technotop.nl.
170.196.91.in-addr.arpa. 172800 IN  NS  ns1.technotop.nl.
;; Received 110 bytes from 193.0.9.5#53(pri.authdns.ripe.net) in 1 ms

;; connection timed out; no servers could be reached

Agora também há uma nova mensagem registrada:

Jun 29 14:49:10 mac01 servermgrd[1039]: Still servicing 0:0 requests after 300 seconds, with 1 sessions outstanding, resetting idleTimer

Atualização 1 Parece que o problema pode ser um erro de configuração de PTR do rDNS (DNS reverso). UMA dig +trace de uma máquina 10.5 em um local diferente resulta em couldn't get address for 'ns3.technotop.nl': not found. O provedor de rede foi solicitado a corrigir essa configuração DNS fragmentada (e defeituosa).


Atualização 2 Outro suspeito é o firewall embutido. Quando o firewall está parado, não há interrupções. Quando o firewall é iniciado, a roda giratória nunca para.


Atualização 3 O provedor fixou ns3.technotop.nl atribuindo um registro DNS A com o endereço IP 91.196.170.72 em 23 de agosto. Resultado: ainda uma roda giratória na parte inferior direita do Administrador do Mac OS Server e depois de alguns minutos

" O serviço encontrou um erro. Tente atualizar a vista   (127.0.0.1/Server). (kReceivedUnkownError).

Seguido por um:

" O serviço encontrou um erro. Tente atualizar a vista   (127.0.0.1/Certificados). (kReceivedUnkownError).

Atualização 4 A próxima edição é um firewall de software do CentOS versão 5.4 nos servidores em que o ns1.technotop.nl e o ns2.technotop.nl estão sendo executados, que entraram em vigor nos padrões de tráfego DNS do Mac OS X 10.7.4 Lion + Server + Ferramentas administrativas:

123.45.67.89 # lfd: (PERMBLOCK) 123.45.67.89 teve mais de 4 temp blocks nos últimos 86400 seg - Sun Jun 17 21:20:08 2012

Depois de limpar esse bloco no firewall CentOS, o bloco de firewall está de volta dentro de 10 horas para cada endereço IP que está executando 10.7.4 e está tendo um nome DNS reverso que é servido de forma autoritativa pelas máquinas CentOS 5.4.

Vamos ver o que uma lista de desbloqueio do firewall do CentOS fará com máquinas que executam o Mac OS 10.7.4.


Questão

Como corrigir esse erro de servidor servermgrd relacionado ao serviço DNS (servermgr_info) (por exemplo, por padrão de fábrica redefinindo o serviço dns)?

Respostas:


2

Eu tive o mesmo problema. Como sugerido aqui, acompanhei o problema até um registro NS incorreto (erro de digitação) para a zona inversa.

changeip -checkhostname não relatou problemas verificar manualmente o avanço / reverso tudo parecia bom.

Mas quando eu verifiquei especificamente o registro NS para a zona reversa, notei o erro de digitação.


0

$ sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.servermgrd.plist e a questão se foi por alguns minutos.


Isso resolvido apenas no primeiro lançamento do Server Admin.app, em versões posteriores lançam o flock (servermgr_info), forçar a saída para evitar um impasse, e a situação da roda de fiar estava de volta.
Pro Backup

0
  1. Adicione um firewall "Grupo de Endereços" para o endereço IP "127.0.0.1".
  2. Conceda às permissões "Serviços" -tab "Permitir todo o tráfego" para esse grupo recém-criado.

Criar esta regra de firewall não é suficiente. As mensagens de erro como servermgrd: error in getAndLockContext: flock(servermgr_info) FATAL time out e servermgrd: process will force-quit to avoid deadlock ainda estão aparecendo.
Pro Backup

0

Revise a configuração do firewall dos servidores DNS autoritativos para os registros PTR do seu endereço IP (público).

No nosso caso, ao procurar os registros PTR do endereço IP público (123.45.67.89 por exemplo) usando a notação reversa (89.67.45.123.in-addr.arpa) no Terminal no servidor Lion:

  1. $ dig NS 67.45.123.in-addr.arpa +short resulta em:

    ns1.technotop.nl.

    ns2.technotop.nl.

  2. $ dig PTR 89.67.45.123.in-addr.arpa @ns1.technotop.nl resulta em:

    ; & lt; & lt; & gt; & gt; DiG 9.7.3-P3 & lt; & lt; & gt; & gt; PTR 89.67.45.123.in-addr.arpa @ ns1.technotop.nl

    ;; opções globais: + cmd

    ;; conexão esgotada; nenhum servidor pode ser alcançado

Em outras palavras, os pacotes de DNS foram descartados por um firewall intermediário.

Após a lista de permissões do endereço IP do Mac OS X Server no firewall de cada servidor DNS autoritário, o problema "tempo limite FATAL de getAndLockContext: flock (servermgr_info) desapareceu.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.