Los respaldos del dispositivo virtual del DPE fallan con el error "vmwappimage Error <19591>" debido a problemas con el balanceador de carga
Summary: Los respaldos de vApp del DPE fallan con el error "vmwappimage Error <19591>: httpPost: http_code: 500 redirige a la dirección URL "https://localhost:8080/vcp-ba-vappplugin-ws/vapp" debido a problemas con el equilibrador de carga. Se sabe que los equilibradores de carga, como el de CloudFlare, causan un error de tiempo de espera agotado de origen HTTP 524 que provoca la falla de los respaldos. ...
Symptoms
Es posible que el registro del respaldo muestre el siguiente mensaje de error:
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
La vcdsdk.log en el VPA en "/var/log/vcp/srv/vcdsdk.log" muestra el siguiente error:
> 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>
Pasos para activar la depuración de la API de la nube:
- Iniciar sesión en el nodo primario de VCP
- Editar archivos
/etc/vcp/srv/vcpsrv-log4j2.xml - Contenido original:
<Logger name="com.vmware" level="info" additivity="true" />
Cambie esta línea para que diga:
<Logger name="com.vmware" level="debug" additivity="true" /> - Reinicie el servicio bg y srv,
vcp-cli bg update -p <MASTER-PASSWORD> <BG-INSTANCE-NAME>
vcp-cli srv update -p <MASTER-PASSWORD> <SRV-CELL-INSTANCE-NAME>
La ejecución de un nslookup en un FQDN de vCloud Director desde VPA muestra varias direcciones IP.
El cliente confirma que tiene configurado un balanceador de carga.
Cause
Las puertas de enlace de respaldo que intentan conectarse a vCloud Director están alcanzando el equilibrador de carga CloudFlare. La solicitud de la API falla en el balanceador de carga de CloudFlare, lo que causa el problema.
El código de retorno del balanceador de carga de CloudFlare proporciona lo siguiente:
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 con el cliente si tiene un balanceador de carga configurado entre los componentes de VPA, como gateways de respaldo, etc., y vCloud Director.
-
Agregue entradas de archivo de host local para todas las VM de contenedores de Docker para forzar manualmente a los componentes del DPE a conectarse a vCloud Director mediante la dirección IP privada omitiendo el balanceador de carga.
-
En las versiones de DPE anteriores a 19.4, las entradas de archivos de host se pueden crear en VM de DPE individuales, como VM de celda SRV, VM de gateway de respaldo, etc.
-
En DPE versión 19.4 y superior, se deben realizar cambios en cada contenedor Docker.
- Abra SSH en la máquina virtual VPA
- Ejecute el siguiente comando para obtener la lista de contenedores de Docker:
docker ps - Ejecute el siguiente comando para ingresar al contenedor de Docker:
docker exec -it <first 2 digits of containerid> /bin/bash - Ejecute el siguiente comando para actualizar los registros de archivos de los hosts locales:
echo "IP_ADDRESS FQDN SHORTNAME" >> /etc/hosts