Dell VNX: Não é possível acessar a interface Web da interface do usuário do Unisphere após o upgrade
Summary: Depois que um upgrade de código OE do Unisphere ficou inacessível, o arquivo httpd.conf voltou ao padrão e, após a edição, um espaço extra foi inserido, causando problemas com o script apache. (Corrigível pelo usuário) ...
Symptoms
Upgrades de OE e NAS do Flare.
Não é possível acessar a interface Web do Unisphere após um upgrade de código OE Flare e NAS. O Unisphere ficou inacessível, o arquivo httpd.conf voltou ao padrão e, após a edição, um espaço extra foi inserido, causando problemas com o script Apache.
Cause
O cliente teve que reeditar o arquivo /nas/http/conf/httpd.conf após um upgrade, pois o arquivo é revertido para as configurações padrão.
Nesse caso, o cliente teve que adicionar novamente cifras de segurança à linha SSLCipherSuite. No entanto, qualquer erro na edição, como deixar um espaço extra no arquivo, pode causar falha no script Apache.
Resolution
Para confirmar um problema com o arquivo httpd.conf, verifique as instâncias de erro relacionadas ao Apache e ao Tomcat "encerraram inesperadamente" usando os seguintes comandos:
/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
Verifique se há erros de sintaxe no arquivo apache_restart.out usando o seguinte comando:
cat /nas/http/logs/apache_restart.out | grep -i syntax | tail
Para confirmar problemas com o httpd.conf:
Faça um vi ou menos no arquivo /nas/http/conf/httpd.conf e procure o número da linha que você vê com o erro de sintaxe de apache_restart.out. Em seguida, verifique o mesmo arquivo e número de linha em um array de laboratório para determinar onde está o espaço extra ou o caractere incorreto/ausente e edite para resolver.
Depois de confirmar um problema de edição com o arquivo httpd.conf:
Para o exemplo SSLCipherSuite, você veri editar e remover o espaço extra nessa linha para alterá-lo de uma linha quebrada em duas linhas de volta para uma única linha:
< # 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
Depois de remover o espaço extra, ficaria assim:
< # 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
Depois de corrigir o erro de edição no arquivo httpd.conf, confirme se os erros foram interrompidos analisando os logs novamente com:
tail -f on /var/log/messages
E
/nas/http/logs/apache_restart.out
Os erros tendem a ser de streaming e param logo após a correção do problema, edite.
Lembrar: O exemplo acima mostra um espaço adicionado a uma única linha dividindo-o e fazendo com que ele tenha duas linhas separadas no arquivo. Mas você teria que avaliar caso a caso e corrigir de acordo, seja espaços extras, espaços removidos ou erros de digitação.
Additional Information
Em /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.
Em /nas/tomcat/logs/catalina.out: Você pode ver um "GRAVE: Mensagem de solicitação de decodificação de erro".
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.
Se, por qualquer motivo, for necessário reiniciar o Tomcat, Apache e httpd depois de confirmar que o arquivo httpd.conf não tem mais problemas, você poderá fazer isso usando este comando:
/nas/http/nas_ezadm/etc/script restart
Deve-se notar que reiniciar o Apache/Tomcat/httpd sozinho não tem efeito se este for um problema confirmado ou erro na edição vi do arquivo, até que o erro de edição seja corrigido. Se o arquivo httpd.conf tiver alguma sintaxe defeituosa, você verá "GRAVE: Catalina.stop: java.net.ConnectException: Erro Connection refused (Connection refused)" que apareceria durante a reinicialização dos serviços.
Além disso, você pode verificar um comando getagent regular:
/nas/sbin/naviseccli -h SPA getagent
Em seguida, verifique também os credos de segurança para ter certeza de que não há problemas:
# /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
Se o comando security naviseccli falhar, faça uma pesquisa de KBA usando o seguinte para localizar vários artigos da KB relacionados:
VNX: /nas/sbin/naviseccli -h SPA -user <user> -password <password> -scope 0 getagent