Avamar — FLR — Linux Os scripts wget da FLR falham quando o proxy HTTP é configurado na máquina virtual.

Summary: Avamar – FLR – falha ao restaurar arquivos pela rede devido à VM do Linux de destino usando proxy de Internet interno para tráfego "wget"

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

No registro de restauração de FLR do Avamar, vemos o seguinte: 
avvmwfile Error <0000>: Failed to restore files via network, check proxy log for details
avvmwfile Error <0000>: assist_restore error. ret: 157
Nos logs flr do proxy Avamar:   /usr/local/avamaravamarclient/logs/VmwareFlr.log vemos que o script flr gerado automaticamente "flrTBow8V" está sendo executado dentro do sistema operacional convidado de máquinas virtuais.   No entanto, o script não foi bem-sucedido (Nota: apenas o código de saída 0 indicaria um sucesso, qualquer outro número é um código de falha) O código de saída de falha neste log era 8. 
ExecuteProgram failed. script text:/bin/bash /root/flrTBow8V, Return: 0, script return code: 8
FLRBase:: ScriptUploadAndExecute failed

No registro de script FLR do Avamar , vemos o seguinte /usr/local/avamaravamarclient/logs/flrTBow8V.err 
<DATE>  https://Avamar-proxy-IP/download/<uuid>
Resolving internetproxy.example.com (internetproxy.example.com)... 10.2.3.4 
Connecting to internetproxy.example.com (internetproxy.example.com )|10.2.3.4|:3128... connected.

WARNING: cannot verify 10.1.4.50's certificate, issued by ‘/C=US/ST=California/L=Irvine/O=Dell Technologies/OU=Dell EMC/CN=Administrator’:
  Self-signed certificate encountered.
    WARNING: certificate common name ‘Administrator’ doesn't match requested host name ‘10.1.4.50’.Proxy request sent, awaiting response...
  HTTP/1.1 500 Failed to exec CGI
  Connection: close
  X-Frame-Options: SAMEORIGIN
  X-Content-Type-Options: nosniff
  Strict-Transport-Security: max-age=31536000;includeSubDomains
  X-XSS-Protection: 1; mode=block
  Cache-Control: must-revalidate,no-cache,no-store
  Content-Type: text/html;charset=iso-8859-1
  Content-Length: 368
  Server: Jetty(9.4.19.v20190610)
<DATE> ERROR 500: Failed to exec CGI.

ecode: "8"

Cause

Esse é um problema ambiental desencadeado pela configuração não padrão do Linux. 

No arquivo de saída do script flr (flrTBow8V.err) podemos ver que o tráfego está fluindo através da internet do cliente http proxy internetproxy.example.com

Problema: Por motivos de segurança, somente a máquina virtual de destino tem permissão para fazer download de arquivos para esse trabalho/script FLR específico.  

O PROXY HTTP faz com que o endereço IP recebido NÃO corresponda ao endereço IP da máquina virtual de destino e aciona o código de status HTTP 500.   


Configuração:  
  No sistema operacional convidado da máquina virtual, um arquivo de configuração wget ( ~/.wgetrc ou /usr/local/etc/wgetrc) tem um proxy HTTP configurado.    

https_proxy  =  http://internetproxy.example.com:3128
 

Resolution

Resolução: 

Para resolver esse problema, precisamos garantir que o script FLR NÃO use o proxy http alterando o modelo de especificação de script wget.  

     

Passos:
1. Faça SSH no proxy
Avamar 2. Edite o script do modelo wget no seguinte local: 
/usr/local/avamarclient/bin/wget_linux_script.template
3.  Adicione a opção de comando wget "--no-proxy"

Exemplo de configuração antes da alteração:
#!/bin/bash
logfile=$0.err
url=https://%s/download
token=%s
files=(%s)
exit_code=0
for file in "${files[@]}";do
        IFS='","' read filepath dest  <<< "$file"
        wget "$url/$filepath" -N -nH -x -P "$dest" --no-check-certificate -S --restrict-file-names=nocontrol  --no-parent --tries 5 --header="Authorization:$token" --cut-dirs=2 --content-disposition 2>>$logfile
        let exit_code=$exit_code+$?
        if Avamar_PlaceHolderFile=$filepath; then
           rm -f "$dest/$filepath"
        fi
done
# delete it self after finish execution
rm -f "$0"
echo "ecode: \"$exit_code\"" >> $logfile
exit $exit_code

Exemplo de configuração APÓS alteração:
#!/bin/bash
logfile=$0.err
url=https://%s/download
token=%s
files=(%s)
exit_code=0
for file in "${files[@]}";do
        IFS='","' read filepath dest  <<< "$file"
        wget "$url/$filepath" -N --no-proxy -nH -x -P "$dest" --no-check-certificate -S --restrict-file-names=nocontrol  --no-parent --tries 5 --header="Authorization:$token" --cut-dirs=2 --content-disposition 2>>$logfile
        let exit_code=$exit_code+$?
        if Avamar_PlaceHolderFile=$filepath; then
           rm -f "$dest/$filepath"
        fi
done
# delete it self after finish execution
rm -f "$0"
echo "ecode: \"$exit_code\"" >> $logfile
exit $exit_code
4. Reinicie o webservice vmwareflr no proxy.   (ou reinicialize o proxy)
192proxy:~ #  systemctl restart vmwareflr.service

Affected Products

Avamar

Products

Avamar Client for VMware
Article Properties
Article Number: 000183577
Article Type: Solution
Last Modified: 05 Sep 2021
Version:  5
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.