Os backups do vApp do DPE falham com o erro "erro vmwappimage <19591>" devido a problemas no balanceador de carga
Summary: Os backups do DPE vApp falham com o erro "vmwappimage Error <19591>: httpPost: http_code: 500 sending to url 'https://localhost:8080/vcp-ba-vappplugin-ws/vapp'" devido a problemas no balanceador de carga. Balanceadores de carga, como o balanceador de carga CloudFlare, são conhecidos por causar o erro HTTP 524 Origin Time-out, causando falha nos backups. ...
Symptoms
O log de backup pode apresentar a seguinte mensagem de erro:
2021-02-08 10:02:50 vmwappimage Info <19594>: httpPost: url https://localhost:8080/vcp-ba-vappplugin-ws/vapp 2021-02-08 10:03:22 vmwappimage Error <19591>: httpPost: http_code: 500 sending to url 'https://localhost:8080/vcp-ba-vappplugin-ws/vapp' 2021-02-08 10:03:22 vmwappimage Info <9772>: Starting graceful (staged) termination, Prep-for-backup message to ADS failed (wrap-up stage) 2021-02-08 10:03:22 vmwappimage Error <0000>: Prep-for-backup message to ADS failed 2021-02-08 10:03:22 vmwappimage Info <19594>: httpPost: url https://localhost:8080/vcp-ba-vappplugin-ws/vapp 2021-02-08 10:03:45 vmwappimage Error <19591>: httpPost: http_code: 500 sending to url 'https://localhost:8080/vcp-ba-vappplugin-ws/vapp' 2021-02-08 10:03:45 vmwappimage Error <17707>: Post backup-complete message to ADS failed. 2021-02-08 10:03:45 vmwappimage Info <16038>: Final summary, cancelled/aborted 0, snapview 0, exitcode 157: miscellaneous error
O vcdsdk.log no VPA em "/var/log/vcp/srv/vcdsdk.log" mostra o seguinte erro:
> 2021-02-12 11:58:37,368 [AMQP listener 9] INFO (RestUtil.java:329) - Response - <html> > <head><title>524 Origin Time-out</title></head> > <body bgcolor="white"> > <center><h1>524 Origin Time-out</h1></center> > <hr><center>cloudflare-nginx</center> > </body> > </html>
Etapas para ativar a depuração da API do Cloud:
- Faça log-in no nó principal do VCP
- Editar arquivos
/etc/vcp/srv/vcpsrv-log4j2.xml - Conteúdo original:
<Logger name="com.vmware" level="info" additivity="true" />
Altere esta linha para ler:
<Logger name="com.vmware" level="debug" additivity="true" /> - Reinicie o serviço bg e srv,
vcp-cli bg update -p <MASTER-PASSWORD> <BG-INSTANCE-NAME>
vcp-cli srv update -p <MASTER-PASSWORD> <SRV-CELL-INSTANCE-NAME>
A execução de um nslookup em um FQDN do vCloud Director a partir do VPA mostra vários endereços IP.
O cliente confirma que tem um balanceador de carga configurado.
Cause
Os serviços Backup Gateway que tentam conectar-se ao vCloud Director estão alcançando o balanceador de carga CloudFlare. A solicitação de API falha no balanceador de carga da CloudFlare causando o problema.
O balanceador de carga CloudFlare de código de retorno fornece o seguinte:
2021-02-12 11:58:37,368 [AMQP listener 9] INFO (RestUtil.java:329) - Response - <html> > <head><title>524 Origin Time-out</title></head> > <body bgcolor="white"> > <center><h1>524 Origin Time-out</h1></center> > <hr><center>cloudflare-nginx</center> > </body> > </html>
Resolution
-
Confirme com o cliente se ele tem um balanceador de carga configurado entre os componentes do VPA, como gateways de backup e assim por diante, e o diretor do vCloud.
-
Adicione entradas de arquivo host local para todas as VMs de contêiner do docker para forçar manualmente os componentes do DPE a se conectarem ao vCloud Director usando um endereço IP privado ignorando o balanceador de carga.
-
Nas versões do DPE anteriores à 19.4, as entradas do arquivo host podem ser criadas em VMs individuais do DPE, como a VM SRV-Cell, a VM do gateway de backup e assim por diante
-
Nas versões 19.4 e posteriores do DPE, é preciso fazer alterações em cada contêiner do Docker.
- Abra o SSH para a VM do VPA
- Execute o seguinte comando para buscar a lista de contêineres do docker:
docker ps - Execute o seguinte comando para entrar no contêiner do docker:
docker exec -it <first 2 digits of containerid> /bin/bash - Execute o seguinte comando para atualizar os registros de arquivos dos hosts locais:
echo "IP_ADDRESS FQDN SHORTNAME" >> /etc/hosts