NetWorker: Identyfikacja klientów wymagających wyczyszczenia informacji równorzędnych "Error-SSL protocol failure"
Summary: Serwer NetWorker /nsr/logs/daemon.raw jest zapełniony komunikatami „Unable to complete SSL handshake with nsrexecd on host 'CLIENT_NAME': Wystąpił błąd w wyniku awarii protokołu SSL". Oprócz możliwego problemu z połączeniem, utrudnia to analizowanie dzienników w celu innego rozwiązywania problemów. W tym artykule przedstawiono kroki, które można wykonać, aby usunąć ten problem zarówno z połączenia po stronie serwera, jak i po stronie klienta. ...
Instructions
W niektórych sytuacjach serwer NetWorker daemon.raw może być zalany błędami połączenia uwierzytelniania GSS (Generic Security Service) pomiędzy dwoma systemami 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.
Lub
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.
Na serwerze NetWorker, w wierszu polecenia root lub administratora, uruchom następujące polecenie:
nsradmin -C -y -p nsrexecd "nsr peer information"
Patrz: NetWorker: Automatyczne usuwanie niezgodności informacji równorzędnych NSR za pomocą nsradmin -C
To polecenie sprawdza każdy zasób certyfikatu równorzędnego na serwerze NetWorker nsrladb i próbuje to naprawić. Tę operację należy również uruchomić na klientach zgłaszających ten problem. Może się tak zdarzyć w przypadku wielu klientów i trudno jest wyizolować wszystkie hosty, które wymagają korekty.
Poniższy proces może posłużyć do określenia, które systemy wymagają uruchomienia nsradmin -C -y lub może wymagać ręcznego usunięcia informacji równorzędnych.
Hosty Linux:
- Renderowanie
daemon.raw:
nsr_render_log -S "1 weeks ago" /nsr/logs/daemon.raw > /nsr/logs/daemon.out 2<&1
UWAGA: Ten przykład renderuje tylko wiadomości z ostatniego tygodnia. Pozwala to uniknąć sprawdzania problemów równorzędnych, które mogą już nie występować. Inne filtry są wyjaśnione w: NetWorker: korzystanie z nsr_render_log
- Utwórz plik zawierający tylko błędy połączenia uwierzytelniania GSS:
cat /nsr/logs/daemon.out | grep "SSL handshake" > GSS_error.out
lub:
cat /nsr/logs/daemon.out | grep "NSR peer information" > GSS_error.out
UWAGA: W zależności od konkretnego zaobserwowanego błędu uwierzytelniania GSS zmień
filter używane przez grep , aby zebrać wymagane dane wyjściowe.
- Utwórz plik zawierający tylko nazwy klientów z pliku wyjściowego GSS:
cat GSS_error.out | awk {'print $24'} | sort > client.out
To polecenie używa linuksowych poleceń awk i print do drukowania tylko column zawierające nazwę klienta z pełnego komunikatu o błędzie połączenia SSL. W zależności od filter number używane, zmodyfikuj numer wydruku, aby poprawnie wypisać nazwy klientów, jeśli powyższy przykład nie zwróci oczekiwanych wyników.
- Przejrzyj plik za pomocą unikatowego polecenia, aby wyświetlić tylko jedno wystąpienie każdego klienta zgłaszanego problem:
cat client.out | uniq
Przykład:
[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':
Powyższe nazwy hostów zostały zmienione; Teraz, zamiast setek wpisów w daemon.raw, tylko jeden wpis dla każdego klienta zgłasza to zachowanie.
- Połącz się z systemami klienckimi zgłoszonymi za pomocą protokołu SSH lub Remote Desktop Protocol (RDP) i użyj wiersza poleceń root/administratora, aby uruchomić:
nsradmin -C -y -p nsrexecd "nsr peer information"
Uruchomienie tego polecenia zarówno na serwerze, jak i kliencie powinno zapewnić, że nsrladb w każdym systemie zawiera poprawne informacje o certyfikacie równorzędnym. W przypadku wykrycia niezgodności certyfikat zostanie usunięty, a następna próba połączenia między serwerem a klientem powinna wygenerować nowe.
Ten nsradmin Polecenie pokazuje, które hosty mają niezgodność i jakie działania zostały podjęte w danych wyjściowych.
Ręczne usuwanie informacji równorzędnych opisano szczegółowo w artykule NetWorker: Naprawianie niespójnych informacji równorzędnych NSR
- Pliki wyjściowe można usunąć, gdy nie są już potrzebne:
rm -rf filename
Host Windows:
- Otwórz wiersz poleceń programu Windows PowerShell jako administrator.
- Zmień katalogi na katalog dziennika NetWorker:
cd "C:\Program Files\EMC NetWorker\nsr\logs"
W przykładzie założono, że używana jest domyślna lokalizacja instalacji. Jeśli zainstalowano NetWorker w innej lokalizacji, odpowiednio zmodyfikuj polecenie.
- Renderowanie
daemon.raw:
nsr_render_log -S "1 weeks ago" daemon.raw > daemon.out
UWAGA: Ten przykład renderuje tylko wiadomości z ostatniego tygodnia. Pozwala to uniknąć sprawdzania problemów równorzędnych, które mogą już nie występować. Inne filtry są wyjaśnione w: NetWorker: korzystanie z nsr_render_log
- Utwórz plik zawierający tylko błędy połączenia uwierzytelniania GSS:
elect-String -Path .\daemon.out -pattern "SSL handshake" > GSS_error.out
lub:
Select-String -Path .\daemon.out -pattern "NSR peer information" > GSS_error.out
UWAGA: W zależności od zaobserwowanego błędu uwierzytelniania GSS zmień "
filter" używane przez grep , aby zebrać wymagane dane wyjściowe.
- Wygeneruj dane wyjściowe pokazujące unikatowe systemy zgłaszające błędy uwierzytelniania GSS:
Get-Content .\GSS_error.out | %{ $_.Split(' ')[9]; } | Sort | Unique
filter number używane, zmień numer wydruku, aby wyświetlić nazwy klientów, jeśli powyższy przykład nie zwróci oczekiwanych wyników.
Przykład:
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
- Połącz się z systemami klienckimi zgłoszonymi za pomocą SSH lub RDP i użyj wiersza poleceń root/administratora, aby uruchomić:
nsradmin -C -y -p nsrexecd "nsr peer information"
Uruchomienie tego polecenia zarówno na serwerze, jak i kliencie powinno zapewnić, że nsrladb w każdym systemie zawiera poprawne informacje o certyfikacie równorzędnym. W przypadku wykrycia niezgodności certyfikat zostanie usunięty, a następna próba połączenia między serwerem a klientem powinna wygenerować nowe.
Ten nsradmin Polecenie pokazuje, które hosty mają niezgodność i jakie działania zostały podjęte w danych wyjściowych.
Ręczne usuwanie informacji równorzędnych opisano szczegółowo w artykule NetWorker: Naprawianie niespójnych informacji równorzędnych NSR
- Pliki wyjściowe można usunąć, gdy nie są już potrzebne.