Dell VNX: Nie można uzyskać dostępu do interfejsu sieciowego Unisphere UI po aktualizacji
Summary: Po uaktualnieniu kodu OE Unisphere stał się niedostępny, plik httpd.conf powrócił do wartości domyślnych i po wprowadzeniu dodatkowej spacji powodował problemy ze skryptem Apache. (możliwość korekty z poziomu użytkownika) ...
Symptoms
Uaktualnienia Flare OE i NAS.
Nie można uzyskać dostępu do interfejsu sieciowego Unisphere po flarze OE i uaktualnieniu kodu NAS. Unisphere stał się niedostępny, plik httpd.conf powrócił do wartości domyślnych, a po wprowadzeniu dodatkowej spacji powodował problemy ze skryptem Apache.
Cause
Klient musiał ponownie edytować /nas/http/conf/httpd.conf po uaktualnieniu, ponieważ plik powrócił do ustawień domyślnych.
W takim przypadku klient musiał ponownie dodać szyfry zabezpieczeń w wierszu SSLCipherSuite. Jednak każdy błąd w edycji, taki jak pozostawienie dodatkowego miejsca w pliku, może spowodować niepowodzenie skryptu Apache.
Resolution
Aby potwierdzić problem z plikiem httpd.conf, sprawdź wystąpienia błędów dotyczące Apache i Tomcat "unexpectedly exited" za pomocą następujących poleceń:
/nas/tools/dbchk -wvxpV nas_logviewer /nas/log/sys_log | grep -i apache | tail nas_logviewer /nas/log/sys_log | grep -i tomcat | tail cat /var/log/messages | grep -i tomcat | tail cat /var/log/messages | grep -i apache | tail cat /nas/tomcat/logs/catalina.out | grep -i error | tail
Sprawdź błędy składniowe w pliku apache_restart.out za pomocą następującego polecenia:
cat /nas/http/logs/apache_restart.out | grep -i syntax | tail
Aby potwierdzić problemy z httpd.conf:
Wykonaj vi lub mniej w pliku /nas/http/conf/httpd.conf i wyszukaj numer wiersza, który widzisz z błędem składni z apache_restart.out. Następnie sprawdź ten sam numer pliku i wiersza w tablicy laboratoryjnej, aby określić, gdzie znajduje się dodatkowa spacja lub nieprawidłowy/brakujący znak i edytuj, aby rozwiązać.
Po potwierdzeniu problemu z edycją pliku httpd.conf:
W przykładzie SSLCipherSuite, należy edytować vi i usunąć dodatkową spację w tym wierszu, aby zmienić go z jednego wiersza podzielonego na dwa wiersze z powrotem na pojedynczy wiersz:
< # SSL Cipher Suite: < # List the ciphers that the client is permitted to negotiate. < # See the mod_ssl documentation for a complete list. < #SSLCipherSuite ALL:!ADH:!DH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:-MEDIUM:-LOW < SSLCipherSuite < ALL:!ADH:!DH:!EXPORT:!SSLv2:+HIGH:-MEDIUM:-LOW
Po usunięciu dodatkowego miejsca wyglądałoby to następująco:
< # SSL Cipher Suite: < # List the ciphers that the client is permitted to negotiate. < # See the mod_ssl documentation for a complete list. < #SSLCipherSuite ALL:!ADH:!DH:!EXPORT:!SSLv2:+HIGH:-MEDIUM:-LOW < SSLCipherSuite ALL:!ADH:!DH:!EXPORT:!SSLv2:+HIGH:-MEDIUM:-LOW
Po naprawieniu błędu edycji w pliku httpd.conf potwierdź, że błędy zostały zatrzymane, przeglądając dzienniki ponownie za pomocą polecenia:
tail -f on /var/log/messages
i
/nas/http/logs/apache_restart.out
Błędy mają tendencję do przesyłania strumieniowego i zatrzymują się zaraz po naprawieniu edycji problemu.
Pamiętać: Powyższy przykład pokazuje spację dodaną do pojedynczego wiersza, który dzieli go i powoduje, że w pliku znajdują się dwa oddzielne wiersze. Ale musiałbyś ocenić każdy przypadek z osobna i odpowiednio poprawić, czy to dodatkowe spacje, usunięte spacje, czy literówki.
Additional Information
Z /nas/log/syslog:
# nas_logviewer /nas/log/sys_log | grep -i apache | tail -5 Sep 11 11:48:25 2019:CS_PLATFORM:MasterControl:EMERGENCY:6:::::Daemon Apache daemon unexpectedly exited (status = 0); ifexit=1, exitstatus=0, ifsignal=0, termsig=0, ifstop=0, stopsig=0, ifdump=0. Sep 11 11:48:25 2019:CS_PLATFORM:MasterControl:EMERGENCY:6:::::Daemon Apache daemon unexpectedly exited (status = 0); ifexit=1, exitstatus=0, ifsignal=0, termsig=0, ifstop=0, stopsig=0, ifdump=0. Sep 11 11:48:25 2019:CS_PLATFORM:MasterControl:EMERGENCY:6:::::Daemon Apache daemon unexpectedly exited (status = 0); ifexit=1, exitstatus=0, ifsignal=0, termsig=0, ifstop=0, stopsig=0, ifdump=0. Sep 11 11:48:26 2019:CS_PLATFORM:MasterControl:EMERGENCY:6:::::Daemon Apache daemon unexpectedly exited (status = 0); ifexit=1, exitstatus=0, ifsignal=0, termsig=0, ifstop=0, stopsig=0, ifdump=0. Sep 11 11:48:26 2019:CS_PLATFORM:MasterControl:EMERGENCY:15:::::Apache daemon respawning too fast; disabled for 5 minutes.
Z /nas/tomcat/logs/catalina.out: Może zostać wyświetlony komunikat "BARDZO: Komunikat "Error decoding request".
Aug 28, 2019 8:23:31 PM org.apache.jk.common.ChannelSocket processConnection WARNING: processCallbacks status 2 Aug 28, 2019 8:23:31 PM org.apache.jk.common.HandlerRequest invoke SEVERE: Error decoding request java.io.CharConversionException: Invalid char in port: 58 at org.apache.jk.common.HandlerRequest.parseHost(HandlerRequest.java:658) at org.apache.jk.common.HandlerRequest.decodeRequest(HandlerRequest.java:404) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:261) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697) at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690) at java.lang.Thread.run(Unknown Source) Aug 28, 2019 8:23:31 PM org.apache.jk.common.ChannelSocket processConnection WARNING: processCallbacks status 2 Wed Sep 4 10:24:48 CDT 2019 Starting tomcat web server.
Jeśli z jakiegokolwiek powodu konieczne jest ponowne uruchomienie serwerów Tomcat, Apache i httpd po potwierdzeniu, że plik httpd.conf nie ma dalszych problemów, można to zrobić za pomocą następującego polecenia:
/nas/http/nas_ezadm/etc/script restart
Należy zauważyć, że ponowne uruchomienie samego Apache/Tomcat/httpd nie ma żadnego efektu, jeśli jest to potwierdzony problem lub błąd w edycji vi pliku, dopóki błąd edycji nie zostanie poprawiony. Jeśli plik httpd.conf ma nieprawidłową składnię, zostanie wyświetlony komunikat "SEVERE: Catalina.stop: java.net.ConnectException: Błąd "Connection refused (Connection refused)", który pojawia się podczas ponownego uruchamiania usług.
Możesz także sprawdzić zwykłe polecenie getagent:
/nas/sbin/naviseccli -h SPA getagent
Następnie sprawdź również certyfikaty bezpieczeństwa, aby upewnić się, że nie ma żadnych problemów:
# /nas/sbin/naviseccli -h SPA -user sysadmin -password sysadmin -scope 0 getagent Agent Rev: 7.33.9 (2.36) Name: K10 Desc: Node: A-APM00xxxxxxxxx Physical Node: K10 Signature: 3854449 Peer Signature: 3698693 Revision: 05.33.009.5.238 SCSI Id: 0 Model: VNX7600 Model Type: Rackmount Prom Rev: 33.51.00 SP Memory: 65536 Serial No: APM00xxxxxxxxx SP Identifier: A Cabinet: DPE9
Jeśli polecenie security naviseccli zakończy się niepowodzeniem, przeszukaj bazę wiedzy, korzystając z następujących poleceń, aby znaleźć kilka powiązanych artykułów bazy wiedzy:
VNX: /nas/sbin/naviseccli -h SPA -user <user> -password <password> -scope 0 getagent