NetWorker: Identifique os clients que exigem a limpeza de informações de pares "Erro - falha do protocolo SSL"
Summary: O /nsr/logs/daemon.raw do servidor do NetWorker é inundado com "Unable to complete SSL handshake with nsrexecd on host 'CLIENT_NAME': Ocorreu um erro como resultado de uma falha do protocolo SSL." Além de um possível problema de conexão, isso dificulta a análise dos logs para qualquer outra solução de problemas. Este artigo destaca as etapas que podem ser seguidas para limpar esse problema da conexão do lado do servidor e do cliente. ...
Instructions
Em algumas situações, as especificações do servidor do NetWorker daemon.raw pode ser inundado com erros de conexão de autenticação do GSS (Generic Security Service) entre dois sistemas NetWorker:
MM/DD/YYYY HH:MM:SS 5 13 9 3635926784 26586 0 NSR_HOSTNAME nsrexecd SSL critical Unable to complete SSL handshake with nsrexecd on host 'CLIENT_NAME': An error occurred as a result of an SSL protocol failure. To complete this request, ensure that the certificate attributes for CLIENT_NAME and NSR_NAME match in the NSRLA database on each host.
Ou
MM/DD/YYYY HH:mm:SS 5 12 10 11256 2900 0 NSR_NAME nsrexecd GSS critical An authentication request from CLIENT_NAME was denied. The 'NSR peer information' provided did not match the one stored by NSR_NAME. To accept this request, delete the 'NSR peer information' resource with the following attributes from NSR_NAME's NSRLA database: name: CLIENT_NAME; NW instance ID: CLIENT_ID; peer hostname: CLIENT_NAME MM/DD/YYYY HH:mm:SS 0 0 0 6384 6380 0 NSR_NAME nsrd NSR info Authentication Warning: Conflicting NSR peer information resources detected for host 'CLIENT_NAME'. Please check server daemon log for more information.
No servidor do NetWorker, em um prompt de comando de usuário root ou Administrador, execute:
nsradmin -C -y -p nsrexecd "nsr peer information"
Esse comando verifica cada recurso de certificado de par no servidor do NetWorker nsrladb e tenta corrigi-lo. Essa operação também deve ser executada nos clients que relatam esse problema. Isso pode estar ocorrendo para muitos clients e fica difícil isolar todos os diferentes hosts que precisam de correção.
O processo a seguir pode ser usado para determinar quais sistemas precisam ser executados: nsradmin -C -y ou pode exigir a exclusão manual de informações de pares.
Hosts Linux:
- Renderizar o
daemon.raw:
nsr_render_log -S "1 weeks ago" /nsr/logs/daemon.raw > /nsr/logs/daemon.out 2<&1
Nota: Este exemplo processa apenas a última 1 semana de mensagens. Isso evita a verificação de problemas de pares que podem não estar mais ocorrendo. Outros filtros são explicados em: NetWorker: Como usar nsr_render_log
- Crie um arquivo que contenha apenas os erros de conexão de autenticação do GSS:
cat /nsr/logs/daemon.out | grep "SSL handshake" > GSS_error.out
Ou:
cat /nsr/logs/daemon.out | grep "NSR peer information" > GSS_error.out
Nota: Dependendo do erro de autenticação GSS específico observado, altere o
filter usado por grep para coletar a saída necessária.
- Crie um arquivo que contenha apenas os nomes de client do arquivo de saída do GSS:
cat GSS_error.out | awk {'print $24'} | sort > client.out
Esse comando usa os comandos awk e print do Linux para imprimir somente o column que contém o nome do cliente da mensagem de erro de conexão SSL completa. Dependendo da filter number usado, modifique o número de impressão para gerar os nomes de client corretamente se o exemplo acima não retornar os resultados esperados.
- Analise o arquivo usando o comando exclusivo para gerar apenas uma instância de cada um dos clients que relatam esse problema:
cat client.out | uniq
Exemplo:
[root@nsrserver logs]# nsr_render_log daemon.raw > daemon.out 2<&1
[root@nsrserver logs]# cat daemon.out | grep "SSL handshake" > GSS_error.out
[root@nsrserver logs]# cat GSS_error.out | awk {'print $24'} | sort > client.out
[root@nsrserver logs]# cat client.out | uniq
'client1':
'client2':
'client3':
'client4':
'client5':
'client6':
Os nomes de host acima foram alterados; Agora, em vez de centenas de entradas em daemon.raw, apenas uma entrada para cada cliente está relatando esse comportamento.
- Conecte-se aos sistemas client relatados usando SSH ou RDP (Remote Desktop Protocol) e use um prompt de comando raiz/administrativo para executar:
nsradmin -C -y -p nsrexecd "nsr peer information"
A execução desse comando no servidor e no client deve garantir que o nsrladb Em cada sistema contém as informações corretas de certificado de par. Se uma incompatibilidade for detectada, o certificado será excluído e a próxima tentativa de conexão entre o servidor e o client deverá gerar um novo.
O nsradmin O comando mostra quais hosts têm uma disparidade e qual ação foi executada no resultado.
A exclusão manual de informações de par é detalhada no artigo NetWorker: Corrigindo informações inconsistentes de pares do NSR
- Os arquivos de saída podem ser excluídos quando não forem mais necessários:
rm -rf filename
Hosts do Windows:
- Abra um prompt do Windows PowerShell como Administrador.
- Altere os diretórios para o diretório de log do NetWorker:
cd "C:\Program Files\EMC NetWorker\nsr\logs"
O exemplo pressupõe que o local de instalação padrão é usado. Se você instalou o NetWorker em outro local, modifique o comando adequadamente.
- Renderizar o
daemon.raw:
nsr_render_log -S "1 weeks ago" daemon.raw > daemon.out
Nota: Este exemplo processa apenas a última 1 semana de mensagens. Isso evita a verificação de problemas de pares que podem não estar mais ocorrendo. Outros filtros são explicados em: NetWorker: Como usar nsr_render_log
- Crie um arquivo que contenha apenas os erros de conexão de autenticação do GSS:
elect-String -Path .\daemon.out -pattern "SSL handshake" > GSS_error.out
Ou:
Select-String -Path .\daemon.out -pattern "NSR peer information" > GSS_error.out
Nota: Dependendo do erro de autenticação do GSS específico observado, altere o "
filter" usado por grep para coletar a saída necessária.
- Gere um resultado que mostre sistemas exclusivos que relatam os erros de autenticação do GSS:
Get-Content .\GSS_error.out | %{ $_.Split(' ')[9]; } | Sort | Unique
filter number usado, altere o número de impressão para gerar os nomes dos clientes se o exemplo acima não retornar os resultados esperados.
Exemplo:
PS C:\Program Files\EMC NetWorker\nsr\logs> Get-Content .\GSS_error.out | %{ $_.Split(' ')[9]; } | Sort | Unique
13120
13932
2808
2828
2856
2900
2920
2956
5716
6088
6328
6380
6772
6852
8196
9388
networker-mc.emclab.local
redhat.emclab.local
winsrvr.emclab.local
- Conecte-se aos sistemas client relatados usando SSH ou RDP e use um prompt de comando administrativo/raiz para executar:
nsradmin -C -y -p nsrexecd "nsr peer information"
A execução desse comando no servidor e no client deve garantir que o nsrladb Em cada sistema contém as informações corretas de certificado de par. Se uma incompatibilidade for detectada, o certificado será excluído e a próxima tentativa de conexão entre o servidor e o client deverá gerar um novo.
O nsradmin O comando mostra quais hosts têm uma disparidade e qual ação foi executada no resultado.
A exclusão manual de informações de par é detalhada no artigo NetWorker: Corrigindo informações inconsistentes de pares do NSR
- Os arquivos de saída podem ser excluídos uma vez que não são mais necessários.